Option Compare Database
Option Explicit
Private Sub lstAlumnos_Click()
Call recuperaRegistro
End Sub
Private Sub btnGuardar_Click()
Call guardarRegistro
End Sub
Private Sub txtBusqueda_GotFocus()
Call limpiaRegistro
End Sub
Private Sub txtBusqueda_Change()
Dim Consulta As String
On Error GoTo ManipulaError
Consulta = "SELECT Fecha, Producto"
Consulta = Consulta & " FROM Entrada"
Consulta = Consulta & " WHERE Fecha Like '*" & Replace(Me.txtBusqueda.Text, "'", "''") & "*'"
Me.lstAlumnos.RowSource = Consulta
Exit Sub
ManipulaError:
MsgBox Err.Description, vbCritical, "Atencion"
End Sub
Private Sub recuperaRegistro()
Dim rst As DAO.Recordset, SQL As String
On Error GoTo ManipulaError
SQL = "SELECT * FROM Entrada WHERE Fecha = '" & Me.lstAlumnos & "'"
Set rst = CurrentDb.OpenRecordset(SQL, dbOpenForwardOnly)
With rst
Me.Fecha = !Fecha
Me.Producto = !Producto
Me.Cantidad = !Cantidad
Me.Id = !Id
End With
rst.Close: Set rst = Nothing
Exit Sub
ManipulaError:
If Not rst Is Nothing Then rst.Close: Set rst = Nothing
MsgBox Err.Description, vbCritical, "Atencion"
End Sub
Private Sub guardarRegistro()
Dim Ctrl As Variant
On Error GoTo ManipulaError
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is TextBox Then
If Ctrl.Name <> "txtBusqueda" Then
If IsNull(Ctrl.Value) Then MsgBox "FALTAN CAMPOS DE LLENAR", vbExclamation, "Atencion": Exit Sub
End If
End If
Next Ctrl
CurrentDb.Execute "UPDATE Entrada SET Cantidad = '" & Replace(Me.Cantidad, "'", "''") & "' " _
& "WHERE Id = '" & Me.Id & "'", dbFailOnError
MsgBox "REGISTRO GUARDADO CON EXITO", vbInformation, "Atencion"
Me.lstAlumnos.Requery
Exit Sub
ManipulaError:
MsgBox Err.Description, vbCritical, "Atencion"
End Sub
Private Sub limpiaRegistro()
Dim Ctrl As Variant
On Error GoTo ManipulaError
Me.lstAlumnos = Null
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is TextBox Then
If Ctrl.Name <> "txtBusqueda" Then Ctrl.Value = Null
End If
Next Ctrl
Exit Sub
ManipulaError:
MsgBox Err.Description, vbCritical, "Atencion"
End Sub