Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

busqueda con datagrid

Estas en el tema de busqueda con datagrid en el foro de Visual Basic clásico en Foros del Web. hola a todos: mi problema es el siguiente, estaba haciendo mi busqueda por medio de textbox y ya me sale, pero como quiero que me ...
  #1 (permalink)  
Antiguo 28/10/2008, 09:11
 
Fecha de Ingreso: septiembre-2007
Mensajes: 93
Antigüedad: 16 años, 7 meses
Puntos: 0
busqueda con datagrid

hola a todos:
mi problema es el siguiente, estaba haciendo mi busqueda por medio de textbox y ya me sale, pero como quiero que me muestre varios registros a la vez, entonces utilice el datagrid, pero ahi es donde no se como hacerle. tengo este codigo del que estaba utilizando con los texbox,hice unos cambios para el datagrid
Cita:
'Comprobamos que la caja combinada de la búsqueda no se este vacía.
If Len(Trim(Combo1.Text)) = 0 Then
MsgBox ("Debe especificar el tipo de búsqueda")
Combo1.SetFocus
'Verificamos si la caja del texto a buscar esta vacía.
ElseIf Len(Trim(txtBuscarTexto.Text)) = 0 Then
MsgBox ("Debe especificar el texto a buscar")
txtBuscarTexto.SetFocus
Else
'Verificamos el tipo de búsqueda.
If LCase(Combo1.Text) = LCase("Clave") Then
Adodc1.Recordset.Find "clave = '" & txtBuscarTexto.Text & "'", , , 1 'Buscamos por clave.
End If
If LCase(Combo1.Text) = LCase("Fecha") Then
Adodc1.Recordset.Find "fecha= '" & txtBuscarTexto.Text & "'", , , 1 'Buscamos por fecha.
End If
If LCase(Combo1.Text) = LCase("Formato") Then
Adodc1.Recordset.Find "formato= '" & txtBuscarTexto.Text & "'", , , 1 'Buscamos por formato.
End If
If LCase(Combo1.Text) = LCase("Descripcion") Then
Adodc1.Recordset.Find "[descripcion] LIKE '*" + txtBuscarTexto.Text + "*'", , , 1 'Buscamos descripcion.
End If
If LCase(Combo1.Text) = LCase("Lugar") Then
Adodc1.Recordset.Find "[lugar] LIKE '*" + txtBuscarTexto.Text + "*'", , , 1 'Buscamos por lugar.
End If
'Verificamos si la búsqueda tiene éxito y ponemos los datos en las cajas de texto.
If Adodc1.Recordset.BOF = False And Adodc1.Recordset.EOF = False Then
DataGrid1 = Adodc1.Recordset.Fields("clave") 'Ponemos el nombre del registro actual.
DataGrid1 = Adodc1.Recordset.Fields("fecha") 'Ponemos el apellido del registro actual.
DataGrid1 = Adodc1.Recordset.Fields("formato") 'Ponemos el teléfono del registro actual.
DataGrig1 = Adodc1.Recordset.Fields("descripcion") 'Ponemos la dirección del registro actual.
DataGrid1 = Adodc1.Recordset.Fields("lugar") 'Ponemos el correo del registro actual.
Else
'Mostramos un mensaje si la búsqueda no tiene éxito.
MsgBox ("No se ha podido localizar el registro con el parámetro especificado")

End If
End If
tengo esta sentencia de sql pero me marca error:
Execute = ("SELECT * FROM TABLADATABASEDATOS WHERE formato LIKE '%" + txtBuscarTexto.Text + "%'"), , , 1 'Buscamos por formato.

si alguien me puede decir como le hago o me diga de un buen manual donde venga el datagrid
  #2 (permalink)  
Antiguo 28/10/2008, 09:57
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: busqueda con datagrid

Mira, sólo tienes que poner esto en el evento Change del TextBox

Código:
Private Sub Text1_Change()
    Dim sCampo As String
    sCampo = Combo1.Text
    With Adodc1
        .RecordSource = "SELECT * from Tabla WHERE " & sCampo & " LIKE'" & Text1 & "%'"
        .Refresh
    End With
    Set DataGrid1.DataSource = Adodc1
  End Sub
  #3 (permalink)  
Antiguo 29/10/2008, 09:05
 
Fecha de Ingreso: septiembre-2007
Mensajes: 93
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: busqueda con datagrid

Cita:
Iniciado por Avellaneda Ver Mensaje
Mira, sólo tienes que poner esto en el evento Change del TextBox

Código:
Private Sub Text1_Change()
    Dim sCampo As String
    sCampo = Combo1.Text
    With Adodc1
        .RecordSource = "SELECT * from Tabla WHERE " & sCampo & " LIKE'" & Text1 & "%'"
        .Refresh
    End With
    Set DataGrid1.DataSource = Adodc1
  End Sub
ok, lo voy a probar, mi duda es si con esto me van a salir por ejemplo si pongo formato dvc, los registros que tengo con dicho formato o necesito algun contador. ??
  #4 (permalink)  
Antiguo 29/10/2008, 10:18
 
Fecha de Ingreso: septiembre-2007
Mensajes: 93
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: busqueda con datagrid

Cita:
Iniciado por Avellaneda Ver Mensaje
Mira, sólo tienes que poner esto en el evento Change del TextBox

Código:
Private Sub Text1_Change()
    Dim sCampo As String
    sCampo = Combo1.Text
    With Adodc1
        .RecordSource = "SELECT * from Tabla WHERE " & sCampo & " LIKE'" & Text1 & "%'"
        .Refresh
    End With
    Set DataGrid1.DataSource = Adodc1
  End Sub
hola, mira ya lo hice como me dijiste, me sale un error donde dice que la sistaxis en la clausula from y luego me muestra error en el metodo refresh del objeto adodc. ya hice varios cambios a la sentecia select. pero aun asi me muestra el error
  #5 (permalink)  
Antiguo 29/10/2008, 15:59
 
Fecha de Ingreso: septiembre-2008
Mensajes: 12
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: busqueda con datagrid

hola este codigo solo sirve si usas el adoc solo tienes que conertar el datagrid con el ado y el el texto que vas a usar para filtrara colocas esto .. donde esta la palabra codigo like vas a poner el campo que tienes en la base de datos
ejemplo si en la BDD se llema cedula vas a poner cedula like
Private Sub Text1_Change()
If Text1 <> "" Then
Adodc1.Recordset.Filter = "codigo like '*" + Text1 + "*'"
Else
Adodc1.Recordset.Filter = ""
Set DataGrid1.DataSource = Adodc1.Recordset
Adodc1.Recordset.MoveFirst
End If
End Sub

ami me funciona perfec espero que te sirva a ti tambien
  #6 (permalink)  
Antiguo 30/10/2008, 04:19
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: busqueda con datagrid

Cita:
Iniciado por ariesagv Ver Mensaje
hola, mira ya lo hice como me dijiste, me sale un error donde dice que la sistaxis en la clausula from y luego me muestra error en el metodo refresh del objeto adodc. ya hice varios cambios a la sentecia select. pero aun asi me muestra el error
Hola, mira la propiedad 'CommandType' del control Adodc. Seguramente la tienes como adCmdTable, cámbiala a adCmdText

  #7 (permalink)  
Antiguo 30/10/2008, 09:11
 
Fecha de Ingreso: septiembre-2007
Mensajes: 93
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: busqueda con datagrid

Cita:
Iniciado por Avellaneda Ver Mensaje
Hola, mira la propiedad 'CommandType' del control Adodc. Seguramente la tienes como adCmdTable, cámbiala a adCmdText

ok, lo voy a checar y a cambiar, te aviso luego que onda
  #8 (permalink)  
Antiguo 31/10/2008, 09:01
 
Fecha de Ingreso: septiembre-2007
Mensajes: 93
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: busqueda con datagrid

Cita:
Iniciado por Avellaneda Ver Mensaje
Hola, mira la propiedad 'CommandType' del control Adodc. Seguramente la tienes como adCmdTable, cámbiala a adCmdText

Hola mira ya hice el cambio, ahora me sale un error cuando ejecuto el programa donde me dice que la instruccion sql no valida ,se esperaba "Delete, inserte, select o update". siento que la instruccion esta bien me podrias decir que estoy haciendo mal
  #9 (permalink)  
Antiguo 31/10/2008, 09:38
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: busqueda con datagrid

Cita:
Iniciado por ariesagv Ver Mensaje
Hola mira ya hice el cambio, ahora me sale un error cuando ejecuto el programa donde me dice que la instruccion sql no valida ,se esperaba "Delete, inserte, select o update". siento que la instruccion esta bien me podrias decir que estoy haciendo mal
Hola, copia el código que estás utilizando (haz un copy-paste, no lo escribas a mano).

Doy por hecho que has modificado la propiedad CommandType del control Adodc.

  #10 (permalink)  
Antiguo 01/11/2008, 16:37
 
Fecha de Ingreso: septiembre-2007
Mensajes: 93
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: busqueda con datagrid

Cita:
Iniciado por Avellaneda Ver Mensaje
Hola, copia el código que estás utilizando (haz un copy-paste, no lo escribas a mano).

Doy por hecho que has modificado la propiedad CommandType del control Adodc.

si cambie la propiedad y tambien hice copy_paste, pero me sale ese error, lo ejecuto y cuando me sale el error le doy aceptar y me permite hacer la consulta, entonces no se porque sale dicho error
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 10:41.