FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Where Fecha+Mes=Hoy
Hola a tod@s:
Estoy trabajando con tablas DBF y DELPHI 5. Tengo una tabla con un campo Fecha y un campo numérico donde se graba un plazo en meses. ¿Cómo puedo hace la consulta Where Fecha+Meses=Hoy? Where Fecha+(30*Meses) no me sirve, ya que no es exacto al tener los meses entre 29 y 31 días. Saludos. |
#2
|
||||
|
||||
Según tu planteamiento el plazo debe de darse en días y no en meses:
30, 60 ó 90, de esta manera al sumarle 30, 60 ó 90 días obtendrás los vencimientos exactos que pretendes. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
|||
|
|||
Cita:
El plazo me lo da en meses. Suponiendo que el plazo fuese 10 meses a partir de la fecha de hoy, 29/Ene/2007, el vencimiento debería ser el día 29/Nov/2007. Sin embargo, si a la fecha de hoy, 29/Ene/2007, sumas 300 días (10x30), el resultado es 25/Nov/2005, es decir, 4 días antes de la fecha de vencimiento. Por lo tanto, tal como comenté en el hilo anterior, Where Fecha+(30*Meses) no me sirve. En cualquier caso gracias por tu interés. |
#4
|
||||
|
||||
Pues suma los meses al mes de la fecha de inicio, luego tendras que comprobar que el dia exista en el mes final (p. ej. 31/11/****) y actuar como consideres oportuno.
__________________
Si no lees esto no vivirás tranquilo Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao) |
#5
|
|||
|
|||
Ivanzinho:
O no entiendo tu respuesta, o tu solución no me sirve. Se trata de una tabla con varios registros, que obviamenten contienen fechas y plazos diferentes en los respectivos campos. Se trata de hacer una consulta de los registros vencidos, y no realizar un cálculo de una fecha determinada. Algo así como esto...
Saludos y gracias. Última edición por Jose_Pérez fecha: 29-01-2007 a las 11:44:29. |
#6
|
||||
|
||||
Pues para dbf se me ocurre algo como
Igual no es una buena opción, pero así de pronto y para dbf no se me ocurre otra cosa, todo sería mejorar esto. El problema que te comentaba antes es para los dias que no existen, por ejemplo si tienes un registro del 31/1/**** con un mes de vencimiento te daria fecha vencimientos el 31/2/**** la cual no existe por lo que el registro saldría como vencido el primer día del mes siguente (no se si es como lo quieres tratar) Lo dicho, esto es solo una idea, quiza muy mala y que puede tener muchos fallos ya que no me pare a probarla en profundidad, que habría que ir depurando para que se adaptase a tus necesidades. Pruebalo, depuralo, mejoralo y ya me contaras
__________________
Si no lees esto no vivirás tranquilo Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao) Última edición por Ivanzinho fecha: 29-01-2007 a las 13:06:38. |
#7
|
|||
|
|||
Ivanzinho, no lo he probado, aunque creo que no me voy a complicar demasiado y voy a optar por utilizar TTables con índices. Probablemente vaya hasta más rápido.
Tal como tú propones, ¿serán demasiados cálculos para que la consulta SQL sea rápida? La verdad es que no lo sé, pero probablemente sea lenta. Saludos y gracias. |
#8
|
||||
|
||||
Creo que con SQL va a ser dificil solventar la papeleta, porque por ejemplo si le sumamos 4 meses al mes 10, nos da 14, mes que no existe.
Si no tenemos en cuenta el SQL, con programación en Delphi, si que podemos sumar meses sin problemas de este tipo: Un ejemplo.
Solución que propongo: Crear una tabla temporal con un campo calculado y quedaría resuelto. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#9
|
||||
|
||||
Cita:
Cita:
Un saúdo.
__________________
Si no lees esto no vivirás tranquilo Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao) |
#10
|
|||
|
|||
Cita:
Creo que SQL es una herramienta muy útil y rápida, pero a la hora de realizar algunas consultas y cálculos el uso de TTables siguen siendo la mejor opción. Para serte sincero, yo esperaba alguna función simple, algo así como un AddMonth(Fecha,Meses). Saludos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Busqueda segun el mes de una fecha(no la fecha completa) | federiconqn21 | Firebird e Interbase | 1 | 05-05-2006 15:39:53 |
Comparar una fecha de n campo date contra fecha actual | amadis | SQL | 2 | 27-06-2005 21:37:41 |
Dias entre una fecha y la fecha del sistema | afarenas | Firebird e Interbase | 1 | 30-09-2003 17:36:53 |
fecha en SQL | ebeltete | SQL | 1 | 22-08-2003 04:27:52 |
Fecha con ADO | manu | Conexión con bases de datos | 2 | 13-08-2003 21:54:48 |
|