[PROBLEMA]Búsqueda de base de datos de Access utilizando ADO

Iniciado por Gus1993, 17 Diciembre 2008, 03:05 AM

0 Miembros y 3 Visitantes están viendo este tema.

Gus1993

Bueno, mi formulario consta de 2 elementos, un text y un datagrid, que se genera a partir de un Msgbox en el que se introduce lo que se desea buscar

Private Sub Form_Activate()
    Text1.Text = criterio
End Sub

Private Sub Grilla_Click()
    criterio = Adodc1.Recordset!CODCLI
    flagbuscar = True
    Unload Me
End Sub
Private Sub Grilla_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = 13 Then
        Grilla_DblClick
    ElseIf KeyCode = 27 Then
        flagbuscar = False
        Unload Me
    ElseIf KeyCode >= 65 And KeyCode < 90 Then
        Text1.Text = Text1.Text & Chr(KeyCode)
    ElseIf KeyCode = 32 Then
        Text1.Text = Text1.Text & " "
    ElseIf KeyCode = 190 Then
        Text1.Text = Text1.Text & "."
    ElseIf KeyCode = 188 Then
        Text1.Text = Text1.Text & ","
    ElseIf KeyCode = 109 Then
        Text1.Text = Text1.Text & "-"
    ElseIf KeyCode >= 96 And KeyCode <= 105 Then
        Text1.Text = Text1.Text & Chr(KeyCode - 48)
    ElseIf KeyCode >= 48 And KeyCode <= 57 Then
        Text1.Text = Text1.Text & Chr(KeyCode)
    ElseIf KeyCode = 8 Then
        If Len(Text1.Text) > 0 Then
            Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)
        End If
    End If

           
End Sub

Private Sub Text1_Change()
    If Text1.Text <> "" Then
   Adodc1.Recordset.Find "RAZON =" & Text1.Text & "*"
    Else
        Adodc1.Recordset.MoveFirst
    End If
    Grilla.Caption = "Buscar Articulos:" & Text1.Text
    Grilla.SetFocus
End Sub




Eso es todo el código del formulario, el visual me resalta la siguiente línea:
Adodc1.Recordset.Find "RAZON =" & Text1.Text & "*"

Yo quiero que introduciendo los 3 primeros carácteres me busque todos los resultados posibles.

'Variables para búsqueda de registros
Public criterio As String


Variable criterio declarada en un módulo...


Nose, me da bronca que no me salga.

El error:
CitarError '91' en tiempo de ejecución:

Variable de tipo Object o la variable de bloque With no está establecida.

Angeldj27

Agregale esta parte "%" esto se utiliza para buscar en cualquier parte de la cadena siempre hago esa busqueda con una consulta sql nose si de esta forma funcionaria pero bueno. quedaria asi aver si te funciona. ;D ;D


Adodc1.Recordset.Find "RAZON =" & "%" & Text1.Text & "%"



"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!

Gus1993

#2
Es de Access la base de datos, ahroa pruebo igual, gracias.

Me da el mismo error marcando la linea que vos me diste, ya me está enojando eso.

Angeldj27

Lo que pasa es que se me paso y no te dije que en ves de utilisar el sinno de igual "=" debes utilisar el "like" para que sea una busqueda por palabras donde quieran que se encuentren en todo caso te envia el cursor a ese registro.

yo personalmente come te decia arriba lo aria en una consulta y solo me va dejando los registros que coinsidan con las palabras que dijites en el textbox



If txtTel1.Text <> "" Then
    SQL = "%" & txtTel1.Text & "%"
    AdoAgenda.RecordSource = "SELECT * From AGENDA_TELEFONICA WHERE Nombre_age like '" & Trim(SQL) & "' order by Cod_age Asc"
    AdoAgenda.Refresh

End If

If txtTel1.Text = "" Then
    AdoAgenda.RecordSource = "SELECT * From AGENDA_TELEFONICA order by Cod_age Asc"
    AdoAgenda.Refresh
   
End If



no sep si le pones el like te funciona como lo tienes
Saludos...



"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!

Gus1993

Me parece que vos estás respondiendo a otro lado, porque yo no uso SQL ni txtTELL...

Angeldj27

estas medio loco  man..:rolleyes: :rolleyes: :rolleyes: ..
Sql es el tipo de consulta que puedes hacer en access y en todo caso es una variable que estoy utilisando y el txtTel1 es de un ejemplo que tenia en una aplicacion que hice hase mucho y por eso te pase el ejemplo igual, me inmaginaba que la podias adaptar a tus nesecidades es refacil pero bueno...

Saludos.... ;D ;D ;D


"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!