Pregunta access avanzado

Tengo varias preguntas que me han surgido, quizá sean una bobada pero estoy tratándolas de resolver a altas horas de la noche..
1) Estoy metiendo los campos de una base de datos, en uno de los campos me pide que cuando vaya a rellenarlo no admita clientes menores de edad. Yo he aplicado una regla de validación que no se si por no estar bien escrita no hay manera de que funcione.
El nombre del campo se llama FECHANAC, yo en regla DE VALIDACIÓN pongo:
(Ahora()-[FECHANAC])>18, TAMBIÉN HE INTENTADO CON fecha() en lugar de ahora(), pero me sale un error (manejo la version 2003) y no consigo sacarlo y lo peor de todo es que es para un examen.
2) Por otro lado, en el campo "estado civil", me sugieren que sea numérico byte y que ponga 1:SOLTERO 2:CASADO; 3 :SEPARADO y que cree un campo combinado y que además cuando haya hecho esto se me visualicen los estados en letras, me imagino es, c, sep, etc.
He tratado de usar la opción "buscar" y a continuación seleccionar una tabla que he fabricado para este evento pero no hay manera que el desplegable me efectúe la selección, del estilo a como lo hago en excel con la función "BUSCARV".
3) Por ultimo en una tabla me piden que la fecha de regreso la valide y sea menor que la fecha de salida, lo he hecho como el punto 1
[fecharegreso]<=[fechasalida] y sigue sin funcionarme, me da la sensación que es por las sintaxis, es que el generador de expresiones no le controlo mucho.
Agracedería cualquier ayuda, me estoy volviendo loco y lo necesito para dentro de unos días.
Muchas gracias
Respuesta
1
1.- datediff("yyyy",[FECHANAC], date())>18 o en español
DifFecha("yyyy",[FECHANAC],Fecha())>18
No se porque supones que ahora()-[FECHANAC]) te da el resultado en años y no en días, meses u horas etc
2.- Creo que quieren que escribas 1 y muestre el texto completo, pero hazlo como tiene que ser, un combobox que dentro del campo ponga 1 o 2 y se vea el texto completo, la diferencia sera que el usuario escribe "so" para soltero "se" para separado y "c" para casado. en la tabla habra 1 , 2 o 3
para hacerlo usa un combobox
tipo de origen de la fila= lista de valores
en el rowsource del combo pon  1;SOLTERO;2;CASADO;3;SEPARADO
en numero de columnas=2
Ancho de columnas 0 ;2
Columna dependiente 1
3.- Usa datediff
He colocado en la celda regla de validación las dos variantes
datediff("yyyy",[FECHANAC], date())>18 y me pone sintaxis no válida. También he utilizado la version en español.
Esto lo estoy metiendo en las opciones de la parte inferior "REGLA DE VALIDACIÓN" del campo [FECHANAC], por si acaso estuviera haciendo algo mal.
¿Por "yyyy" que se entiende? A mi me pide la fecha que la tengo con una mascara de entrada 00/00/00;0;_
Muchas gracias
Prueba sin la mascara
Yyyy es para que te de la cantidad de años entre las dos fecha
Ve el help de datediff
coloca ; en lugar de ,
Depende de tu instalación
Si no enviame lo que tienes y te ayudo más
[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas