FoxPro/Visual FoxPro - Grabar edad mes dias

   
Vista:

Grabar edad mes dias

Publicado por Sebastian (253 intervenciones) el 07/04/2008 22:48:49
Buenas tardes expertos necesito ordenar el resultado de este codigo para poder guardarlo de acuerdo a mi necesidad estuve intentando pero no graba como yo quiero te explico al restar fecha actual con fecha de Nacieminto obtengo Edad, Mes y Dias pero cuando yo presiono guardar quiero que sea de esta manera:

Si tiene EDAD, No debe de guardar Mes y Dias
Si tiene Mes, No guarda Dias
Si solo es dias es lo unico que guardara

mFecNac=thisform.text1.value
mFecHoy=thisform.text2.value

mFecNacS=dtos(mFecNac)
mFecHoyS=dtos(mFecHoy)

mAños=year(mFecHoy)-year(mFecNac)
mAños=mAños-iif(right(mFecNacS,4)>right(mFecHoyS,4),1,0)

mMeses=month(mFecHoy)-month(mFecNac)
mMeses=iif(mMeses<=0,mMeses+11,mMeses)

mMesPasado=mFecHoy-30
mDias=mFecHoy-ctod(str(day(mFecNac),2)+'/'+iif(day(mFecNac)>day(mFecHoy),str(month(mMesPasado),2)+'/'+str(year(mMesPasado),4),str(month(mFecHoy),2)+'/'+str(year(mFecHoy),4)))

mEdadExacta=transform(mAños)
thisform.edad.value=mEdadExacta

m=transform(mMeses)
thisform.mes.value=m

d=transform(mDias)
thisform.dias.value=d

if messagebox("Desea grabar los registros",36,"Mensaje del Sistema")=6

append blank
replace edad with ed
replace mes with me
replace dias with di
endif

Gracias
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
Imágen de perfil de Mauricio Gonzalez

Grabar edad mes dias

Publicado por Mauricio Gonzalez (1368 intervenciones) el 08/04/2008 02:26:42
Sebastian, despues del append blank, prueba esto:

IF EDAD > 0
REPLACE EDAD WITH ED
ELSE
IF MES > 0
REPLACE MES WITH ME
ELSE
REPLACE DIAS WITH DI
ENDIF
ENDIF
*----
Esto partiendo del hecho que solo uno sera mayor que cero o que se cumpla el primero de ellos. SUERTE!!!!!!
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

RE:Grabar edad mes dias

Publicado por Sebastian (253 intervenciones) el 08/04/2008 21:31:01
hola Mauricio gracias por contestar hice lo que me dices pero sale un mensaje de error "Incompatiblidad con el tipo de operador y tipo de operando" y se posiciona en el IF EDAD > 0
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
Imágen de perfil de Mauricio Gonzalez

RE:Grabar edad mes dias

Publicado por Mauricio Gonzalez (1368 intervenciones) el 11/04/2008 22:33:44
De acuerdo Sebastian, no me dices donde se te da la incompatibilidad, pero te dire que tienes que revisar que edad, mes y dias esten inicializados con 0, luego revisar que ed, me y di tambien sean numericos:

PUBLIC ed, me, di
STORE 0 TO ed, me, di
*--- luego el proceso de almacenar datos en estas variables (ed, me y di)
*--- para que luego ejecutes lo siguiente:

IF EDAD > 0
REPLACE EDAD WITH ED
ELSE
IF MES > 0
REPLACE MES WITH ME
ELSE
REPLACE DIAS WITH DI
ENDIF
ENDIF
SUERTE Y CUALQUIER COSA ME AVISAS YA SEA QUE TE FUNCIONO O NO...
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