Conocer Si una BD de ACCESS cambia, como si fuera un evento
-
jueves, 12 de julio de 2012 3:25
Hola.
Tengo un problema algo interesante de resolver.
Mediante código necesito saber si una BD cambia y al momento de que cambie ir a recuperar el último elemento.
El problema no es recuperar el último elemento, eso lo podría saber con una consulta como la siguiente.
"Select top 1 id from record order by id desc"
El verdadero problema radica en que esa BD no es alimentada por el programa en el cual necesito recuperar ese último registro. Si no que es un programa comercial que va alimentando la BD y yo para otros fines necesito recuperar el último registro al momento que este es insertado.
He estado pensando en como conocerlo y una sería estar consultando la BD cada segundo, pero no creo que sea lo más limpio.
Bueno de ante mano muchas gracias.
- Cambiado Enrique M. MontejoMVP domingo, 15 de julio de 2012 13:45 acceso a datos (De:Lenguaje VB.NET)
Todas las respuestas
-
jueves, 12 de julio de 2012 6:04Moderador
El verdadero problema radica en que esa BD no es alimentada por el programa en el cual necesito recuperar ese último registro. Si no que es un programa comercial que va alimentando la BD y yo para otros fines necesito recuperar el último registro al momento que este es insertado.
si usarias sql server ti diria que uses SqlDependency pra implementar esto que planteas, ya que esta clase expone exvento que informan si hay cambios en una query
pero tratandose de access me temo que no se puede, la unica forma de saber el ultimo es con un control timer cada cierto tiempo verificar la tabla y recuperar el ultimo id
He estado pensando en como conocerlo y una sería estar consultando la BD cada segundo, pero no creo que sea lo más limpio.
no es lo mas limpio pero es la unica alternativa que deja access
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina -
jueves, 12 de julio de 2012 6:58
Hola:
No me suena mucho que exista un evento en Access para un cambio de una tabla.
Aparte del tema timer (cada x segundos), como 'otra idea', podrias probar de capturar cuando cambia el .MDB mediante los eventos FILESYSTEMWATCHER, que se ejecutan cuando se modifica un fichero.
Dependiendo del trafico del fichero .MDB te puede resultar más o menos útil (controla cualquier modificación del fichero, no de una tabla en concreto), pero quizás te pueda servir.
Saludos
- Propuesto como respuesta Focus Media martes, 25 de septiembre de 2012 9:05

