Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Reglas de validacion en access xp

Estas en el tema de Reglas de validacion en access xp en el foro de Bases de Datos General en Foros del Web. Hola a tod@s: Tengo una tabla en una bd access. Tengo dos campos de tipo fecha, uno fecha_inicio y fecha_fin. Quiero crear una regla de ...
  #1 (permalink)  
Antiguo 23/09/2004, 05:53
 
Fecha de Ingreso: julio-2002
Ubicación: Madrid
Mensajes: 29
Antigüedad: 21 años, 10 meses
Puntos: 0
Reglas de validacion en access xp

Hola a tod@s:
Tengo una tabla en una bd access. Tengo dos campos de tipo fecha, uno fecha_inicio y fecha_fin. Quiero crear una regla de validación para que el usuario no pueda introducir una fecha_fin menor que la fecha_inicio o que la fecha_fin pueda ser nula. Debe cumplir una de estas dos restricciones.
Un saludo y muchas gracias
  #2 (permalink)  
Antiguo 23/09/2004, 10:00
 
Fecha de Ingreso: septiembre-2004
Ubicación: Valencia
Mensajes: 39
Antigüedad: 19 años, 7 meses
Puntos: 0
Olvidate de hacerlo en la misma tabla, no puedes referenciar un campo de ella, con otro de la misma.
Si lo quieres hacer desde propiedades, puedes ponerle la regla de validación ">[FechaIni] or isnull([FechaFin])" así debería funcionar, pero te fallará en el momento en que la FechaIni no esté introducida.
Lo podrás solucionar programando el evento BeforeUpdate del Control de FechaFin.
El pseudocódigo sería es siguiente:
  #3 (permalink)  
Antiguo 23/09/2004, 10:04
 
Fecha de Ingreso: septiembre-2004
Ubicación: Valencia
Mensajes: 39
Antigüedad: 19 años, 7 meses
Puntos: 0
Utiliza el BeforeUpdate, pq tiene el parámetro Cancel, y en el caso de que la FechaFin no sea correcta, siempre podremos anular la actualización del control.
Se me envío sin querer, te lo paso aqui el pseudocódigo:

Si FechaIni & "" <> "" entonces 'Has introducido la fechaIni
Si no es nulo FechaFin entonces
Si FechaFin<=FechaIni entonces
MensajeError
Cancel=1
Fin si
Fin si
Fin si

Espero que te pueda ser de ayuda, hasta otra :D
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:43.