Te pongo un troncho de codigo, esto lo que hace es buscar en una tabla por apellidos, y nombre. Cambia el apillidos y nombre por direccion, y te busca algo aproximado, como en el caso de los apellidos si el apellido es Martinez, con poner mar o M ya te sale.
No me preguntes que te explike el resto como funciona porque el DAO.recordset no tengo ni idea de como funciona XD solo se pues modificar tonterias.
Espero que te sea de ayuda esto.
un saludo,
-Adolfo-
Option Compare Database
Dim Var As String 'defino variable de memoria
Dim db As DAO.Database, rs As DAO.Recordset 'defino recordser para procesar los registros
Private Sub Form_Load()
Limpia 'limpia las variables
Me.txt_Cte.Value = "" 'limpia la variable de la clave
Me.txt_Cte.SetFocus 'situo el cursor en el campo txt_cte
End Sub
Sub Limpia() 'inicializa las variables
Me.txt_Nombre.Value = ""
Me.txt_Nombre.Visible = False
Me.txt_Apellidos.Value = ""
Me.txt_Apellidos.Visible = False
Me.txt_Tel1.Value = ""
Me.txt_Tel1.Visible = False
Me.txt_tel2.Value = ""
Me.txt_tel2.Visible = False
Me.txt_IDCLIENTE.Value = ""
Me.txt_IDCLIENTE.Visible = False
Me.Comando0.SetFocus
'Me.Comando11.Visible = False
End Sub
Private Sub InsertardatosNombre_Click()
Forms!INICIO.idcliente = Me.txt_IDCLIENTE.Value
Forms!INICIO.nombrecliente = Me.txt_Nombre.Value
Forms!INICIO.apellidoscliente = Me.txt_Apellidos.Value
End Sub
Private Sub Lista_BeforeUpdate(Cancel As Integer)
End Sub
Private Sub txt_Cte2_LostFocus()
If Me.txt_Cte.Value <> "" Then 'si se tecleo cliente
'busco el cliente tecleado y si existe
'muestro los datos'
'si no existe muestro mensaje
Var = "SELECT Clientes.id_cliente, Clientes.nombre, Clientes.apellidos, Clientes.telefono, Clientes.telefono2 " _
& "FROM Clientes " _
& "WHERE apellidos+nombre Like '*" & Me.txt_Cte & "*' + '*" & Me.txt_cte2 & "*'"
Set db = CurrentDb()
Set rs = db.OpenRecordset(Var)
If rs.RecordCount > 0 Then
Me.txt_IDCLIENTE.Visible = True
Me.txt_IDCLIENTE.Value = rs!id_cliente
Me.txt_IDCLIENTE.Enabled = False
Me.txt_Nombre.Visible = True
Me.txt_Nombre.Value = rs!nombre
Me.txt_Nombre.Enabled = False
Me.txt_Apellidos.Visible = True
Me.txt_Apellidos.Value = rs!apellidos
Me.txt_Apellidos.Enabled = False
Me.txt_Tel1.Visible = True
Me.txt_Tel1.Value = rs!telefono
Me.txt_Tel1.SetFocus
Me.txt_tel2.Visible = True
Me.txt_tel2.Value = rs!telefono2
'Me.Comando11.Visible = True
Else
MsgBox "No existe el cliente tecleado", vbInformation, "Aviso "
Me.txt_Cte.Value = ""
Me.txt_Cte.SetFocus
Exit Sub
End If
rs.Close
Set db = Nothing
End If
End Sub
Private Sub txt_Cte_LostFocus()
If Me.txt_Cte.Value <> "" Then 'si se tecleo cliente
'busco el cliente tecleado y si existe
'muestro los datos'
'si no existe muestro mensaje
Var = "SELECT Clientes.id_cliente, Clientes.nombre, Clientes.apellidos, Clientes.telefono, Clientes.telefono2 " _
& "FROM Clientes " _
& "WHERE apellidos+nombre Like '*" & Me.txt_Cte & "*' + '*" & Me.txt_cte2 & "*'"
Set db = CurrentDb()
Set rs = db.OpenRecordset(Var)
If rs.RecordCount > 0 Then
Me.txt_Nombre.Visible = True
Me.txt_Nombre.Value = rs!nombre
Me.txt_Nombre.Enabled = False
Me.txt_Apellidos.Visible = True
Me.txt_Apellidos.Value = rs!apellidos
Me.txt_Apellidos.Enabled = False
Me.txt_IDCLIENTE.Visible = True
Me.txt_IDCLIENTE.Value = rs!id_cliente
Me.txt_IDCLIENTE.Enabled = False
Me.txt_Tel1.Visible = True
Me.txt_Tel1.Value = rs!telefono
Me.txt_Tel1.SetFocus
Me.txt_tel2.Visible = True
Me.txt_tel2.Value = rs!telefono2
'Me.Comando11.Visible = True
Else
MsgBox "No existe el cliente tecleado", vbInformation, "Aviso "
Me.txt_Cte.Value = ""
Me.txt_Cte.SetFocus
Exit Sub
End If
rs.Close
Set db = Nothing
End If
End Sub
Private Sub Comando0_Click()
DoCmd.Close
End Sub
Private Sub Comando14_Click()
On Error GoTo Err_Comando14_Click
Screen.PreviousControl.SetFocus
DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70
Exit_Comando14_Click:
Exit Sub
Err_Comando14_Click:
MsgBox Err.Description
Resume Exit_Comando14_Click
End Sub