Actualizar tabla sin cerrar/abrir aplicación access

Solicito por favor su amable ayuda en lo siguiente: En concurridas ocasiones los clientes solicitan se les extiendan "Solvencias" y la política es que éstas tengan validez 24 horas y por lo tanto estos clientes en específico deben permanecer en un estado "Inactivo".

Para el efecto he creado una tabla 14BitacoraSolvencia donde registro el CodSolv (código de solvencia), Carnet (del cliente), Fecha (de la solvencia), ojo este último campo es el que me sirve para calcular la diferencia entre fecha/hora. En la tabla 06CLIENTES Carnet (del cliente), Nombres (etc), Activado (sí/No), éste último me indica el estado del cliente.

DoCmd.RunSQL "UPDATE 06CLIENTES INNER JOIN 14BitacoraSolvencias ON 06CLIENTES.Carnet = 14BitacoraSolvencias.Carnet SET 06CLIENTES.Activado = True WHERE DateDiff("h", [FECHA], Now()) >= 24"

El código arriba descrito lo he colocado en el formulario 01IntroBibcunizab, el cual se abre inmediatamente de pulsar el icono de la aplicación, su acción es:  Abre un clip de vídeo de 9 segundos aprox, acto segido se abre otro formulario de Login.

Option Compare Database
Option Explicit
Private Sub Form_Load()
Me.TimerInterval = 9500
DoCmd.RunSQL "UPDATE 06CLIENTES INNER JOIN 14BitacoraSolvencias ON 06CLIENTES.Carnet = 14BitacoraSolvencias.Carnet SET 06CLIENTES.Activado = True WHERE DateDiff("h", [FECHA], Now()) >= 24"
End Sub
Private Sub Form_Timer()
DoCmd. Close acForm, Me. Name
DoCmd. OpenForm "02IDENTIFICACIÓN USUARIOS", acNormal
End Sub

El problema es, que para empezar, el primer código descrito se me ha marcado en rojo, (algo no está bien).

Luego quisiera que hiciera su función, sabiendo de antemano, por un lado, que la aplicación no se va a cerrar en ningún momento, excepto de cuando en cuando por mantenimiento al igual que la PC; y por otro, que la tarea sea automática, es decir que el usuario no tiene que accionar ningún botón ni nada por el estilo, dado a que son muchísimos clientes y tantos que también solicitan "Solvencia" que el usuario se volvería loco para estar actualizando esto manualmente.

Los pasos ya programados son: Al cliente se le revisa su "Estado", si está activo entonces se imprime la Solvencia (contrario no), al imprimir se quita el check de Activado. De aquí en adelante es el asunto "volver al estado Activado" luego de pasadas 24 horas.

Espero no haber sido tan enredado, si desean alguna explicación puntual, por favor me dicen. Desde ya muy agradecido por su finísima atención y amabilidad al ayudarme.

1 Respuesta

Respuesta
1

He preparado un ejemplo con lo que interpreto que necesitas y Resumo.

Desactivar el Campo "Activado" al generar una Solvencia, por 24 Horas y Activarlo una vez pasado ese tiempo.

El enlace para descargar el ejemplo es éste:

http://www.mediafire.com/download/488gbw3pf6ovyba/SINOAutomaticoAlVencerHora.rar 

Si he acertado me lo comentas, porque aún le falta un poco de código.

¡Gracias! ¡Qué montón de código, jeje y aún dices que falta más!

Me parece buena la idea de incluir la fecha/hora de Activación de nuevo; me imagino que de esa manera se le diría al programa, que cuando llegue a esa fecha/hora se Active.

Lo que citas es afirmativo "Desactivar el campo Activado al imprimir una solvencia, por 24 hrs y Activarlo una vez pasado ese tiempo".  La primera parte ya lo he conseguido con el código que describo al consultar;  me falta conseguir la parte de volver a Activarlo. Pero he ahí el detalle cuando no se es experto.

Reitero mi más sincero agradecimiento, al compartir tu tiempo y conocimientos.

Saludos cordiales!!! 

De Nuevo contigo:

En éste enlace, te dejo el Fichero que yo doy por terminado.

http://www.mediafire.com/download/416wrkwnjy696ar/CierraSolvencias.rar 

Si tienes dudas me comentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas