Access - Restricciones con fechas....ayuda!

 
Vista:
Imágen de perfil de Alejandro

Restricciones con fechas....ayuda!

Publicado por Alejandro (3 intervenciones) el 30/05/2007 18:28:24
Hola, tengo que entregar esta base de datos pasado mañana para poder aprobar el curso, y tengo dos fallos que según la profesora de Análisis Informático son muy graves y es que, tengo que hacer que la base de datos no me permita introducir una fecha de alta más baja que la fecha de nacimiento del socio, y que no me deje introducir una fecha de baja más baja que la fecha de alta....

Estoy desesperado y no sé como arreglarlo...
Si alguien me pudiera ayudar.....por favor...
He provado en Regla de validación a poner [F_baja]>=[F_alta] y nada... no va....

Por favor, necesito ayuda....

Muchas gracias por vuestra ayuda, de verdad....

Gracias a todos y un saludo!

pd: la BD la podeis descargar de aquí: http://www.electronicasmd.com/PiscinaDAI.mdb
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Validación de fechas de alta y baja

Publicado por Alejandro (4142 intervenciones) el 11/08/2023 00:04:17
Para solucionar los problemas de validación de fechas de alta y baja en tu base de datos, puedes utilizar reglas de validación y eventos de formulario en Access. Aquí te explico cómo hacerlo:

1. Validación de fechas en regla de validación:

- Para evitar que se introduzca una fecha de alta más baja que la fecha de nacimiento del socio, ve a la vista de diseño de la tabla "Socios".
- Selecciona el campo "F_alta" y establece la siguiente regla de validación: `[F_alta] >= [F_nac]`.
- Asegúrate de que la propiedad "Mensaje de validación" explique el error, por ejemplo: "La fecha de alta debe ser igual o posterior a la fecha de nacimiento".

Repite el mismo proceso para evitar que se introduzca una fecha de baja más baja que la fecha de alta. En este caso, utiliza la regla de validación: `[F_baja] >= [F_alta]`.

2. Evento BeforeUpdate del formulario:

- Abre el formulario "Socios" en la vista de diseño.
- Ve a la sección "Eventos" en la ventana de propiedades del formulario y busca el evento `Antes de actualizar` (BeforeUpdate).
- Haz doble clic en el recuadro en blanco al lado del evento para abrir el editor de código VBA.
- Agrega el siguiente código para verificar las fechas antes de actualizar el registro:

1
2
3
4
5
6
7
8
9
10
11
12
Private Sub Form_BeforeUpdate(Cancel As Integer)
    If Me.F_alta > Me.F_nac Then
        MsgBox "La fecha de alta no puede ser anterior a la fecha de nacimiento.", vbExclamation, "Error de validación"
        Cancel = True
        Exit Sub
    End If
 
    If Not IsNull(Me.F_baja) And Me.F_baja < Me.F_alta Then
        MsgBox "La fecha de baja no puede ser anterior a la fecha de alta.", vbExclamation, "Error de validación"
        Cancel = True
    End If
End Sub

Este código se ejecutará antes de que se actualice el registro y verificará si las fechas cumplen con las reglas de validación establecidas. Si alguna de las validaciones falla, se mostrará un mensaje de error y se cancelará la actualización del registro.

3. Guardar y probar:

Guarda el formulario y la tabla después de realizar estos cambios. Luego, prueba la validación ingresando diferentes fechas de alta y baja para asegurarte de que las reglas se apliquen correctamente.

Recuerda adaptar los nombres de los campos y los formularios según tu base de datos. Estos pasos deberían ayudarte a resolver los problemas de validación de fechas y garantizar que las fechas de alta y baja cumplan con las reglas establecidas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar