Validación

Hola.
Bueno mi duda es la siguiente.
Tengo una encuesta y por cada pregunta tengo una etiqueta en donde va la pregunta, 5 option y un botón, bueno lo que quiero es que el botón no me deje avanzar si forzosamente no he elegido una opción, osea que si no he elegido ni una opción me mande un mensaje de error, o algo que me avise que debo de elegir una, espero me puedan ayudar gracias

1 Respuesta

Respuesta
1
Te doy 3 opciones:
1.- Establecer la propiedad "Value" a "True" de un Option de forma predeterminada, así no tendrías que validar nada.
2.- Si forzosamente debes tener todos los Option en "False", te sugiero que crees una matriz con tus 5 Option y la recorras con un ciclo de la siguiente forma:
Private Sub VerificarOptionButton()
    Dim i As Integer
    Dim Activo As Boolean
    Activo = False
    For i = 0 To 4
        If Option1(i).Value = True Then
            'hay al menos uno seleccionado, _
            salir del ciclo y continuar la encuesta
            Activo = True
            Exit For
        End If
    Next i
    If Activo = False Then
        MsgBox "Debe seleccionar al menos una opción", _
        vbInformation, "Falta informacion para continuar"
    End If
End Sub
El procedimiento anterior lo puedes mandar llamar cuando presiones el botón, por ejemplo:
Private Sub Command1_Click()
    VerificarOptionButton
End Sub
3.- Si no te quieres complicar con matrices de controles, pues simplemente has un IF que compare todos los Option, puede ser le da siguiente forma:
Private Sub VerificarOptionButton()
    If Option1.Value = True Or _
        Option2.Value = True Or _
        Option3.Value = True Or _
        option4.Value = True Or _
        Option5.Value = True Then
        'hay al menos uno seleccionado, _
        continuar la encuesta
    Else
        MsgBox "Debe seleccionar al menos una opción", _
        vbInformation, "Falta informacion para continuar"
    End If
End Sub
Espero haber sido de ayuda, si tienes alguna otra duda puedes consultarme.
Saludos desde México. Juan Pablo E.P.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas