Programación General > Visual Basic para principiantes

 Dudas Con El "if"

(1/2) > >>

gabo87:
Hola a todos, me gustaria saber si alguien puede respoder mi siguiente duda
No se si se puede o si hay una forma mas sencilla de hacerla, bueno el problema que tengo es que cuando un usuario ingresa en un textbox que esta declarado como single se equivoca e ingresa texto por ejemplo, entonces en la subrutina se produce el error, yo quisiera saber si hay forma de evitar dicho error, yo pense en un if preguntando una cosa asi if text1 <> text1 as single (estuve probando de varias mameras y no se pudo, quizas no se pueda hacer o se hace de alguna otra mamera)
Desde ya quien/quienes puedan responder esta pregunta muchas gracias!.
Salu2
Gabriel

ElNapster:
Para evitarlo  podes utilizar un

--- Código: Text --- On Error GoTo Maneja_Error ' tu codigo    Maneja_Error:   'aca controlarias el error 

Pero en realidad lo que tenes que hacer es verificar lo que el usuario esta ingresando en el texbox , podrias hacerlo en el evento LOSTFOCUS y verificas los datos ingresados, y si todo bien dejas que el usuario se mueva de posicion de lo contrario le das una alerta...

 :comp:

gabo87:

--- Cita de: "ElNapster" ---Para evitarlo  podes utilizar un

--- Código: Text --- On Error GoTo Maneja_Error ' tu codigo    Maneja_Error:   'aca controlarias el error 

Pero en realidad lo que tenes que hacer es verificar lo que el usuario esta ingresando en el texbox , podrias hacerlo en el evento LOSTFOCUS y verificas los datos ingresados, y si todo bien dejas que el usuario se mueva de posicion de lo contrario le das una alerta...

 :comp:
--- Fin de la cita ---
Estuve probando y la verdad no me doy cuenta como hacerlo  :(

ElNapster:
:o  ..... como lo estas haciendo ?
envia el codigo o parte de el .. para ver como lo estas haciendo


 ;)

gabo87:

--- Cita de: "ElNapster" --- :o  ..... como lo estas haciendo ?
envia el codigo o parte de el .. para ver como lo estas haciendo


 ;)
--- Fin de la cita ---
esto es lo que vengo haciendo, es un trabaja práctico

Option Explicit
Dim aux, i, a, ban As Integer
Private Sub compras_Click()
    lbl1.Visible = True
    lbl2.Visible = True
    lbl3.Visible = True
    lbl4.Visible = True
    txtcodart.Visible = True
    txtnombre.Visible = True
    txtcanting.Visible = True
    txtunidades.Visible = True
    ingresar.Visible = True
    Form1.Caption = "             Compra, venta y stock de mercaderías"
End Sub

Private Sub ingresar_Click()
    If (txtcodart <> "") And (txtnombre <> "") And (txtcanting <> "") And (txtunidades <> "") Then
        If (txtunidades = "U") Or (txtunidades = "K") Or (txtunidades = "L") Or (txtunidades = "M") Or (txtunidades = "u") Or (txtunidades = "k") Or (txtunidades = "l") Or (txtunidades = "m") Then
            If txtcanting > 0 Then
                aux = aux + 1
                ban = 0
                If aux = 1 Then
                    heterogeneo(aux).stkCodArt = txtcodart
                    heterogeneo(aux).stkNomArt = txtnombre
                    heterogeneo(aux).stkCant = txtcanting
                    heterogeneo(aux).stkUnidad = txtunidades
                    txtcodart = ""
                    txtnombre = ""
                    txtcanting = ""
                    txtunidades = ""
                    txtcodart.SetFocus
                    MsgBox "Aceptado"
                Else
                    For i = 1 To 6
                        If i < 6 Then
                            If txtcodart = heterogeneo(i).stkCodArt Then
                                heterogeneo(i).stkCant = heterogeneo(i).stkCant + txtcanting
                                txtcodart = ""
                                txtnombre = ""
                                txtcanting = ""
                                txtunidades = ""
                                txtcodart.SetFocus
                                aux = aux - 1
                                ban = 1
                                MsgBox "Aceptado"
                            End If
                        Else
                                If aux < 6 Then
                                    If heterogeneo(aux).stkCodArt = "" Then
                                        heterogeneo(aux).stkCodArt = txtcodart
                                        heterogeneo(aux).stkNomArt = txtnombre
                                        heterogeneo(aux).stkCant = txtcanting
                                        heterogeneo(aux).stkUnidad = txtunidades
                                        txtcodart = ""
                                        txtnombre = ""
                                        txtcanting = ""
                                        txtunidades = ""
                                        txtcodart.SetFocus
                                        ban = 1
                                        MsgBox "Aceptado"
                                        Exit Sub
                                    End If
                                Else
                                    If ban = 0 Then
                                        MsgBox "Rechazado"
                                        txtcodart = ""
                                        txtnombre = ""
                                        txtcanting = ""
                                        txtunidades = ""
                                        txtcodart.SetFocus
                                    End If
                                End If
                        End If
                    Next
                End If
            Else
                MsgBox "Debe ingresar valores numérios positivos"
                txtcanting = ""
                txtcanting.SetFocus
                Exit Sub
            End If
        Else
            MsgBox "Debe ingresar un valor correcto, U, K, L o M"
            txtunidades = ""
            txtunidades.SetFocus
            Exit Sub
        End If
    Else
        If txtcodart = "" Then
            MsgBox "Deben estar completos todos los campos"
            txtcodart.SetFocus
            Exit Sub
        Else
            If txtnombre = "" Then
                MsgBox "Deben estar completos todos los campos"
                txtnombre.SetFocus
                Exit Sub
            Else
                If txtcanting = "" Then
                    MsgBox "Deben estar completos todos los campos"
                    txtcanting.SetFocus
                    Exit Sub
                Else
                    If txtunidades = "" Then
                        MsgBox "Deben estar completos todos los campos"
                        txtunidades.SetFocus
                        Exit Sub
                    End If
                End If
            End If
        End If
    End If
End Sub
-----------------------------------------------
Private Sub txtcanting_LostFocus()
    if txtcanting
    Beep                                               ???
    txtcanting.SetFocus
End Sub
------------------------------------------------

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa