Hola Gbyte,
Eso dependerá de como estás trabajando.
A lo hace referencia roman es que primero se puede calcular la diferencia de días tranquilamente y sin problemas en vez de ir "cronomentrando" o actualizando algún campo de la tabla que se haya destinado a llevar la cuenta de días.
Para obtener la fecha (e incluso la hora) del día, siempre y cuando el reloj del sistema esté bien, basta con hacer uso de la función Now. Algo así:
Ahora nos queda simplemente consultar en la tabla correspondiente la última fecha o visita de extracción de sangre de la persona. Con SQL se hace fácil. Una opción podría ser:
Código SQL
[-]select top 1 los_registros from la_tabla where (fecha_visita <= :ParamFechaActual)
and (id_paciente = :ParamIDPaciente) order by fecha_visita DESC
Entonces si leemos el campo correspondiente a la fecha de última visita, podemos hacer la diferencia.
Código Delphi
[-]UltimaVisita := ElQuery.FieldByName('fecha_visita').asDateTime;
Dias := DaysBetween(...);
Pero además, se puede tranquilamente, si el motor de base de datos lo permite, ya de entrada evitarnos hacer nosotros el cálculo y dejarlo para que el motor lo haga. La mayoría de los motores, por no decir todos, tienen funciones internas que permiten determinar el día actual. Por ejemplo tranquilamente puede consultarse las diferencias de día haciendo algo así:
Código SQL
[-]SELECT (CURRENT_DATE - fecha_visita) AS Dias
FROM la_tabla
WHERE....
La cuestión Gbyte es que para ayudarte lo más posible deberás comentarnos mejor tus problemas, dudas, inquietudes. Por empezar saber como estructuras tus tablas.
Saludos,