validar ingreso de fecha de nacimiento

357 views
Skip to first unread message

Saúl Piña

unread,
Feb 19, 2014, 2:29:42 PM2/19/14
to publice...@googlegroups.com
Saludos amigos zorros.

Como puedo validar una fecha de nacimiento, por ejemplo: que no sea mayor al año actual, se supone que son personas mayores de 16 años y que son fechas de nacimiento. otra validación sería de que automáticamente se anteponga el "19" si por ejemplo el usuario escribe en fecha de nac: 15/01/45 que se supone debe capturase "15/01/1945". en lugar de "15/01/2045" que a veces el propio VFP antepone. 

Gracias.

Fernando D. Bozzo

unread,
Feb 19, 2014, 2:40:21 PM2/19/14
to publice...@googlegroups.com
Hola Saúl:

Para validar la fecha de nacimiento de un campo o dato tipo fecha, te es suficiente con comparar que no sea mayor a DATE() o a DATETIME() si nos ponemos demasiado precisos.
Lo de preguntar por si empieza por "19" desde ya que no te lo aconsejo para nada. No tiene sentido ni es un algoritmo preciso ni duradero, entre otras cosas, porque dentro de solo 2 años (2016) las personas nacidas en el 2000 van a tener 16 años y eso solo ya inutiliza tu algoritmo.
Para los demás cálculos de fechas te podés arreglar con GOMONTH() y demás funciones de fecha.

Sobre lo de que Fox te complete "2045" cuando ponés solo "45", lo podés ajustar con SET CENTURY

Saludos.-

Saúl Piña

unread,
Feb 19, 2014, 2:50:49 PM2/19/14
to publice...@googlegroups.com
Saludos Fernando, me doy cuenta que cuando ingreso por ejemplo "15/01/64" vfp me agrega bien el año, es decir: "15/01/1964" pero si escribo "15/01/63" vfp en lugar de agregarme "19" lo complementa asi: "15/01/2063" y de ahi a partir del año "63" hacia atras, agrega "20" en lugar de "19"  y en la base de datos, debo registrar personas que nacieron incluso en los años "1920" ya que es un programa de adultos mayores.

Además el capturista tiene el hábito de capturar "2 digitos" es decir "55" para los que nacieron en el año "1955" y necesito que vfp no anteponga "2055" sino "1955" para aquellos capturistas que por error, mal habito u olvido, capturen dos digitos.

gracias de nuevo.

Fernando D. Bozzo

unread,
Feb 19, 2014, 2:57:41 PM2/19/14
to publice...@googlegroups.com
Pues ese comportamiento es justamente el que se corrije con SET CENTURY (que admite algunos parámetros especiales)
Tenés que tener en cuenta que el valor por defecto de este comando se estableció en la década del 90 con FoxPro 5.0, y que dicho defecto fue pensado para esa época. Obviamente ya no tiene sentido mantener el mismo valor por defecto que hace más de 20 años, así que te conviene aumentarlo más o menos 20 años, y con eso controlás si "55" se toma como "1955" o "2055"

Saludos.-

Ricardo Peña

unread,
Feb 19, 2014, 3:01:25 PM2/19/14
to GRUPO-VFP GRUPO-VFP
Fíjate en la opción rollover del set century.

Ricardo Luis Peña
Analista de Sistemas
BA - Argentina
011-15-4440-7378

 

Date: Wed, 19 Feb 2014 11:57:41 -0800
From: fdb...@gmail.com
To: publice...@googlegroups.com
Subject: [vfp] Re: validar ingreso de fecha de nacimiento

Saúl Piña

unread,
Feb 19, 2014, 3:35:20 PM2/19/14
to publice...@googlegroups.com
y como sería un ejemplo de parámetro para set century?

Supongo que sería por medio de una variable que sea igual a var1="19" o algo asi...

César Pistiner

unread,
Feb 19, 2014, 3:52:23 PM2/19/14
to publice...@googlegroups.com
Saúl,

Podes usar el help de VFP, es muy claro... haces unas cuantas pruebas y luego en todo caso consultar sobre las dudas...

Diiiigo, de pronto, me parece...

Saludos,
César

Saúl Piña

unread,
Feb 19, 2014, 4:40:54 PM2/19/14
to publice...@googlegroups.com
Ja,ja si, me creerán que nunca habia utilizado:

SET CENTURY TO 19 ROLLOVER 10 

Solucion a mi problema, gracias.

César Pistiner

unread,
Feb 19, 2014, 9:14:51 PM2/19/14
to publice...@googlegroups.com

Jajaja te creo!
Me alegro que lo solucionaste!

Saludos
César

Reply all
Reply to author
Forward
0 new messages