Visual Basic - Permitir un textbox vacio

Life is soft - evento anual de software empresarial
 
Vista:
Imágen de perfil de Maria Rafaella

Permitir un textbox vacio

Publicado por Maria Rafaella (1 intervención) el 23/12/2013 23:15:57
Hola, soy nueva en programación con visual basic y tengo un programa enlazado con una base de datos de Access, el programa tiene varios textbox en los cuales se llenaran los datos a la base de datos, mi problema es que requiero que algunos textbox queden vacios momentáneamente pero al ejecutar el programa y dar clic en guardar no me lo permite me dice: La conversión de la cadena "" en el tipo 'Integer' no es válida.
Este es mi código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Dim l As Integer
Dim a, b, c, d As Date
Dim o, t, u, v, x, y As String
l = TextBox1.Text
a = TextBox2.Text
b = TextBox3.Text
c = TextBox4.Text
d = TextBox5.Text
o = TextBox6.Text
t = TextBox7.Text
u = TextBox8.Text
v = TextBox9.Text
x = TextBox10.Text
y = TextBox11.Text
Try
    Dim consulta As String
    consulta = "INSERT INTO Bitacora (NoTicket, FechaEntrada, HoraEntrada, FechaReparación, HoraReparación, Reporte, Cerrado, Solución, Observaciones, Departamento, Usuario) VALUES ('" & l & "','" & a & "','" & b & "','" & c & "','" & d & "','" & o & "','" & t & "','" & u & "','" & v & "','" & x & "','" & y & "')"
    adaptador = New OleDb.OleDbDataAdapter(consulta, conexion)
    registro = New DataSet
    adaptador.Fill(registro, "Bitacora")
Catch j As Exception
    MsgBox("Verifique que los datos sean correctos", vbOKOnly & vbCritical, "Error")
End Try

Espero me puedan ayudar y de antemano 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
sin imagen de perfil

Permitir un textbox vacio

Publicado por pedro Luis (56 intervenciones) el 24/12/2013 12:47:12
Efectivamente un campo Integer no admitira nunca un "" pero quizas si admita un null.
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: 2
Ha aumentado su posición en 10 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Permitir un textbox vacio

Publicado por Gabriel (19 intervenciones) el 26/12/2013 18:24:47
Maria,

Suponiendo que estas obligada a dar datos a la BD pero a no llenar esos datos se podria solucionar con agregarle null al atributo en la BD pero, al ser un Integer no se puede. Por lo tanto te recomiendo que le agregues un control de los TextBox que van a un Integer de que si el .text = "" entonces que .text="0".

Algo asi seria
1
2
3
4
5
6
7
8
...
Try
Dim consulta As String
if  TextBox1.Text = "" then: textbox1.text = 0
if  TextBox2.Text = "" then: textbox2.text = 0
if  TextBox3.Text = "" then: textbox3.text = 0
if  TextBox4.Text = "" then: textbox4.text = 0
consulta = ...

Suerte :D
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: 6
Ha disminuido su posición en 26 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Permitir un textbox vacio

Publicado por alejo (4 intervenciones) el 27/01/2019 19:31:07
Yo solo por preguntar, perdon antes que todo. mi duda es que al parecer tengo el mismo problema, es que tengo que dejar un textbox vacio del todo, o sea que al dejarlo cosa que no susede con Text1.text = "" porque este al enfocarlo de nuevo guarda un espacio y entoces al ingresar el dato queda con un espacio al inicio. y asi susesivamente me va dejando un espacio mas cada vez que ingreso en el caudro de texto como haria para dejarlo vacio totalmente?
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

Permitir un textbox vacio

Publicado por Delacoba (11 intervenciones) el 31/01/2019 09:10:01
Podrías meter en la variables las comillas para que en caso de que esté vacío en vez de algo entre comillas lo que se manda a la base de datos es el literal null

algo así para cada variable

1
2
3
4
5
6
7
l = TextBox1.Text
 
If l = "" then
    l ="null"
Else
    l = "'" & l & "'"
Endif


Y luego en la línea de la consulta quitar todas las comillas simples

1
consulta = "INSERT INTO Bitacora (NoTicket, FechaEntrada, HoraEntrada, FechaReparación, HoraReparación, Reporte, Cerrado, Solución, Observaciones, Departamento, Usuario) VALUES ( "& l & "," & a & ","

Bueno espero haberme explicado

Un saludo
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