No me muestra mensaje al no seleccionar en grupo de opciones

Tengo un formulario (FAltas) y entre los campos insertados tengo uno llamado txtAltaCP y un grupo de opciones (Marco118) con dos opciones a elegir SI-NO, en dicho formulario tengo un botón (cmdGuardar), al cual tengo insertado la siguiente instrucción:

'No ha escrito CP.

If IsNull(txtAltaCP) Then

MsgBox "Ingrese número de C.P.", vbCritical, "Campo obligatorio"

Me.txtAltaCP.SetFocus

Cancel = True

Exit Sub

End If

'Si no selecciono una opcion del Marco 118 entregar por

If IsNull(Marco118) Then

MsgBox "No ha seleccionado la entrega: " & vbCrLf & vbCrLf & _

 "   *  Si " & vbCrLf & vbCrLf & _

 "   *  No " & vbCrLf _

 , vbInformation, "Atención"

 Cancel = True

 Exit Sub

End If

If MsgBox(" Desea dar de alta el vehículo: " & vbCrLf & vbCrLf & _

" Matricula:" & txtMatricula & "" & vbCrLf & _

" Marca: " & txtMarca & "" & vbCrLf & _

" Modelo: " & txtModelo & "" & vbCrLf & "" _

, vbInformation + vbDefaultButton1 + vbYesNo, "Aviso Alta") = vbNo Then

 Call Deshacer

 Exit Sub

Else

  Call GuardarDatos

End If

If MsgBox("   ¿Desea realizar nueva Alta?", vbInformation + vbYesNo, "Altas") = vbYes Then

 ' El usuario eligió el botón Sí borramos el registro actual

 Call Deshacer

Else    ' El usuario eligió el botón No.

DoCmd. Close acForm, Me. Name

DoCmd. OpenForm "FPortada"

End If

Ahora viene la cuestión, si no inserto nada en el campo txtAltaCP, me salta el primer msgbox, inserto el dato correspondiente y todo bien, pulso nuevamente guardar y si no he seleccionado nada en el Marco118 (Si-No), no me salta el msgbox y se va directamente a si deseo dar de alta.

Esto mayormente lo hago por si no se inserta ningún dato en txtAltaCP y no se ha seleccionado ninguna opción en el Marco118.

Me podríais indicar donde pudiera estar el error, o si por el contrario tengo que realizarlo de otra forma.

1 respuesta

Respuesta
2

Vamos a ver si me explico. No usaría tres condiciones If independientes. Pondría, por ejemplo,

If isnull([txtaltaCP]) then

msgbox.....

Quitaria lo de exit sub

elseif isnull([marco118]) then

msgbox....

elseif msgbox"¿Desea dar de alta.....=vbno then

.....

elseif msgbox"¿Desea cerrar....."=vbyes then

....

end if

Me explico, primero comprueba el primer if, si no es nulo, comprueba el segundo, si no es nulo, comprueba el tercero,...

Por último, ¿has comprobado en las propiedades del grupo de Opciones-Otras-Nombre si se llama así?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas