Access - Alguien que me explique!!!!!

 
Vista:

Alguien que me explique!!!!!

Publicado por Victor Manuel (101 intervenciones) el 27/03/2007 20:14:02
Private Sub Numero_de_reporte_AfterUpdate()
'Manejo de los Recordset con ADO
'Referencia: Microsoft ActiveX Data Objects 2.1 Library
On Error Resume Next
Dim rst As New ADODB.Recordset, SQL As String
SQL = "Select * from Table_Principal where Numero_de_reporte ='" & Numero_de_reporte & "'"
Set rst = CurrentProject.Connection.Execute(SQL)
If Not rst.EOF Then
Numero_de_reporte = rst!Numero_de_reporte
Empresa = rst!Empresa
Descripción = rst!Descripción
DTPickerFechaI = rst!DTPickerHoraI
DTPickerFechaF = rst!DTPickerHoraF
No_de_factura = rst!No_de_factura
Anticipo = rst!Anticipo
Pagado = rst!Pagado
Notas = rst!Notas
rst.Close
Set rst = Nothing
End If
End Sub

Alguien me puede explicar para que sirve este codigo?
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
Imágen de perfil de Alejandro

Explicación de código para buscar y cargar datos en formulario

Publicado por Alejandro (4142 intervenciones) el 07/08/2023 21:04:10
Este código es un evento AfterUpdate que se activa cuando el valor del control "Numero_de_reporte" en un formulario se actualiza o cambia. Su propósito es buscar el registro correspondiente en la tabla "Table_Principal" que tenga el mismo valor de "Numero_de_reporte" y luego copiar algunos de los valores de ese registro encontrado de vuelta en el formulario.

Aquí está la explicación paso a paso del código:

1. Se crea una variable "rst" que será utilizada para almacenar el objeto Recordset de ADO (Microsoft ActiveX Data Objects) que contendrá los datos del registro encontrado.

2. Se construye una consulta SQL utilizando el valor actual de "Numero_de_reporte" del formulario y se almacena en la variable "SQL". La consulta busca el registro en la tabla "Table_Principal" que tenga el mismo valor de "Numero_de_reporte" que el valor actual del control del formulario.

3. Se ejecuta la consulta SQL utilizando la conexión de la base de datos actual y se almacenan los resultados en el objeto Recordset "rst".

4. Se verifica si el Recordset no está vacío (no es EOF - End Of File). Si se encuentra un registro con el mismo "Numero_de_reporte", el código continúa.

5. Se copian algunos campos específicos del registro encontrado en el formulario:

- "Numero_de_reporte" se copia nuevamente en el control del formulario "Numero_de_reporte".
- "Empresa" se copia en el control del formulario "Empresa".
- "Descripción" se copia en el control del formulario "Descripción".
- "DTPickerHoraI" (Fecha de inicio) se copia en el control del formulario "DTPickerFechaI".
- "DTPickerHoraF" (Fecha de fin) se copia en el control del formulario "DTPickerFechaF".
- "No_de_factura" se copia en el control del formulario "No_de_factura".
- "Anticipo" se copia en el control del formulario "Anticipo".
- "Pagado" se copia en el control del formulario "Pagado".
- "Notas" se copia en el control del formulario "Notas".

6. Finalmente, se cierra el Recordset y se lo establece como "Nothing" para liberar recursos.

En resumen, este código busca en la tabla "Table_Principal" el registro que coincide con el número de reporte ingresado en el formulario y luego copia ciertos campos de ese registro encontrado de vuelta en el formulario. Esto permite cargar automáticamente los datos correspondientes en el formulario cuando se selecciona un "Numero_de_reporte" específico.

¡Espero que esto te sea útil!
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