| |||
Ejecutar procedimientos automaticos Por favor necesito saber como hacer, para lograr que una sentencia corra de manera automatica, cada cierto tiempo con unos datos que yo tengo en una base de datos Acces, por favor AYUDA |
| |||
Re: Ejecutar procedimientos automaticos Tienes que insertar un Timer. El Timer es muy fácil de usar. Tienes que asignarle un intervalo (1000 equivale a un segundo) y también tienes que activarlo (Timer1.enabled=true). Lo que hace el Timer es que cada X tiempo ejecuta un evento, al que puedes acceder en tiempo de diseño haciendo click sobre el timer. Por supuesto, es un objeto invisible. No sé si esto te vale, o si me estoy pasando de listo y lo que preguntas es otra cosa. Un saludo |
| |||
Re: Ejecutar procedimientos automaticos chamo esta bien tu respuesta, pero yo lo que quiero es que todos los fines de mes se jecute de manera automatica una rutina, tu crees que se pueda hacer con eso??? |
| |||
Re: Ejecutar procedimientos automaticos Claro que se puede Sr. Al timer lo programas para que se ejecute cada (1000) 1 segundo, y este es un reloj que va a estar corriendo en tu aplicacion... Ademas tendras 1 variable que guardará la fecha en que quieres el evento '----- Dim FechaEvento as date Dim FechaActual as date en el timer if date()=fechaevento then ejecutas lo que necesitas endif y TAN TAN
__________________ |
| |||
Y por qué no un .exe o .bat que se ejecute como tarea programada de Windows? Hola Yo lo que hago con este tema es lo siguiente: - Hago un ejecutable que corra las instrucciones que me interesan. - Creo una tarea programada en Windows que ejecute el ejecutable (uf!!) cada vez que me interese, por ejemplo, determinados días de la semana. No se si te sirva. Sobre el trabajo desde VB6 con MS-DOS, aquí te va un ejemplo por si te sirve de algo. Saludos. ................................................ Public Comando As String Private Const PROCESS_QUERY_INFORMATION = &H400 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 VCadena As String Private VCadena1 As String Private VCadena2 As String Private VMonth1 As String Private VDay1 As String Private VYear1 As String Private VHour1 As String Private VMinute1 As String Sub EsperarShell(sCmd As String) Dim hShell As Long Dim hProc As Long Dim codExit As Long ' ejecutar comando hShell = Shell(Environ$("Comspec") & " /c " & sCmd, 2) ' esperar a que se complete el proceso hProc = OpenProcess(PROCESS_QUERY_INFORMATION, False, hShell) Do GetExitCodeProcess hProc, codExit DoEvents Loop While codExit = STILL_ACTIVE 'MsgBox "El Proceso ha Terminado", vbInformation + vbOKOnly, "Mensaje" End Sub Private Sub MSDOS() 'Supongamos que la fecha 14 de octubre VYear1 = Trim(Str(Year(Date))) VYear1 = Right(VYear1, 2) VMonth1 = Trim(Str(Month(Date))) If Val(VMonth1) < 10 Then VMonth1 = "0" & VMonth1 End If VDay1 = Trim(Str(Day(Date))) If Val(VDay1) < 10 Then VDay1 = "0" & VDay1 End If VHour1 = Trim(Str(Hour(Time))) If Val(VHour1) < 10 Then VHour1 = "0" & VHour1 End If VMinute1 = Trim(Str(Minute(Time))) If Val(VMinute1) < 10 Then VMinute1 = "0" & VMinute1 End If VCadena1 = VYear1 & VMonth1 & VDay1 & "_" & VHour1 & VMinute1 & "_" & "AST" 'VCadena1="071014_2215_AST" VCadena = "MD Z:\AUTI\BCK\A" & VYear1 'VCadena = MD Z:\AUTI\BCK\A07 Comando = VCadena EsperarShell (Comando) VCadena = "XCOPY /S Z:\AUTI\AST\*.* Z:\AUTI\BCK\A" & VYear1 'VCadena = XCOPY /S Z:\AUTI\AST\*.* Z:\AUTI\BCK\A07 (Salva las bases) Comando = VCadena EsperarShell (Comando) VCadena = "PKZIP -ASalt A" & VYear1 & " Z:\AUTI\BCK\A" & VYear1 & "\*.*" 'VCadena = PKZIP -ASalt A07 Z:\AUTI\BCK\A07\*.* 'Crea fichero A07.zip, con clave "alt", en el que compacta el contenido de Z:\AUTI\BCK\A07\*.* Comando = VCadena EsperarShell (Comando) VCadena = "RENAME A07.zip " & VCadena1 & ".zip" 'VCadena = RENAME A07.zip 071014_2215_AST Comando = VCadena EsperarShell (Comando) VCadena = "RD /S/Q Z:\AUTI\BCK\A" & VYear1 'VCadena = RD /S/Q Z:\AUTI\BCK\A07 'Borra el directorio y queda sólo el compactado Comando = VCadena EsperarShell (Comando) End Sub Private Sub Form_Load() MSDOS End End Sub |