Cómo validar en un formulario campos vacíos además del valor de otro antes de guardar?

Tengo 6 campos en un formulario:

  • Nombre
  • Apellido
  • País
  • Ciudad
  • Nacionalidad
  • Código

y un botón llamado GeneraCodigo, en el evento Al hacer clic de éste tengo el siguiente código:

If Me.Nombre.Value <> "" And Me.Apellido.Value <> "" And Me.Pais.Value <> "" And Me.Ciudad.Value <> "" Then
    'Genero un serial
    Me.Codigo.Value = serial
    DoCmd.RunCommand acCmdSaveRecord
    Else
        MsgBox ("Verifique que los campos Nombre, Apellido, Pais y Ciudad estén completos."), vbInformation
End If

 y hasta ahí funciona bien, logro que los campos nombre, apellido, pais y ciudad sean obligatorios antes de generar el serial. El problema es que ahora necesito agregar una condición para que si el Pais es diferente a Mexico, el campo Nacionalidad no quede en blanco y obligue al usuario a llenar dicho campo. Agregue un if pero no me funciona, se lo brinca y genera el serial sin cumplir la condición.

If Me.Pais.Value <> "Mexico" And Me.Nacionalidad.Value = "" Then
    MsgBox ("El campo Nacionalidad es requerido."), vbInformation
    Exit Sub
If Me.Nombre.Value <> "" And Me.Apellido.Value <> "" And Me.Pais.Value <> "" And Me.Ciudad.Value <> "" Then
    'Genero un serial
    Me.Codigo.Value = serial
    DoCmd.RunCommand acCmdSaveRecord
    Else
        MsgBox ("Verifique que los campos Nombre, Apellido, Pais y Ciudad estén completos."), vbInformation
End If
End If

 ¿Cómo lo podría solucionar?

1 respuesta

Respuesta
1

Prueba poniendo el If dentro del otro, así >>

If Me.Nombre.Value <> "" And Me.Apellido.Value <> "" And Me.Pais.Value <> "" And Me.Ciudad.Value <> "" Then
If Me.Pais.Value <> "Mexico" And Me.Nacionalidad.Value = "" Then
MsgBox ("El campo Nacionalidad es requerido."), vbInformation
Exit Sub
End If

'Genero un serial
Me.Codigo.Value = serial
DoCmd.RunCommand acCmdSaveRecord
Else
MsgBox ("Verifique que los campos Nombre, Apellido, Pais y Ciudad estén completos."), vbInformation
End If

Así te aseguras que el País tiene un valor: Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas