![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
un evento que funcione con cambio de fecha
Hola amigos , tengo un problema que talvez hurgando mas en el foro encontraria la solucion pero hasta el momento no he podido resolverlo.
Uso Delphi7, IBX y Firebird 1.5. Estoy programando un sistema de fichas medicas, y estas exigen que el registro de la edad del paciente este actualizado. El servidor no se apagara en la noche por lo que no puedo hacer una rutina que haga la actualizacion de la edad al encender el computador, ni tampoco confiar en que todos los dias alguien hara un clic para ejecutar una rutina a proposito. Existe la posibilidad de hacer esto detectando el cambio de fecha para activar un procedimiento almacenado. Si es asi, como se detecta el cambio de fecha. Desde ya muchas gracias. |
#2
|
|||
|
|||
Lo primero que se me ocurre es que cada vez que leas un registro de la tabla pacientes desde tu aplicación, verifiques si está cumpliendo o cumplió años, actualices la fecha y lo guardes de nuevo, todo esto antes de mostrarlo en la forma.
Otra forma sería que crees una pequeña aplicación que haga esto mismo y la pongas a que se ejecute diariamente a tal hora, mediante una tarea programada. Saludos... |
#3
|
||||
|
||||
Hombre, pues con que captures la fecha de nacimiento sería suficiente ¿no crees?
La edad sería un simple cálculo.
__________________
Última edición por ContraVeneno fecha: 17-08-2006 a las 01:58:09. |
#4
|
|||
|
|||
Lamentablemente la solucion no sirve
Agradezco enormemente su rapida respuesta, pero las condiciones del sistema, a mi parecer hace inviable las propuestas de uds.
Periodicamente se manda informacion al Ministerio de Salud con estadisticas relacionadas con las edades y , en un universo de 30.000 registros los consumos de tiempo serian importantes. Insisto, lo ideal seria capturar el cambio de fecha para ocupar recursos en horas en que el servidor esta casi desocupado de tal modo que durante el dia se encuantre toda la base actualizada. Gracias. |
#5
|
|||
|
|||
Pues la opción de una tarea programada que lance un proceso que haga lo que desees te puede servir. El proceso lo mandas a partir de las 00:00 Horas diario y que solo trabaje con los pacientes que cumplen años en ese momento.
También habría que saber que S.O. tiene el servidor. |
#6
|
|||
|
|||
Si sacas un reporte por Fecha de Nacimiento para enviar al Ministerio, solo tienes que restar la Feha actual y ya tienes la edad.
Lo otro que puedes hacer es usar un TTimer, que verifique cada cierto tiempo si se cambió la fecha del sistema, si es cierto, haces los cálculos que deseas realizar. Saludos |
#7
|
||||
|
||||
y porque no usas una vista,
en la que un campo de la consulta o vista sea: Obtener_Años( sysdate - Tabla.Fecha_nacimiento ) as Edad desconozco la funcion en firebird que te devuelve la fecha y si exista una función que te devuelva los años entre dos fechas, pero eso seria la solución
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás... análisis de información análisis y diseño de sistemas Paoti Rios Reséndiz |
#8
|
|||
|
|||
Que tal
Yo también soy de la idea de que solo debes guardar la fecha de nacimiento y calcular la edad cuando lo requieras.
La sentencia anterior te da los años, si requieres más exactitud te recomendaría que hicieras un procedimiento almacenado para que calcule, años, meses, días. Saludos Bismarck |
#9
|
||||
|
||||
yo preferiría usar datediff(yy, fecha)
eso de dividir entre 365, como que se olvida de los años bisiestos y demás menesteres.
__________________
|
#10
|
|||
|
|||
Estoy de acuerdo contigo Contraveneno, no es exacto, es por eso que recomendaba que hiciera un SP si queria exactitud.
Lo que comentas de DateDiff, al parecer no lo soporta Firebird 1.5. Tendrías que recurrir a una UDF adicional. Saludos Bismarck |
#11
|
|||
|
|||
Dos opciones:
-Usar un simple campo calculado, de modo que a efectos del programa ni se enteraria de que no es un campo real. - Si periodicamente se generan unas estadisticas, pues lo logico es que se calcule o actualize la edad precisamente en ese proceso de envio de estadisticas. Alguien tendra que darle a algun boton para generar las estadisticas y enviarlas, pues en ese momento antes de generarlas, realizar el proceso que sea para calcular la edad y listo. Saludos |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Evento en una fecha | piccolo2101 | Varios | 2 | 01-02-2006 13:10:22 |
Trigger Para Grabar Fecha Cambio Registro | ASAPLTDA | MS SQL Server | 3 | 19-04-2005 19:35:59 |
Evitar cambio de Fecha | buitrago | Varios | 1 | 27-09-2004 16:52:45 |
Capturar El Evento Del Cambio De Foco En Un Form | murci | API de Windows | 11 | 21-01-2004 09:39:13 |
Cambio de Formato de Fecha no funciona | DJ VMan | Varios | 1 | 01-08-2003 12:28:27 |
![]() |
|