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