Obligar en un campo FechaHora a introducir la fecha, sin valor predeterminado y sin ir a la tabla e indicar Requerido: Sí

a todos/as,

Quisiera saber, por favor, qué código puedo poner en un campo de FechaHora para que el usuario esté obligado a poner la fecha. No quiero poner valor predeterminado ni tampoco en las propiedades del campo en la tabla en REQUERIDO: Sí. Muchísimas gracias a todos/as. Saludos!

1 respuesta

Respuesta
2

Javier: En el evento antes de Actualizar del Formulario

Private Sub Form_BeforeUpdate(Cancel As Integer)
If IsNull(Me.ElControlFecha) Or Me.EControlFecha = "" Then 
   MsgBox "La fecha es obligatoria",vbCritical,"FALTA DATO"
   Cancel = True
End If
End Sub

Un saludo >> Jacinto

Gracias Jacinto! Lo he probado y me da error de compilación en 'Or Me'. Gracias de todos modos y disculpa por tu tiempo.

Saludos!

Javier: En esa línea yo quería poner los dos Nombres iguales y he omitido una letra.

Ignoro si has nombrado tu Control, como ElControlFecha, porque si es así, después del Or, ha de ir lo mismo, o sea que falta la "ele"

If IsNull(Me.ElControlFecha) Or Me.ElControlFecha = "" Then 

En cualquier caso prueba también si quieres con solo la primera parte.

If IsNull(Me.ElControlFecha) Then

Mis saludos >>Jacinto

Gracias de nuevo Jacinto. En el transcurso de mañana lo probaré y te cuento. Mil gracias y buenas noches.

Saludos!

Javier. 

Hola Jacinto! Por fin funciona, esto es lo que tengo puesto:

Private Sub Form_AfterUpdate()
If IsNull(Me.FechaPedido) Or Me.FechaPedido = "" Then
MsgBox "Por favor, anote la Fecha de Pedido", vbCritical, "¡Aviso!"
FechaPedido.SetFocus
End If
End Sub

Ahora lo que no entiendo es por qué no me funciona el SetFocus en el campo FechaPedido, no hay manera. He probado de ponerlo en otro campo y tampoco funciona. Iré probando. Gracias por compartir tu tiempo y conocimiento. Yo llevo un tiempo con Access, pero ahora debo de emplearme en VBA, pues si se quiere avanzar lo encuentro imprescindible. Saludos desde Barcelona! y gracias!.

Javier.

Javier: Un par de cuestiones>>

1.- Yo sigo pensando que sería mejor en el Evento BeforeUpdate, porque en realidad con el After, recibes el aviso, pero si cambias de registro, te dejará la fecha vacía.

2.- Si lo que pretendes es enfocar FechaPedido, después del aviso, prueba haciendo un rebote, por ejemplo llevando el Foco a otro control y después enfocando FechaPedido.

Mas o menos así:

Me.OtroControl.SetFocus

Me. FechaPedido. SetFocus

Un saludo >> Jacinto

Tienes razón, me he dado cuenta de que si cambias de control la fecha puede quedar vacía. Probaré lo que me dices. Mil gracias por tu ayuda!

Hasta pronto!

Javier.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas