Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Gus1993 en 17 Diciembre 2008, 03:05 am



Título: [PROBLEMA]Búsqueda de base de datos de Access utilizando ADO
Publicado por: Gus1993 en 17 Diciembre 2008, 03:05 am
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

Código:
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.

Código:
'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:
Citar
Error '91' en tiempo de ejecución:

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


Título: Re: [PROBLEMA]Búsqueda de base de datos de Access utilizando ADO
Publicado por: Angeldj27 en 17 Diciembre 2008, 15:08 pm
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

Código:
Adodc1.Recordset.Find "RAZON =" & "%" & Text1.Text & "%"



Título: Re: [PROBLEMA]Búsqueda de base de datos de Access utilizando ADO
Publicado por: Gus1993 en 17 Diciembre 2008, 15:33 pm
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.


Título: Re: [PROBLEMA]Búsqueda de base de datos de Access utilizando ADO
Publicado por: Angeldj27 en 17 Diciembre 2008, 17:56 pm
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

Código:

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...



Título: Re: [PROBLEMA]Búsqueda de base de datos de Access utilizando ADO
Publicado por: Gus1993 en 18 Diciembre 2008, 01:57 am
Me parece que vos estás respondiendo a otro lado, porque yo no uso SQL ni txtTELL...


Título: Re: [PROBLEMA]Búsqueda de base de datos de Access utilizando ADO
Publicado por: Angeldj27 en 18 Diciembre 2008, 16:55 pm
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