Foros del Web » Programación para mayores de 30 ;) » .NET »

Realizar busqueda habilitando 3 campos (vb2010)

Estas en el tema de Realizar busqueda habilitando 3 campos (vb2010) en el foro de .NET en Foros del Web. Buenas tarde, el motivo por el que abro un nuevo tema es porque estoy tratando de realizar una busqueda habilitando/deshabilitando 3 campos de texto. Para ...
  #1 (permalink)  
Antiguo 21/10/2011, 10:24
 
Fecha de Ingreso: junio-2009
Mensajes: 15
Antigüedad: 14 años, 10 meses
Puntos: 1
Pregunta Realizar busqueda habilitando 3 campos (vb2010)

Buenas tarde, el motivo por el que abro un nuevo tema es porque estoy tratando de realizar una busqueda habilitando/deshabilitando 3 campos de texto.

Para la realizacion de esta busqueda estoy utilizando 3 textbox (serial,ip e ip inalambrica); la idea es q el usuario pueda habilitar la busqueda de cada texbox dando click a un cheekbox; por eiemplo si desea buscar por el serial, al habilitar el cheekboox y al escribir el codigo este deberia realizar la busqueda; lo mismo pasa con ip e ip inalambrica.

¿Cual es el problema?
que al hacer la busqueda por serial no hace nada y al hacerla por la ip inalambrica me arroja un msj ya predefinido por mi si el codigo no existe, el unico valor q si me busca es con la direccion ip.

a continuacion el codigo
************************************************** ************************************************** ************
Dim QueryCode As String = "SELECT * FROM laptos WHERE codigo_lapto =" & TxtBserial.Text & ""
Dim QueryIp As String = "SELECT * FROM laptos WHERE ip ='" & TxtBIp.Text & "'"
Dim QueryIpIna As String = "SELECT * FROM laptos WHERE ip_inalambrica ='" & TxtBIpIna.Text & "'"


If TxtBIp.Text = "" And TxtBIpIna.Text = "" Then
Dim cmd As New OleDb.OleDbCommand(QueryCode, cn)
Dim dr As OleDb.OleDbDataReader
cn.Open()
dr = cmd.ExecuteReader
If dr.Read Then
TxtSerial.Text = dr("codigo_lapto")
TxtIp.Text = dr("ip")
TxtIpIna.Text = dr("ip_inalambrica")
TxtNomEqui.Text = dr("Nombre_del_equipo")
TxtDominio.Text = dr("Dominio")
TxtNomUsa.Text = dr("Nombre_del_usuario")
TxtUbicacion.Text = dr("ubicacion")
TxtDepar.Text = dr("departamento")

TxtSo.Text = dr("so")
TxtOffice.Text = dr("office")
TxtRam.Text = dr("memoria")
TxtDd.Text = dr("dd")
TxtDvd.Text = dr("dvd")
TxtProcesador.Text = dr("procesador")
TxtBits.Text = dr("bits")
Txtaccesorio.Text = dr("accesorios")

Else
MsgBox("EL REGISTRO NO EXISTE")
End If
cn.Close()
ElseIf TxtBserial.Text = "" And TxtBIpIna.Text = "" Then
Dim cmd As New OleDb.OleDbCommand(QueryIp, cn)
Dim dr As OleDb.OleDbDataReader
cn.Open()
dr = cmd.ExecuteReader
If dr.Read Then
TxtSerial.Text = dr("codigo_lapto")
TxtIp.Text = dr("ip")
TxtIpIna.Text = dr("ip_inalambrica")
TxtNomEqui.Text = dr("Nombre_del_equipo")
TxtDominio.Text = dr("Dominio")
TxtNomUsa.Text = dr("Nombre_del_usuario")
TxtUbicacion.Text = dr("ubicacion")
TxtDepar.Text = dr("departamento")

TxtSo.Text = dr("so")
TxtOffice.Text = dr("office")
TxtRam.Text = dr("memoria")
TxtDd.Text = dr("dd")
TxtDvd.Text = dr("dvd")
TxtProcesador.Text = dr("procesador")
TxtBits.Text = dr("bits")
Txtaccesorio.Text = dr("accesorios")

Else
MsgBox("EL REGISTRO NO EXISTE")
End If
cn.Close()

ElseIf TxtBserial.Text = "" And TxtBIp.Text = "" Then
Dim cmd As New OleDb.OleDbCommand(QueryIpIna, cn)
Dim dr As OleDb.OleDbDataReader
cn.Open()
dr = cmd.ExecuteReader
If dr.Read Then
TxtSerial.Text = dr("codigo_lapto")
TxtIp.Text = dr("ip")
TxtIpIna.Text = dr("ip_inalambrica")
TxtNomEqui.Text = dr("Nombre_del_equipo")
TxtDominio.Text = dr("Dominio")
TxtNomUsa.Text = dr("Nombre_del_usuario")
TxtUbicacion.Text = dr("ubicacion")
TxtDepar.Text = dr("departamento")

TxtSo.Text = dr("so")
TxtOffice.Text = dr("office")
TxtRam.Text = dr("memoria")
TxtDd.Text = dr("dd")
TxtDvd.Text = dr("dvd")
TxtProcesador.Text = dr("procesador")
TxtBits.Text = dr("bits")
Txtaccesorio.Text = dr("accesorios")

Else
MsgBox("EL REGISTRO NO EXISTE")
End If
cn.Close()


End If
************************************************** ************************************************** ************
como pueden ver me creo 3 variables tipo string que van a guardar la sentencia sql, luego si el campo de la ip esta vacio y el de la ip inalambrica este va a ejecutar la sentencia sql para el codigo.(al momento de tratar de hacer la busqueda por el codigo la pantalla de mi vb2010 no hace nada)

en el siguiente elseif valido si el codigo esta vacio y la ip inalambrica, en caso de estar vacio ejecuto la sentencia de busqueda por la ip (la unica que me sirve)

y al realizar la busqueda por la ip inalambrica esta salta hasta el MsgBox("EL REGISTRO NO EXISTE")
probe con cambiar los and por los or y nada =(

asi q se aceptan comentarios y sugerencias xD
  #2 (permalink)  
Antiguo 21/10/2011, 10:53
Avatar de bitbow  
Fecha de Ingreso: julio-2006
Ubicación: Distrito Federal
Mensajes: 635
Antigüedad: 17 años, 9 meses
Puntos: 34
Respuesta: Realizar busqueda habilitando 3 campos (vb2010)

Hola!

Creo que esto lo debes de realizar con un Datagrid, esto te permitiria buscar los registros que coincidan y seria mejor que utilices un Like %ValorABuscar%, de esta forma es mas facil la busqueda, aunque claro esa es mi opinion, pudiera darse el caso en que SeriePedro no es igual que seriepedro.

Suerte.
__________________
El ego es el mayor enemigo de un hombre inteligente.
  #3 (permalink)  
Antiguo 21/10/2011, 14:18
 
Fecha de Ingreso: junio-2009
Mensajes: 15
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Realizar busqueda habilitando 3 campos (vb2010)

Hola bitbow, gracias por comentar.

te cuento que lo logre hacer.
lo que hice fue colocar 3 radion buton en cada campo te texto de manera que cuando le des click a un radio buton fuerces a la sentencia sql a que se ejecute por la sentencia correspondiente

aqui esta el codigo por si lo necesitas ;)

Sub buscar()
Dim n As Integer = 0
Dim query As String = "SELECT * FROM laptos WHERE codigo_lapto =" & TxtBserial.Text & ""
Dim QueryIp As String = "SELECT * FROM laptos WHERE ip ='" & TxtBIp.Text & "'"
Dim QueryIpIna As String = "SELECT * FROM laptos WHERE ip_inalambrica = '" & TxtBIpIna.Text & "'"
If RadioButton1.Checked Then
Dim cmd As New OleDb.OleDbCommand(query, cn)
Dim dr As OleDb.OleDbDataReader
cn.Open()
dr = cmd.ExecuteReader

If dr.Read Then
TxtSerial.Text = dr("codigo_lapto")
TxtIp.Text = dr("ip")
TxtIpIna.Text = dr("ip_inalambrica")
TxtNomEqui.Text = dr("Nombre_del_equipo")
TxtDominio.Text = dr("Dominio")
TxtNomUsa.Text = dr("Nombre_del_usuario")
TxtUbicacion.Text = dr("ubicacion")
TxtDepar.Text = dr("departamento")

TxtSo.Text = dr("so")
TxtOffice.Text = dr("office")
TxtRam.Text = dr("memoria")
TxtDd.Text = dr("dd")
TxtDvd.Text = dr("dvd")
TxtProcesador.Text = dr("procesador")
TxtBits.Text = dr("bits")
Txtaccesorio.Text = dr("accesorios")
Else
MsgBox("EL REGISTRO NO EXISTE")
End If
cn.Close()
End If
If RadioButton2.Checked Then
Dim cmd As New OleDb.OleDbCommand(QueryIp, cn)
Dim dr As OleDb.OleDbDataReader
cn.Open()
dr = cmd.ExecuteReader
If dr.Read Then
TxtSerial.Text = dr("codigo_lapto")
TxtIp.Text = dr("ip")
TxtIpIna.Text = dr("ip_inalambrica")
TxtNomEqui.Text = dr("Nombre_del_equipo")
TxtDominio.Text = dr("Dominio")
TxtNomUsa.Text = dr("Nombre_del_usuario")
TxtUbicacion.Text = dr("ubicacion")
TxtDepar.Text = dr("departamento")

TxtSo.Text = dr("so")
TxtOffice.Text = dr("office")
TxtRam.Text = dr("memoria")
TxtDd.Text = dr("dd")
TxtDvd.Text = dr("dvd")
TxtProcesador.Text = dr("procesador")
TxtBits.Text = dr("bits")
Txtaccesorio.Text = dr("accesorios")
Else
MsgBox("EL REGISTRO NO EXISTE")
End If
cn.Close()
End If

If RadioButton3.Checked Then
Dim cmd As New OleDb.OleDbCommand(QueryIpIna, cn)
Dim dr As OleDb.OleDbDataReader
cn.Open()
dr = cmd.ExecuteReader
If dr.Read Then
TxtSerial.Text = dr("codigo_lapto")
TxtIp.Text = dr("ip")
TxtIpIna.Text = dr("ip_inalambrica")
TxtNomEqui.Text = dr("Nombre_del_equipo")
TxtDominio.Text = dr("Dominio")
TxtNomUsa.Text = dr("Nombre_del_usuario")
TxtUbicacion.Text = dr("ubicacion")
TxtDepar.Text = dr("departamento")

TxtSo.Text = dr("so")
TxtOffice.Text = dr("office")
TxtRam.Text = dr("memoria")
TxtDd.Text = dr("dd")
TxtDvd.Text = dr("dvd")
TxtProcesador.Text = dr("procesador")
TxtBits.Text = dr("bits")
Txtaccesorio.Text = dr("accesorios")
Else
MsgBox("EL REGISTRO NO EXISTE")
End If
cn.Close()
End If
End Sub

Etiquetas: bd, campos, sql, textbox, vb, busquedas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:27.