FoxPro/Visual FoxPro - Campo fecha

 
Vista:

Campo fecha

Publicado por Alfredo (3 intervenciones) el 22/01/2001 00:00:00
Como debo hacer un select donde tengo que informar a todos los registros cuyo campo "fecha de nacimiento" comparando con (la fecha actual-30 dias) sea menor a 18 años.Es decir que el trabajador sea mayor de edad (18 años o mas).
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Campo fecha

Publicado por Oscar Pallarozo (38 intervenciones) el 22/01/2001 00:00:00
suponiendo que tu campo de fecha de nacimiento se llame fnac_per escribe lo siguiente:

sele * from tabla where Tiempo_Transcurrido(fnac_per,date()-30,´N´)<18

Tiempo_transcurrido es una funcion:

Function Tiempo_Transcurrido
parameters vfecha, LaFecha, xmodo
Local calc, vdia, vmes, vano, diadat, mesdat, anodat, anoimp, mesimp, diaimp
** vfecha =
** Lafecha =
if empty(xmodo) or type(´xmodo´)<>´C´
xmodo=´C´
endif
vdia = day(vfecha)
vmes = month(vfecha)
vano = year(vfecha)
********************
diadat = day(LaFecha)
mesdat = month(LaFecha)
anodat = year(LaFecha)
**********************
anoimp = anodat - vano
mesimp = mesdat - vmes
diaimp = diadat - vdia + 1
if mesdat < vmes
anoimp = anoimp - 1
mesimp = ( 12 - vmes ) + mesdat
endif
if diadat < vdia
mesimp = mesimp - 1
diaimp = ( 30 - vdia ) + diadat
endif
if mesdat=vmes and diadat<vdia
anoimp = anoimp - 1
mesimp = ( 11 - vmes ) + mesdat
endif
do case
case xmodo=´C´
calc = trans( anoimp,"@L 99")+´a ´+ trans( mesimp,"@L 99")+´m ´+ trans( diaimp,"@L 99")+´d´
case xmodo=´N´
calc = round(anoimp + (mesimp/12)+ ((diaimp*100)/30000) ,2)
otherwise
calc = ´Error´
endcase
return (calc)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar