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

Buscar resultados en un dataGrid mientras se digita (Ado)

Estas en el tema de Buscar resultados en un dataGrid mientras se digita (Ado) en el foro de Visual Basic clásico en Foros del Web. Hola, amigos foreros, necesito de su ayuda Tengo en un Form con un DataGrid conectado a un Adodc y tres Textbox conectados a los campos. ...
  #1 (permalink)  
Antiguo 18/08/2010, 14:00
Avatar de Lostan  
Fecha de Ingreso: junio-2010
Ubicación: en el glorioso reino de Chile
Mensajes: 434
Antigüedad: 13 años, 10 meses
Puntos: 8
Buscar resultados en un dataGrid mientras se digita (Ado)

Hola,
amigos foreros, necesito de su ayuda

Tengo en un Form con un DataGrid conectado a un Adodc y tres Textbox conectados a los campos.

necesito que al momento de digitar un numero en el TextBox llamado "TextID"
aparescan en el DataGrid1 los registros que comiencen con los numeros que voy digitando,

He buscado en el foro y encontre este codigo:
Código:
Private Sub TextID_Change()

Adodc1.RecordSource = "SELECT % FROM tabla1 WHERE ID LIKE '" & TextID & "%'"
Adodc1.Refresh

End Sub
El problema es que al ejecutar el Form y cambiar los datos en el textbox NO PASA NADA¡¡¡¡

favor su ayuda muchachos, si logro entender esto me seria de mucha utilidad
__________________
Si el enemigo os muestra clemencia, no hagais lo mismo matadlos¡¡¡

Rey Rufus, de Inglaterra (Medieval 2 Total War)..
  #2 (permalink)  
Antiguo 20/08/2010, 01:27
 
Fecha de Ingreso: noviembre-2005
Mensajes: 751
Antigüedad: 18 años, 5 meses
Puntos: 13
Respuesta: Buscar resultados en un dataGrid mientras se digita (Ado)

Hola

Prueba a volver a asignar el adodc1 al Datagrid y refrescarlo (el datagrid). Yo no lo hago con un ADODC, utilizo un recordset, y cada vez que lo cambio, vuelvo a cargar el Grid:

Código:
    With Rejilla
        Set .DataSource = reg
        .Refresh
    End With
P.D.: reg es un recordset donde meto la consulta select con la condición, pero tiene que funcionar igual con un Adodc

--Saludos--
  #3 (permalink)  
Antiguo 20/08/2010, 01:29
Avatar de buxforever  
Fecha de Ingreso: abril-2009
Ubicación: Tijuana, B.C
Mensajes: 107
Antigüedad: 15 años
Puntos: 0
Respuesta: Buscar resultados en un dataGrid mientras se digita (Ado)

Prueba con esto...

Código vb:
Ver original
  1. With Adodc1
  2.          If Text1 <> "" Then
  3.             'Fltrar por el campo especificado en Combo1
  4.            .Recordset.Filter = CAMPO1 & " LIKE '*" + Text1 + "*'"
  5.             'Enlazar el Grid con el recordset
  6.            Set DataGrid1.DataSource = Adodc1.Recordset
  7.         Else
  8.             'Limpiar el Filtro
  9.            .Recordset.Filter = ""
  10.         End If
  11.         'Refrescar el control ADO
  12.        .Refresh
  13.         ''Habilitar el (Timer1)
  14.        Timer1.Enabled = True

Nota: CAMPO1 es el campo que deseas filtrar y lo declaras de esta manera

Código vb:
Ver original
  1. Private Const CAMPO1 As String = "[No Control]"
  #4 (permalink)  
Antiguo 20/08/2010, 08:16
Avatar de Lostan  
Fecha de Ingreso: junio-2010
Ubicación: en el glorioso reino de Chile
Mensajes: 434
Antigüedad: 13 años, 10 meses
Puntos: 8
Respuesta: Buscar resultados en un dataGrid mientras se digita (Ado)

Gracias Muchahcos por sus respuestas,
no se si yo no lo hago bien, pero no me funciona ninguna de las dos opciones
ahora estoy yntentando con este codigo:
Código:
Private Sub Text1_Change()

Adodc1.RecordSource = "SELECT * FROM tabla1 WHERE RUT LIKE '" & Text1 & "*'"
Adodc1.Refresh

End Sub
Cambie el textbox en el cual voy a digitar lo que necesito y sustituí el % por *
Text1 es el cuadro de texto y el campo que esta enlazado a el se llama RUT la tabla se llama Tabla1 y la base de datos es de acces 2003 y se llama bd1, esta ubicada en el mismo directorio que la aplicacion.

necesito que el codigo se ejecute en el evento Change del Textbox y esto es lo mas similar, pero no me funciona.

Muchas gracias por su ayuda muchachos
__________________
Si el enemigo os muestra clemencia, no hagais lo mismo matadlos¡¡¡

Rey Rufus, de Inglaterra (Medieval 2 Total War)..
  #5 (permalink)  
Antiguo 20/08/2010, 09:31
Avatar de buxforever  
Fecha de Ingreso: abril-2009
Ubicación: Tijuana, B.C
Mensajes: 107
Antigüedad: 15 años
Puntos: 0
Respuesta: Buscar resultados en un dataGrid mientras se digita (Ado)

Podrias basarte en este ejemplo....Hace exactamente lo que quieres..

http://www.recursosvisualbasic.com.a...igo-de-ado.htm
  #6 (permalink)  
Antiguo 20/08/2010, 10:33
Avatar de Lostan  
Fecha de Ingreso: junio-2010
Ubicación: en el glorioso reino de Chile
Mensajes: 434
Antigüedad: 13 años, 10 meses
Puntos: 8
Respuesta: Buscar resultados en un dataGrid mientras se digita (Ado)

bux

ese ejemplo es justo lo que buscaba, muchas gracias

pero ahora tengo un solo problema
el ejemplo tiene la coneccion en declaraciones, las cuales llama con el evento Load Form,
Código:
' 
Cadena de conexión
Private Const s_CONNECTION_STRING As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                                             "Data Source=C:\Archivos de programa" & _
                                             "\Microsoft Visual Studio\VB98\" & _
                                             "NWIND.MDB;Persist Security Info=False"


Private Const SQL As String = "Select * From Proveedores"
Private Const CAMPO_A_FILTRAR As String = "NombreContacto"
como hago para que este codigo se paresca a esto???
Código:
Private Sub Form_Load()
    ' Indicar la base de datos a usar
    Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                              "Data Source=" & App.Path & "\bd1.mdb"
    
    Adodc1.CursorType = adOpenDynamic
    ' Conectarlo a la tabla de prueba
    Adodc1.RecordSource = "Tabla1"
    ' Refresh es necesario para que se cargue la tabla
    Adodc1.Refresh
   
End Sub
__________________
Si el enemigo os muestra clemencia, no hagais lo mismo matadlos¡¡¡

Rey Rufus, de Inglaterra (Medieval 2 Total War)..
  #7 (permalink)  
Antiguo 23/08/2010, 09:22
Avatar de Lostan  
Fecha de Ingreso: junio-2010
Ubicación: en el glorioso reino de Chile
Mensajes: 434
Antigüedad: 13 años, 10 meses
Puntos: 8
Respuesta: Buscar resultados en un dataGrid mientras se digita (Ado)

Amigos,
favor su ayuda,
en el primer codigo la conneccion se hace a un archivo de acces que esta ubicado en una ubicacion especifica

necesito que la coneccion se realice al mismo directorio donde este unicada la aplicacion
untente adaptandolo a mi segundo codigo, pero no me funciona.

que podra ser???
__________________
Si el enemigo os muestra clemencia, no hagais lo mismo matadlos¡¡¡

Rey Rufus, de Inglaterra (Medieval 2 Total War)..
  #8 (permalink)  
Antiguo 23/08/2010, 13:35
Avatar de buxforever  
Fecha de Ingreso: abril-2009
Ubicación: Tijuana, B.C
Mensajes: 107
Antigüedad: 15 años
Puntos: 0
Respuesta: Buscar resultados en un dataGrid mientras se digita (Ado)

No tendras por ahi el proyecto para darle una checada.

Ya que con remplazar la ruta del (Connection string) deberia de funcionar..
__________________
Aportando a la (Comunidad)..Algo de lo mucho que me ha dado.
  #9 (permalink)  
Antiguo 23/08/2010, 14:41
Avatar de Lostan  
Fecha de Ingreso: junio-2010
Ubicación: en el glorioso reino de Chile
Mensajes: 434
Antigüedad: 13 años, 10 meses
Puntos: 8
Respuesta: Buscar resultados en un dataGrid mientras se digita (Ado)

estos son los codigos
Cita:
Iniciado por Lostan Ver Mensaje
bux

ese ejemplo es justo lo que buscaba, muchas gracias

pero ahora tengo un solo problema
el ejemplo tiene la coneccion en declaraciones, las cuales llama con el evento Load Form,
Código:
' 
Cadena de conexión
Private Const s_CONNECTION_STRING As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                                             "Data Source=C:\Archivos de programa" & _
                                             "\Microsoft Visual Studio\VB98\" & _
                                             "NWIND.MDB;Persist Security Info=False"


Private Const SQL As String = "Select * From Proveedores"
Private Const CAMPO_A_FILTRAR As String = "NombreContacto"
como hago para que este codigo se paresca a esto???
Código:
Private Sub Form_Load()
    ' Indicar la base de datos a usar
    Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                              "Data Source=" & App.Path & "\bd1.mdb"
    
    Adodc1.CursorType = adOpenDynamic
    ' Conectarlo a la tabla de prueba
    Adodc1.RecordSource = "Tabla1"
    ' Refresh es necesario para que se cargue la tabla
    Adodc1.Refresh
   
End Sub
el primero es el que tu me diste, lo ajuste a mi base de datos y funciona bien, pero no puedo conectarme a la base de datos cambiando la ubicacion en el codigo
__________________
Si el enemigo os muestra clemencia, no hagais lo mismo matadlos¡¡¡

Rey Rufus, de Inglaterra (Medieval 2 Total War)..
  #10 (permalink)  
Antiguo 23/08/2010, 15:55
Avatar de buxforever  
Fecha de Ingreso: abril-2009
Ubicación: Tijuana, B.C
Mensajes: 107
Antigüedad: 15 años
Puntos: 0
Respuesta: Buscar resultados en un dataGrid mientras se digita (Ado)

Realizalo de esta manera... unicamente adaptas tu ruta de la base de datos

Código vb:
Ver original
  1. 'Ruta a la base de datos
  2.    Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
  3.                               "Data Source=C:\Base Principal.MDB;Persist Security Info=False"
  4.                              
  5.     With Adodc1
  6.         ''Establecer el tipo de Comando ( Consulta SQL )
  7.        .CommandType = adCmdText
  8.         'Seleccione de la base de datos la tabla (Registro)
  9.        .RecordSource = "Select * From Registro"
  10.         'Realize un (Refresh) en el control
  11.        .Refresh
  12.          DataGrid1.MarqueeStyle = dbgHighlightRowRaiseCell
  13.         'Coloque el origen del (Datagrid1) = Al origen del (Recordset)
  14.        Set DataGrid1.DataSource = Adodc1.Recordset
  15.      
  16.     End With
__________________
Aportando a la (Comunidad)..Algo de lo mucho que me ha dado.

Etiquetas: ado, datagrid, mientras, resultados
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 12:27.