Visual Basic - validar textbox para que no quede vacio

Life is soft - evento anual de software empresarial
 
Vista:

validar textbox para que no quede vacio

Publicado por Alfredo (3 intervenciones) el 29/04/2008 08:13:22
cómo puedo validar un textbox para impedir que quede vacío????/, muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:validar textbox para que no quede vacio

Publicado por niwdeloko (8 intervenciones) el 29/04/2008 15:24:25
bueno en el evento Lostfocus
preguntas si el texto esta vacio ..

if text4.text <> "" then
else
Text4.SetFocus
SendKeys "{Home}+{End}"
endif

espero te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:validar textbox para que no quede vacio

Publicado por Diego (211 intervenciones) el 29/04/2008 23:25:54
Si queremos estar SEGUROS de que un textbox no quedara vacio, yo tampoco veo otra forma que no sea con un boton, porque como dice manuel si el usuario pincha en otro control no se producira el evento lostfocus. Me encantaria que alguien me ilustrara si se puede hacer de otra manera.

VB v6 no esta muerto, pero tiene los dias contados. Aunque hay miles de aplicaciones con millones de lineas de codigo que requeriran mantenimiento, y tendremos que hacerlo en VB nos guste o no. A mi me gusta, y he hecho casi de todo en VB v6.No me hacia ninguna falta que viniera al tio Gates a complicarme la vida con su .NET.

Por cierto, antes en .net para mostrar un formulario desde otro tenias que volver a ir a la escuela, ahora veo con agrado que vuelve a funcionar el Form1.show de toda la vida. ¿Significara esto que estan compatibilizando hacia atras? Seria una buena cosa que los que hemos crecido con VB pudieramos programar en .NET sin complicarnos la vida con POOO herencias y polimorfismos, que al menos a mi, todavia no me interesan.

Saludos y que no llegue la sangre al rio.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:validar textbox para que no quede vacio

Publicado por Alfredo (67 intervenciones) el 30/04/2008 03:32:14
Amigos, mi intención no era generar un conflicto de opiniones, en cuanto a sus respuestas les diré lo siguiente:

ya utilicé:

If Text1.text = "" then
msgbox "vacio"
Endif
y la verdad que no me funciona, pues si le doy un espacio ya no me dice que está vacio, les agradezco su ayuda y me gustaría que no se enfrentáran más, pues lo que necesitamos los que no sabemos es ayuda.....espero no ofenderlos con estas palabras y que me puedan echar la mano con algunas otras sugerencias.....salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan Carlos

RE:validar textbox para que no quede vacio

Publicado por Juan Carlos (106 intervenciones) el 30/04/2008 05:26:43
Y si probás con

If Trim(Text1.Text) = "" Then
MsgBox "vacio"
End If

Así ignorás los espacios

Saludos cordiales
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:validar textbox para que no quede vacio

Publicado por Alfredo (67 intervenciones) el 30/04/2008 06:57:00
Juan Carlos, muchas gracias, al parecer es lo que necesito....salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:validar textbox para que no quede vacio

Publicado por Federico Alemany (3 intervenciones) el 04/05/2008 06:45:55
IF LEN(TEXT1.TEXT) = 0 THEN
MSGBOX("EL CAMPO TEXT1 ESTA VACIO")
TEXT1.SETFOCUS
END IF

Espero que te sirva. Un abrazo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:validar textbox para que no quede vacio

Publicado por Diego (211 intervenciones) el 04/05/2008 14:21:22
Todas estas respuestas son correctas si el foco esta en la caja de texto, pero imaginaros que justo antes de llegar a ella, el usuario (que siempre es dificil prever lo que va a hacer) hace click en otro control y se salta nuestra caja de texto. No podemos validarla porque nos la hemos saltado y el compòrtamiento de la aplicacion sera imprevisible.

Esto es justo lo que decia Manuel e insistia yo, pero parece que las respuestas ignoran este punto.
Bueno, lo dicho, que Dios reparta suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:validar textbox para que no quede vacio

Publicado por Nedved83 (1 intervención) el 13/12/2008 20:09:09
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Function valida() As Boolean
 
    Dim Obj As Object
 
    For Each Obj In Me.Controls
            If Obj.Tag = "valida" Then
                If Trim(Obj.Text) = "" Then
                    MsgBox "Campo por validar", vbInformation
                    Obj.SetFocus
                    valida = False
                    Exit For
                Else
                    valida = True
                End If
            End If
    Next
 
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:validar textbox para que no quede vacio

Publicado por Victor A. (1 intervención) el 14/09/2013 19:32:08
Excelente este me sirvio saludos y gracias para todos aquellos que comparten informacion como esta. gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:validar textbox para que no quede vacio

Publicado por Lester (1 intervención) el 14/10/2013 20:35:29
Gracias!! me ayudo mucho :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:validar textbox para que no quede vacio

Publicado por MIGUEL (4 intervenciones) el 09/08/2011 19:32:00
Gracias!!!
1
2
3
If Trim(Text1.Text) = "" Then
MsgBox "vacio"
End If

me sirvio el trim ya que me valida los espacios de mis cajas de texto, en verdad gracias...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Campo_requerido()
    Dim T As Control
    For Each T In Me.Controls
        If TypeOf T Is TextBox Then
            If Trim(T.Text) = "" Then
                camporequerido.SetError(T, "Campo Requerido")
                'Else   
                '    MessageBox.Show("Dot Net Perls is awesome.")
            End If
        Else
            ' mesagebox aqui hay otro control diferente de textbox
 
        End If
    Next
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:validar textbox para que no quede vacio

Publicado por ernesto (1 intervención) el 15/12/2011 22:15:33
me parece muy bien lo de juan carlos, pero si tienes varios textbox vacios como hacer para que aparesca el foco en el primer campo vacio, o si tienes varios campos vacios que te muestre un msg indicandote que tienes campos vacios y te localice en el primer campo vacio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:validar textbox para que no quede vacio

Publicado por John Jairo Rivera (1 intervención) el 20/08/2018 20:05:53
Yo usé esta función para validar:

1
2
3
4
5
6
7
8
9
10
11
Private Function validar_campos() As Boolean
    If Trim(TextBox1.Text) = "" Then
        MsgBox "Ingrese el primer número"
        validar_campos = False
   ElseIf Trim(TextBox2.Text) = "" Then
        MsgBox "Ingrese el segundo número"
        validar_campos = False
    Else
        validar_campos = True
    End If
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:validar textbox para que no quede vacio

Publicado por Vespaciano (1 intervención) el 27/01/2020 14:29:51
Dada mi ignorancia tengo que preguntar: ¿dónde escribo éste código? me refiero si va en el UserForm, en la hoja o en ThisWorkbook . Por otra parte consulto, aunque creo que la respuesta es obvia: mi formulario tiene 16 TextBox por lo tanto ¿debo repetir desde ElseIf cambiando el número de TextBox hasta el final? supongo que SI.
Gracias por su ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:validar textbox para que no quede vacio

Publicado por PEDRO PABLO RIBERA CAYU (1 intervención) el 02/02/2023 03:34:00
'Codigo para controlar que no hayan campos de TextBox vacios

Private Sub CommandButton1_Click()
Dim Control
Dim x As String
For Each Control In Controls
x = UCase(TypeName(Control))
If x = "TEXTBOX" Then
If Control.Text = Empty Then
MsgBox "Hay campos Vacios", vbCritical, "AVISO"
Control.SetFocus
Exit For

End If
End If

Next Control
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:validar textbox para que no quede vacio

Publicado por GONZALO (1 intervención) el 14/03/2024 23:14:30
Use el trim pero aun así me sigue contando los espacios en blanco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:validar textbox para que no quede vacio

Publicado por JuanBayona (1 intervención) el 06/07/2017 22:56:07
Alfredo este es el codigo en VB

1
2
3
4
if Text1.text = "" Then
    MessageBox.Show("vacio")
 
End If
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:validar textbox para que no quede vacio

Publicado por Arturo Alcazar (1 intervención) el 19/06/2010 10:06:37
Saludos....

Se que ha pasado mucho tiempo desde que se publico este post, pero la solucion que yo encontre es la siguiente:

1
Me.txtCajaTexto.Clear()
Ahora, tambien depende si de ahi haces buisquedas con una base de datos y reflejadas en un datagrid, a mi me funciono muy bien, ese codigo lo puse en el boton que hace la funcion de limpiar el textbox, y asi ya valida lo que tengas que realizar, si esta vacio, no muestra nada, y si tiene texto, ya te muestra los resultados, anexo lo siguiente para que te des una idea:

En el boton de buscar puse lo siguiente:

1
2
3
4
5
6
7
8
If txtCajaTexto.Text.Length = 0 Then
    MsgBox("Ingrese el texto a buscar", MsgBoxStyle.Critical, "Operacion no valida")
 
else
 
    Me.XXXTableAdapter.FillByEJEMPLO(XXXDataSet.XXX, "%" & txtCajaTexto.Text & "%")
 
end if
Espero y te sea de utilidad...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

validar textbox para que no quede vacio

Publicado por Josue Carhuaricra (1 intervención) el 22/03/2014 13:20:37
*/**************************************************************************************
*************** ****************** ***************** *********************** ************
TextBox: el nombre de la caja de texto dentro de un formulario (me.txtDNI)
Mensaje: si esta vacio muestra un mensaje ("Ingrese el DNI")

'Verifica La caja de texto si esta vacio llamando de cualquier formulario

1
2
3
4
5
6
7
8
9
10
11
Function EspacioBlanco(TextBox As Control, Mensaje As String) As Boolean
 
    If TextBox.Text = "" Then
        MsgBox (Mensaje), vbInformation
        TextBox.SetFocus  ' Te ubica la caja de texto no rellenado
        EspacioBlanco = True
        Exit Function
    Else
        EspacioBlanco = False
    End If
End Function

*/--------------&#9658; Si encuentran un mejor forma de hacerlo, no dudes en compartirlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

validar textbox para que no quede vacio

Publicado por FVALDEZ (1 intervención) el 14/05/2014 18:36:06
BUENAS, ME QUIERO METER EN LO DE LA PROGRAMACION..... Y ESTOY TRATANDO DE HACER UNA APLICACION
Y ESTOY TRABAJANDO CON EL EDITOR DE ACCESS...
Y NO HE PODIDO ACOMODAR ESTO DE LA VALIDACION DEL CAMPO REQUERIDO...
PARA EMPEZAR QUE SINTAXIS USARIA EN ESTE EDITOR, POR QUE ESTOY VIENDO QUE CON EL LENGUAGE VB LOS REFIERE DIFERENTE....EN CUANTO A LAS CAJAS DE TEXTO...
Y UNA PREGUNTA JOSUE, ESTA FUNCION DESDE QUE EVENTO LA PODEMOS LLAMAR PARA QUE APLIQUE...
YA HE TRATADO CON LOS EJEMPLOS DE ATRAS,,, AL PERDER EL FOCO DEL CAMPO,,,,, AL RECIBIR EL FOCO EN EL CAMPO SIGUIENTE Y PONIENDO LA CONDICION " IF " CONDICIONANDO EL CAMPO ANTERIOR SI ESTA VACIO...
Y LA VERDAD NO LO HE PODIDO ACOMODAR...
Y MI IDEA ES VALIDAR AL ESTAR CAPTURANDO LOS DATOS QUE VAYA VALIDANDO CAMPO X CAMPO, NO AL GRAVAR
HAVER SI ALGUIEN ME PUEDE APOYAAR,,, MUCHAS GRACIAS...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

validar textbox para que no quede vacio

Publicado por Hilder Brando (1 intervención) el 19/04/2014 03:30:42
La opción que encontre y me resulto segun lo que yo queria fue asi:

1
2
3
4
5
If TextBox1 = Empty Then
TextBox1.SetFocus
Else
'resto del codigo a ejecutar
End if

Si hay un campo vacio lo devuelve al formulario y no lo manda a depurar codigo que es lo que se quiere.
Ya ahi pues se podria mostrar un msj diciendo que faltan campos o realizar un procedimiento para identificarlos y guardarlos en una variable para mostrarlos en un msgbox.

Bueno esa es mi opinión espero le sirva a alguien que como yo llegue a esta pagina con preguntas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

validar textbox para que no quede vacio

Publicado por David (1 intervención) el 27/05/2016 20:46:09
Yo ocupo este código espero que les sirva.


1
2
3
4
5
6
7
8
9
10
Private Sub full_botton01_Click()
 
Dim RESPUESTA As Integer
 
If IsNull(texto01) Or texto01 = "" Then
RESPUESTA = MsgBox("Debe ingresar fecha del proceso (aaaammdd)", vbCritical)
texto01.SetFocus: Exit Sub
End If
 
End Sub

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

focus

Publicado por Leo (1 intervención) el 02/01/2017 18:50:58
como puedo hacer que al salir una ventana en vbscipt, ejemplo una ventana de advertencia, no me deje hacer nada, hasta que no presione
boton aceptar? que no me deje abrir ni un archivo ni nada y me largue el foco en la ventana de advertencia, hasta presionar el boton aceptar...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

habilit

Publicado por hugocities (1 intervención) el 27/04/2019 05:58:13
ESTE script de comensal me dio resultado, son 7 cajas de texto espero les guste:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
Private Sub T1_Change()
If T1.Value = "" Then
T2.Enabled = False
Else
T2.Enabled = True
End If
cb1.Enabled = False
 
End Sub
 
 
Private Sub T2_Change()
If T2.Value = "" Then
T3.Enabled = False
Else
T3.Enabled = True
End If
cb1.Enabled = False
 
End Sub
 
Private Sub T3_Change()
If T3.Value = "" Then
T4.Enabled = False
Else
T4.Enabled = True
End If
cb1.Enabled = False
 
End Sub
 
Private Sub T4_Change()
If T4.Value = "" Then
T5.Enabled = False
Else
T5.Enabled = True
End If
cb1.Enabled = False
 
End Sub
 
Private Sub t5_change()
If T5.Value = "" Then
T6.Enabled = False
Else
T6.Enabled = True
End If
cb1.Enabled = False
 
End Sub
 
Private Sub T6_Change()
If T6.Value = "" Then
T7.Enabled = False
Else
T7.Enabled = True
End If
cb1.Enabled = False
 
End Sub
 
Private Sub T7_Change()
If T7.Value = "" Then
cb1.Enabled = False
Else
cb1.Enabled = True
End If
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 355
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

habilit

Publicado por raul (160 intervenciones) el 27/01/2020 15:28:19
Creo si entendi bien que Alfredo el problema central es: [Que el textbox no quede vacio, alertando cuales campos estan vacios.]

Una solución limpia es crear un ARRAY de LABEL y TEXBOX ejem [label1(0).Caption = "Nombre"] puesto al lado de un texbox con el mismo Indice [en este caso 0]

Luego creas una simple funcion con la siguiente sintaxis
1
2
3
4
5
6
7
8
9
10
11
private function CHEQUEAR() as boolean
    CHEQUEAR = FALSE
    DIM BUCLE as INTEGER
    FOR BUCLE =0 TO UBOUND(textbox)
         if len(textbox(bucle).text) =0 then
                msgbox"Operación Cancelada: No se incluye el valor para el campo " & label1(bucle).cation, vbcritical
                exit function
         end if
   next bucle
   CHEQUEAR = TRUE
end sub

Luego en el mismo boton que empleas para guardar o ejecutar algun calculo empleas lo siguiente
1
2
3
4
5
private sub TXT_CLICK()
   if chequear = true then
       'Operación a ejecutar
   end if
end sub

Ahora bien esto resuelve parcialmente el tema ya que impide la ejecución de cualquier acción hasta que todos los campos no esten llenos.
Pero si lo que quieres es garantizar que exista un valor inicial en las cajas de texto podriamos hacer algo como esto

1
2
3
4
5
6
Private sub STAR()
    DIM BUCLE as INTEGER
    FOR BUCLE =0 TO UBOUND(textbox)
         textbox(Bucle).text =0
    NEXT Bucle
EN Sub

luego en el evento load de el formulario haces la llamada a la SuB [CALL STAR] ahora ya tenemos un valor inicial en las cajas de texto pero que pasa si intencionalmente el usuario borra el valor de la caja de texto... quedara atrapado por la función chequeo que impedira que las operaciones se realicen. Pero realmente tampoco nos sirve porque si alguna de las cajas de texto es dependiente del valor de la siguiente nos generaria un error antes de que la función lo prevenga en esta caso podemos hacer lo siguiente.

a nivel de modulo agregamos una variable como variant

1
2
option explicit
dim SOLVER as variant

empleamos la llamada a la sub STAR de de el evento load del form para que escriba un valor inicial en todas las cajas de texto y luego como estamos en una array de textbox buscamos el evento GOTFOCUS

1
2
3
Private Sub text1_GotFocus(Index As Integer)
    solver = text1(Index).Text
End Sub

y luego en el evento LOSTFOCUS

1
2
3
4
5
Private Sub text1_LostFocus(Index As Integer)
    If Len(text1(Index).Text) = 0 Then
        text1(Index) = solver
    End If
End Sub

Que hemos hecho
1- Darle un valor inicial a cada caja de Texto
2- Copiar el valor de cada caja de texto cuando recibe el cursor
3- Cuando el cursor se valla de esta caja nos aseguramos que no quede vacia en cuyo caso le ponemos el mismo valor que tenia cuando recibio el cursor.

Nota con esta ultima rutina nos sobraria la función porque hemos prevenido que nunca quede vacia. Porque usar una vartiable VARIANT porque tal vez en la sub STAR se te ocurrira hacer lago como esto

text1(0).text = Date(): TEXT(1).text = "Nombre1": text1(2).text = "000000000000" ... en cuyo caso necesitas un variant

Espero te sirvan las soluciones
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar