Access - asignar un registro a un control en formulario

 
Vista:

asignar un registro a un control en formulario

Publicado por Antonio (15 intervenciones) el 24/01/2006 12:25:00
Con un ejemplo creo que lo expresaré mejor.
Un formulario con imagen (para que se más plástico) de un autobus con sus asientos numerados y deseo que en el asiento nº1 se coloque el registro nº1 de una tabla en el 2 el registro nº 2 y asi sucesivamente de tal manera que se asignen a cada registro de la tabla un único puesto (control) en el formulario.
gracias por vuestra atención.
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

Asignar registros de una tabla a asientos numerados en un formulario

Publicado por Alejandro (4142 intervenciones) el 20/06/2023 16:20:09
Para asignar registros de una tabla a asientos numerados en un formulario de Access, puedes seguir estos pasos:

1. Prepara los datos: Asegúrate de tener una tabla con los registros que deseas asignar a los asientos del formulario. La tabla debe contener una columna que identifique de manera única cada registro y otra columna que represente el número del asiento.

2. Crea un formulario con la imagen del autobús y los controles de asientos: Abre el formulario en modo de diseño y agrega una imagen del autobús como fondo. Luego, agrega controles de texto para representar los asientos numerados en la posición deseada dentro de la imagen.

3. Agrega código VBA al evento Load del formulario: Haz doble clic en el formulario para abrir el editor de código VBA y agrega el siguiente código al evento Load del formulario:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub Form_Load()
    Dim rs As DAO.Recordset
    Dim strSQL As String
    Dim intAsiento As Integer
 
    ' Establece la consulta SQL para obtener los registros de la tabla ordenados por número de asiento
    strSQL = "SELECT * FROM NombreTabla ORDER BY NumeroAsiento;"
 
    ' Abre el recordset con los registros ordenados
    Set rs = CurrentDb.OpenRecordset(strSQL)
 
    ' Recorre los registros y asigna cada uno al asiento correspondiente en el formulario
    intAsiento = 1
    Do Until rs.EOF
        Me.Controls("txtAsiento_" & intAsiento).Value = rs("CampoDeseado")
        intAsiento = intAsiento + 1
        rs.MoveNext
    Loop
 
    ' Cierra el recordset
    rs.Close
    Set rs = Nothing
End Sub

En este ejemplo, asume que los controles de texto en el formulario están nombrados como "txtAsiento_1", "txtAsiento_2", etc., para representar los asientos numerados. Asegúrate de reemplazar "NombreTabla" con el nombre real de tu tabla y "CampoDeseado" con el nombre del campo que deseas asignar al asiento en el formulario.

Al cargar el formulario, el código recorrerá los registros de la tabla y asignará el valor correspondiente al asiento apropiado en el formulario.

Espero que este ejemplo te ayude a lograr tu objetivo. ¡Buena suerte con tu formulario de asientos de autobús!
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