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.
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 & "%"
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.
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...
Me parece que vos estás respondiendo a otro lado, porque yo no uso SQL ni txtTELL...
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