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)En un campo de tipo sexo, me pone que tengo que elegir si es si=mujer y si es no= hombre no se como hacerlo si como cuadro combinado o como
4) 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

1 respuesta

Respuesta
1
Tuve esa misma pregunta hace poco, ¿fuiste tu mismo?
Bueno no importa
En esa oportunidad escribí que porque pensabas que (ahora()-[FECHANAC])>18, te da el resultado en años y no en días o meses
la función correcta ed datediff ("YYYY" <----para años, ve el help
ahora o now es con minutos usa datediff ("YYYY", date(), FechaNac)>18
por cierto las fracciones de año las toma como años completos
lo demás te lo contesto luego
Si es repetida
Te puse esto
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

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas