Muy buen día.
Tengo un problema y no encuentro la solución.
Lo que debo hacer es que el usuario Ingrese la Fecha de Nacimiento y vaya a validar a la rutina, Debe Obligar a ingresar fecha de nacimiento y luego calcular la edad.
Hoy como tengo el codígo muestra el mensaje "Debe Ingresar Fecha de Nacimiento", pero igual sigue al siguiente Get, la idea es que lo obligue a ingresar fecha.
Muchos Saludos.
Antonio.
Muestro el Codigo actual:
- Code: Select all Expand view RUN
...............
...............
@ 090,180 GET oGet2 Var Ape_Pac1 SIZE 350,22 PIXEL OF oDlg2 COLOR RGB(0,0,128) FONT oFont4 UPDATE
@ 120,180 GET oGet3 Var Nom_Pac1 SIZE 350,22 PIXEL OF oDlg2 COLOR RGB(0,0,128) FONT oFont4 UPDATE
@ 150,180 GET oGet4 Var Fec_Nac1 SIZE 110,22 PIXEL OF oDlg2 PICTURE "@d" COLOR RGB(0,0,128) FONT oFont4 UPDATE ;
Valid If(Calcula_Edad(Fec_Nac1),oGet4:SetFocus,.T.)
@ 150,390 SAY oGet5 Var Eda_Pac1 SIZE 30,22 PIXEL OF oDlg2 COLOR RGB(0,0,128) FONT oFont4 BORDER
@ 180,180 GET oGet6 Var _ SIZE 30,22 PIXEL OF oDlg2 COLOR RGB(0,0,128) FONT oFont4 UPDATE
@ 240,180 GET oGet7 Var Dir_Pac1 SIZE 200,22 PIXEL OF oDlg2 COLOR RGB(0,0,128) FONT oFont4 UPDATE
@ 270,180 GET oGet8 Var Cod_Ciu1 SIZE 30,22 PIXEL OF oDlg2 COLOR RGB(0,0,128) FONT oFont4 UPDATE
@ 300,180 GET oGet9 Var Cod_Com1 SIZE 30,22 PIXEL OF oDlg2 COLOR RGB(0,0,128) FONT oFont4 UPDATE
@ 460,500 BTNBMP SIZE 60,50 PROMPT "SALIR" OF oDlg2 PIXEL 2007 FONT oFont6 oGroup FLAT;
filename"c:\Desa\FichasWin\Iconos\door_in.png" ToolTip "SALIR DEL SISTEMA";
ACTION (oDlg2:End())
@ 460,50 BTNBMP SIZE 60,50 PROMPT "ACTUA" OF oDlg2 2007 FONT oFont6 oGroup FLAT;
filename"c:\Desa\FichasWin\Iconos\edit.png" ToolTip "MODIFICAR DATOS" ;
ACTION (oGet1:SetFocus() )
@ 460,200 BTNBMP SIZE 60,50 PROMPT "GRABA" OF oDlg2 2007 FONT oFont6 oGroup FLAT;
filename"c:\Desa\FichasWin\Iconos\disk.png" ToolTip "GRABA DATOS" ;
ACTION ( Graba_Paci() )
ACTIVATE DIALOG oDlg2 CENTERED
Return
** Rutina Que Calcula Edad
Function Calcula_Edad(F_Naci)
If Empty(F_Naci)
MsgStop( "Debe Ingresar Fecha de Nacimiento")
return(.F.)
Endif
If ( F_Naci > date() )
MsgStop( "La Fecha de Nacimiento Debe ser Menor que o Igual a "+dtoc(date()) )
return(.F.)
Endif
Stor 0 to anos,ndias,mese,eda_paci
na=F_Naci
ac=date()
ndias=ac-na
anos=int(ndias/365.25)
ndias=ndias-(365.25*anos)
mese=int(ndias/30.4375)
Eda_Pac1=anos
return (.T.)