No permitir campo vacío en formulario

No encuentro la forma como hacerle para que, al ingresar datos en un formulario con 5 campos IdCliente, Cliente, Dirección, País y Observaciones.

Al darle el botón de cerrar, si el campo cliente esta vacío me salga un mensaje de que el campo no puede estar sin datos, se pongo el fondo del campo en rojo y se posicione el campo sin datos y no permita cerrarlo hasta ingresar el dato.

Los otros campos pueden estar vacios, pero el campo Cliente se requiere el dato.

2 respuestas

Respuesta
2

Raul: Creo que si siempre cierras el Formulario desde un Botón, que como Ejemplo llamaré BtnCierraForm, una manera de hacerlo de varias que puede haber es:

Private Sub BtnCierraForm_Click()
If FaltanDatosObligatorios = False Then
        DoCmd.Close acForm, Me.Name
Else
        MsgBox "Este Formulario no se cerrará hasta que se informe de: " & vbCrLf & "El Cliente ha de tener un valor. Llenalo", vbCritical, "FALTAN DATOS"
        Me.Cliente.SetFocus
End If
End Sub  'BtnCierraForm_Click()
Function FaltanDatosObligatorios() As Boolean
If IsNull(Me.Cliente) Then
        FaltanDatosObligatorios = True
        Exit Function
End If
End Function

Prueba, porque lo he hecho sobre la marcha. Mis saludos >> Jacinto

Raul: Se me ha pasado la mano de pintura.

Antes de >> DoCmd. Close le pones

Me.Cliente.BackColor = RGB(255,255,255)

Y después de >> Me.Cliente.SetFocus le pones

Me.Cliente.BackColor = (255,0,0)

Mis saludos >> Jacinto

Jacinto buenas tardes tuve problema con la ayuda que me enviaste

Me salio error de compilación hice todo lo que me dijiste:

Me mostró Uso de la palabra clave Me no válido

Private Sub BtnCierraForm_Click()
'Jacinto Trillo
If FaltanDatosObligatorios = False Then
Me.Cliente.BackColor = RGB(255, 255, 255)
DoCmd.Close acForm, Me.Name
Else
MsgBox "Este Formulario no se cerrará hasta que se informe de: " & vbCrLf & "El Cliente ha de tener un valor. Llenalo", vbCritical, "FALTAN DATOS"
Me.Cliente.SetFocus
Me.Cliente.BackColor = RGB(255, 0, 0)
End If
End Sub 'BtnCierraForm_Click()

Function FaltanDatosObligatorios() As Boolean
'Jacinto Trillo
If IsNull(Me.Cliente) Then
FaltanDatosObligatorios = True
Exit Function
End If
End Function

Porque el error me podrías ayudar por favor

Saludos Raul

Ral: Mándame por favor una imagen con la captura del error.

Supongo que habrás activado el [Procedimiento de Evento ] del Botón. Mis saludos >> Jacinto

Buen día Jacinto, te envío la imagen, ahora salio otro mensaje (la primera)

Raul: No puedo ver lo que hay en las imágenes porque son muy pequeñas.

Mis saludos >> Jacinto

Jacinto el error lo resolví, cambiando la palabra Clave Me por el nombre del formulario,

Todo lo demás funciono a la perfección.

Jacinto muchas gracias por la ayuda

Saludos Raul Ortiz

Respuesta
2

Aquí tienes explicada una forma de hacerlo, con todo(o casi) lo que pides: http://siliconproject.com.ar/neckkito/index.php/component/content/article/93-ejemplos-explicados/ejemplos-de-formularios/245-campos-obligatorios 

Lo que falta, si es que falta, no creo que tengas problemas en sacarlo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas