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)