Para calcular la fecha de nacimiento y la edad a partir del número del carnet de identidad en Access, puede seguir estos pasos:
1. Crear un Campo para la Fecha de Nacimiento
Abra su tabla CLIENTES en vista de diseño.
Agregue un nuevo campo llamado FECHA_DE_NACIMIENTO y establezca su tipo como Fecha/Hora.
Asegúraese de que los campos ya estén en el formulario donde quiere mostrar la fecha de nacimiento.
2. Crear un Campo para la Edad
Agregueotro campo llamado EDAD en la tabla, pero este será calculado. No necesitas almacenarlo en la tabla, ya que se puede calcular directamente en el formulario o en una consulta.
No es necesario agregarlo en la tabla, lo haremos en el formulario.
3. Calcular la Fecha de Nacimiento
Para calcular la fecha de nacimiento en el formulario, siga estos pasos:
Abra el formulario donde tiene el campo CARNET IDENTIDAD en vista de diseño.
Agregue un nuevo cuadro de texto y establece su nombre como txtFechaNacimiento.
En la propiedad Origen del Control, utilice la siguiente expresión
=DateSerial(2000 + Left([CARNET IDENTIDAD], 2), Mid([CARNET IDENTIDAD], 3, 2), Mid([CARNET IDENTIDAD], 5, 2))
Le explico:
Left([CARNET IDENTIDAD], 2): Extrae los primeros dos caracteres, que representan el año.
2000 +: Esto se usa porque el año 73 (por ejemplo, 73) se interpretaría como 1973. Sin embargo, en el caso de que el año sea del 2000 en adelante, tendría que ajustar esto. En este contexto, el carnet podría corresponder a un rango de años del 1900 al 1999, pero en un caso práctico real, debería adaptar esto según cómo maneje los años.
Si no le sirve pruebe con esta
=DateSerial(IIf(Left([CARNET IDENTIDAD], 2) > Year(Date()) Mod 100, 1900, 2000) + Left([CARNET IDENTIDAD], 2), Mid([CARNET IDENTIDAD], 3, 2), Mid([CARNET IDENTIDAD], 5, 2))
Le explico:
IIf(Left([CARNET IDENTIDAD], 2) > Year(Date()) Mod 100, 1900, 2000): Verifica si el año extraído es mayor que el año actual (en dos dígitos). Si es así, asume que el año es del siglo pasado (1900); de lo contrario, asume que es del siglo actual (2000).
4. Calcular la Edad
Para calcular la edad, puede hacer lo siguiente:
Agregue otro cuadro de texto y establezca su nombre como txtEdad.
En la propiedad Origen del Control, use la siguiente expresión:
=DateDiff("yyyy", [txtFechaNacimiento], Date()) - IIf(Format([txtFechaNacimiento], "mmdd") > Format(Date(), "mmdd"), 1, 0)