Utilizamos Cookies de terceros para generar estadísticas de audiencia y mostrar publicidad personalizada analizando tu navegación. Si sigues navegando estarás aceptando su uso. Más información X
PortadaForo AyudaTutoriales
InicioForosForo Programación

Problemas con comando shell-ayuda

Kare
2007-03-06 06:58 - Respuestas: 9 - Tema nº: 2438549


Características: Windows XP Profesional, 512,p4,500,20.

Hola, tengo un problema con el comando shell,
el código es el siguiente:
Shell ("d:\formatos decontrol\EnviaMail.bat"), vbMaximizedFocus

si ejecuto el archivo EnviaMail.bat, desde el directorio \formatos decontrol de manera manual, todo está bien, pero cuando lo hago desde visual , no pasa nada y lo raro es que ya lo ejecutaba todo bien en otra ocasión, no se a que se deba.
alguien podria ayudarme por favor
?¿?¿?¿

Posibles soluciones:
Problemas con comando shell-ayudaProblemas con comando shell-ayuda
Problemas con el comando de voz.Problemas con el comando de voz.
Problemas con comando buscarProblemas con comando buscar
Problemas con msdos y el comando restoreProblemas con msdos y el comando restore
Problemas al ejecutar comando desde cmdProblemas al ejecutar comando desde cmd
ebolo

Re: Problemas con comando shell-ayuda - 2007-03-06 09:32 - Respuesta 2

Hola kare, yo normalmente cuando uso sell lo igualo a una variable tipo long. Encontré este método por internet que funciona muy bien. Código:
' Declaramos variables api Private Const STILL_ACTIVE = &H103 Private Declare Function OpenProcess Lib "kernel32" _ (ByVal dwDesiredAccess&, ByVal bInheritHandle&, ByVal dwProcessId&) _ As Long Private Declare Function GetExitCodeProcess Lib "kernel32" _ (ByVal hProcess As Long, lpExitCode As Long) _ As Long Private Sub Command2_Click() Dim hShell As Long Dim hProc As Long Dim codExit As Long Dim sCmd as String sCmd="d:\formatos decontrol\EnviaMail.bat" ' ejecutar comando hShell = Shell(Environ$("Comspec") & " /c " & sCmd, 3) ' esperar a que se complete el proceso hProc = OpenProcess(PROCESS_QUERY_INFORMATION, False, hShell) Do GetExitCodeProcess hProc, codExit DoEvents Loop While codExit = STILL_ACTIVE End Sub Saludos.
Kare

Re: Problemas con comando shell-ayuda - 2007-03-09 05:12 - Respuesta 3

Hola ebolo, de antemano gracias por tu ayuda, pero sabes que probé con el código que me pasaste y lo unico que pasa es que parpadea pero no me ejecuta la acción del archivo .bat, no se a que se deba.Porque si lo ejecuto directamente desde el explorador si hace lo que debiera.
ebolo

Re: Problemas con comando shell-ayuda - 2007-03-09 11:15 - Respuesta 4

Hola kare, perdona el código que yo uso es para lanzar comandos de DOS, no para ejecutar un bat.
En éste caso cómo lo has puesto está casi bien
Shell ("d:\formatos decontrol\EnviaMail.bat", vbMaximizedFocus)
se cierra el paréntesis después del focus.
Aunque también los puedes quitar si la función no la iguales a nada:
Shell "d:\formatos decontrol\EnviaMail.bat", vbMaximizedFocus

También puedes ponerle un pause en el bat para ver cuando se abre la ventado del DOS ver si se ejecutan las cosas ó te da un error y no te da tiempo a verlo.

Un saludo.
Kare

Re: Problemas con comando shell-ayuda - 2007-03-09 11:50 - Respuesta 5

Gracias por tu respuesta y tu atención ebolo, precisamente es lo que hice y con la pausa si funcionó.
Oye no se si me pudieras ayudar con otros detalles, en este mismo sistema, estoy utilizando datareport para obtener reportes de la bdd, pero quiero en ese reporte tener cierta informació, por ejemplo quiero desplegar la información por el usuario "Juan", pero este yo capturarlo en un text1.text., etc, es decir quiero hacer determinado filtros.Para lo cual, lo unico que hago es configurar las propiedades del comando del dataenvironment y le agrego la consulta por ejemplo:
SELECT id, fecha, lider FROM tabla1 WHERE lider = ?
Yo quiero que ese ? sea reemplazado por el nombre que yo capture en el text1.text
pero ya le estuve buscando a ver de que manera podia hacerse pero ya nose por donde mas buscarle.
tambien probé con un datareport sin usar dataenvironment, todo mediante codigo, pero tengo dudas de como hacer una consulta cuando el dato por el que voy a filtrar es texto, como elk caso del text1.text, porque hago la consulta con numero y si funciona pero con texto me marca error y me dice que tengo pocos parametros, como que no está bien la consulta. Mira para explicarme mejor:

Private Sub Command1_Click()
Dim tel As Double
tel = 125263
Set rs = base.Execute("select * from Tabla1 where telefono =" & tel)
If rs.EOF = False Then
Set DataReport1.DataSource = rs
DataReport1.Show
End If
End Sub

con esta consulta si funciona, pero la quiero hacer para una cadena, es decir que la variable tel en vez de numero sea texto:

Dim tel As Double
nom = "maria"
Set rs = base.Execute("select * from Tabla1 where nombre=" & nom)
If rs.EOF = False Then
Set DataReport1.DataSource = rs
DataReport1.Show
End If

el error que me aparece con este codigo es el siguiente:
ODBC microsoft access driver too few parameters


Hay otro detalle, como estoy utilizando una bdd multiusuario, cuando despliego un reporte y posterior a esto trato de realizar otra operación por ejemplo dar de alta un registro en la bdd, me marca error debido a que la base de datos está siendo usada de manera exclusiva por mi máquina, esto me sucede cada vez que intento realizar una operación donde se utiliza la bdd una vez que desplegué un reporte, como que la base de datos se queda abierta; en este caso que podria hacer para cerrarla??

De antemano Gracias ebolo!!
Página:1 Siguiente

Respuestas relacionadas:

Problemas con el comando ejecutar y el administradorProblemas con el comando ejecutar y el administradorForo
Tengo problemas con el comando ntldrTengo problemas con el comando ntldrForo
Problemas para usar el comando editProblemas para usar el comando editForo
 problemas con el comando agregar o quitar programas problemas con el comando agregar o quitar programasForo
Tengo problemas con la carga de secuencias de comandoTengo problemas con la carga de secuencias de comandoForo
Comando de xpComando de xpForo
Comando ms-dosComando ms-dosForo
ComandoComandoForo
Comando lsComando lsForo
Comando ms-dosComando ms-dosForo
InicioSecciones
^ SubirAviso legal
Política Privacidad
Configurarequipos22 Noviembre 2024