Access - Buscador de datos

 
Vista:

Buscador de datos

Publicado por Adolfo (98 intervenciones) el 11/04/2008 11:59:14
Hola a todos, me preguntaba si me podiais ayudar a modificar un codigo que tengo en el que introduces el numero de cliente y te salen el resto de datos, para que se tenga que introducir los apellidos y salga el resto de datos. aqui va :

------------------------------------------------------------------------------------------------------

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.Comando0.SetFocus
Me.Comando11.Visible = False
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 Clientes.id_cliente=" & Val(Me.txt_Cte.Value)
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_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 Comando11_Click()
'actualiza solo los telefonos
Var = ""
Var = "UPDATE Cliente SET Cliente.telefono = '" & Me.txt_Tel1.Value & "', " _
& "Cliente.telefono2 = '" & Me.txt_tel2.Value & "' " _
& "WHERE Cliente.id_cliente = " & Val(Me.txt_Cte.Value)
DoCmd.SetWarnings False
DoCmd.RunSQL Var
DoCmd.SetWarnings True
Form_Load 'vuelvo a crear el ambiente paera capturar
Me.Lista.Requery 'refresco la lista
End Sub
-----------------------------------------------------------------
Private Sub Comando0_Click()
DoCmd.Close
End Sub
-----------------------------------------------------------------------------------------------------------------------------

Gracias de antemano por la ayuda, o por el esfuerzo, o simplemente por leer hasta aqui :P

-Adolfo-
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Buscador de datos

Publicado por jcs (78 intervenciones) el 12/04/2008 13:19:20
Muy buenas,

en principio debería valer (no lo he comprobado), con que, en los dos sub que tienes sustituyeras:

"WHERE Clientes.id_cliente=" & Val(Me.txt_Cte.Value)

por

"WHERE Clientes.apellidos=" & Me.txt_Cte.Value

Espero que te sirva. Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Buscador de datos/errores

Publicado por Adolfo (98 intervenciones) el 14/04/2008 12:38:06
Hola, gracias x contestar. Me da error al intentarlo, Si escribo un apellido compuesto, Martinez Garcia (x ejemplo) me da este error : Error 3075, Error de sintaxis (falta operador en la expresion de consulta 'clientes.apellidos = Martinez Garcia';
Otro error, si escribo solo 1 apellido : error 3061, Pocos parametros se esperaba 1.

El otro error es si escribo algun numero (por probar) que no coincide el tipo de datos, pero bueno no creo que nadie se apellide 123. :P

Esto no se porque pasa, la tabla esta bien, el nombre y los campos de la tabla coinciden con lo escrito.

Alguien sabe porque puede ser esto ? ?
saludos

-Adolfo-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar