none
valores de mayor que y menor que?? RRS feed

  • Pregunta

  • hola estoy manejando mayor que y menor que . lo que intento hacer es que al dar click me salga el resultado . les dejo el codigo a ver si me pueden dar una mano.

    uno de los problemas que tengo con el codigo que desarrolle es que al dar click, me muestra todos los msgbox, y me gustaria que solo me desplegara el msgbox exacto.

    gracias.

        Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
            Dim num As Integer

            If Form3.ComboBox1.SelectedIndex = 3 Then
                num = Val(TextBox5.Text)
                If num < 12.0 Then
                    MsgBox("No Reactivo", MsgBoxStyle.Exclamation, "")
                End If
                If num >= 12.0 <= 14 Then
                    MsgBox("Zona Gris", MsgBoxStyle.Exclamation, "")
                End If
                If num >= 22.0 Then
                    MsgBox("Reactivo", MsgBoxStyle.Exclamation, "")
                End If
            End If

            If Form3.ComboBox1.SelectedIndex = 4 Then
            End If
            num = Val(TextBox5.Text)
            If num < 18.0 Then
                MsgBox("No Reactivo", MsgBoxStyle.Exclamation, "")
            End If
            If num >= 18.0 <= 22.0 Then
                MsgBox("Zona Gris", MsgBoxStyle.Exclamation, "")
            End If
            If num >= 22.0 Then
                MsgBox("Reactivo", MsgBoxStyle.Exclamation, "")
            End If
        End Sub
    End Class

    lunes, 30 de mayo de 2016 18:34

Respuestas

  • Creo que lo único que está mal es que el segundo bloque de IF (el que empieza por If Form3.ComboBox1.SelectedIndex = 4 Then) tiene inmediatamente debajo el End If, que en realidad debería ir al final, justo antes del End Sub.

    Aparte de eso, sería bueno que a todos los if les fueras poniendo el Else, aunque en realidad no sea imprescindible porque son excluyentes, pero sería ligeramente más eficiente y posiblemente también más claro de leer. Por ejemplo:

                If num < 12.0 Then
                    MsgBox("No Reactivo", MsgBoxStyle.Exclamation, "")
                 Else If num >= 12.0 <= 14 Then
                    MsgBox("Zona Gris", MsgBoxStyle.Exclamation, "")
                 Else If num >= 22.0 Then
                    MsgBox("Reactivo", MsgBoxStyle.Exclamation, "")
                End If

    Y similarmente los demás bloques.

    lunes, 30 de mayo de 2016 18:42
  • Razeck3254,

    Debe restringir el flujo a un sólo camino haciendo uso de ELSEIF

    If Form3.ComboBox1.SelectedIndex = 3 Or Form3.ComboBox1.SelectedIndex = 4 Then	
    	If num < 12.0 Then
    		MsgBox("No Reactivo", MsgBoxStyle.Exclamation, "")	
    	ElseIf num >= 12.0 And <= 14 Then
    		MsgBox("Zona Gris", MsgBoxStyle.Exclamation, "")	
    	ElseIf num >= 22.0 Then
    		MsgBox("Reactivo", MsgBoxStyle.Exclamation, "")
    	End If
    End If

    Haga lo mismo con el siguiente bloque

    lunes, 30 de mayo de 2016 18:40

Todas las respuestas

  • Razeck3254,

    Debe restringir el flujo a un sólo camino haciendo uso de ELSEIF

    If Form3.ComboBox1.SelectedIndex = 3 Or Form3.ComboBox1.SelectedIndex = 4 Then	
    	If num < 12.0 Then
    		MsgBox("No Reactivo", MsgBoxStyle.Exclamation, "")	
    	ElseIf num >= 12.0 And <= 14 Then
    		MsgBox("Zona Gris", MsgBoxStyle.Exclamation, "")	
    	ElseIf num >= 22.0 Then
    		MsgBox("Reactivo", MsgBoxStyle.Exclamation, "")
    	End If
    End If

    Haga lo mismo con el siguiente bloque

    lunes, 30 de mayo de 2016 18:40
  • Creo que lo único que está mal es que el segundo bloque de IF (el que empieza por If Form3.ComboBox1.SelectedIndex = 4 Then) tiene inmediatamente debajo el End If, que en realidad debería ir al final, justo antes del End Sub.

    Aparte de eso, sería bueno que a todos los if les fueras poniendo el Else, aunque en realidad no sea imprescindible porque son excluyentes, pero sería ligeramente más eficiente y posiblemente también más claro de leer. Por ejemplo:

                If num < 12.0 Then
                    MsgBox("No Reactivo", MsgBoxStyle.Exclamation, "")
                 Else If num >= 12.0 <= 14 Then
                    MsgBox("Zona Gris", MsgBoxStyle.Exclamation, "")
                 Else If num >= 22.0 Then
                    MsgBox("Reactivo", MsgBoxStyle.Exclamation, "")
                End If

    Y similarmente los demás bloques.

    lunes, 30 de mayo de 2016 18:42