Ver Mensaje Individual
  #6  
Antiguo 29-01-2007
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Reputación: 22
Ivanzinho Va por buen camino
Pues para dbf se me ocurre algo como

Código SQL [-]
select * from NombreTabla 
where (cast(extract(month from Fecha) as integer) + PlazoMeses <= 12 and (
       cast(extract(month from Fecha) as integer) + PlazoMeses < cast(extract(month from FechaHoy) as integer or
       (cast(extract(month from Fecha) as integer) + PlazoMeses = cast(extract(month from FechaHoy) as integer) and
        cast(extract(day from Fecha) as integer) <= cast(extract(day from FechaHoy) as integer)) and
       cast(extract(year from Fecha) as integer) = cast(extract(year from FechaHoy) as integer))
   or
      (cast(extract(month from Fecha) as integer) + PlazoMeses > 12 and (
       cast(extract(month from Fecha) as integer) + PlazoMeses - 12 < cast(extract(month from FechaHoy) as integer or
       (cast(extract(month from Fecha) as integer) + PlazoMeses - 12 = cast(extract(month from FechaHoy) as integer) and
        cast(extract(day from Fecha) as integer) <= cast(extract(day from FechaHoy) as integer)) and
       cast(extract(year from Fecha) as integer) + 1 = cast(extract(year from FechaHoy) as integer))
   or (cast(extract(month from Fecha) as integer) + PlazoMeses > 12 and 
      cast(extract(year from Fecha) as integer) + 1 < cast(extract(year from FechaHoy) as integer))

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.
Responder Con Cita