Access - Cuadros de lista

 
Vista:

Cuadros de lista

Publicado por Rolando (1 intervención) el 28/06/2005 18:56:06
panorama en una base existen dos campos
uno tiene su origen en otra tabla por lo tanto lo convierto en un cuadro de lista de selección multiple.
una vez que selecciono uno o varios items estos deben pasar al segundo cuadro de lista que almacenará la selección en el segundo campo.
El problema radica en cómo le indico a access que guarde la selección por cada registro emitido.

garciaasssssssssss
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

Guardar selección de cuadro de lista en cada registro

Publicado por Alejandro (4142 intervenciones) el 06/06/2023 16:23:55
Para lograr que Access guarde la selección realizada en el primer cuadro de lista para cada registro emitido, puedes seguir los pasos a continuación:

1. Asegúrate de tener una tabla principal en la cual deseas almacenar los registros emitidos. Supongamos que esta tabla se llama "TablaPrincipal" y tiene los campos "Campo1" y "Campo2".

2. Crea una tabla adicional que contenga los posibles valores para el primer cuadro de lista. Puedes llamarla "TablaValores" y tener un campo llamado "Valor" que almacenará los valores seleccionables.

3. En el formulario de Access donde deseas realizar la selección, agrega el primer cuadro de lista y el segundo cuadro de lista. Configura el primer cuadro de lista para obtener sus valores de la tabla "TablaValores" y habilita la selección múltiple.

4. En el evento "Al hacer clic" del botón o evento que desencadena el proceso de emisión del registro, agrega el siguiente código de VBA (Visual Basic for Applications):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Dim db As Database
Dim rsPrincipal As Recordset
Dim rsSeleccion As Recordset
Dim seleccion As Variant
 
Set db = CurrentDb
Set rsPrincipal = db.OpenRecordset("TablaPrincipal")
Set rsSeleccion = db.OpenRecordset("TablaValores")
 
' Obtener la selección del primer cuadro de lista
For Each seleccion In Me.NombrePrimerCuadroLista.ItemsSelected
    rsSeleccion.Seek "=", Me.NombrePrimerCuadroLista.ItemData(seleccion)
    rsPrincipal.AddNew
    rsPrincipal.Fields("Campo1").Value = rsSeleccion.Fields("Valor").Value
    rsPrincipal.Update
Next seleccion
 
rsPrincipal.Close
rsSeleccion.Close
Set rsPrincipal = Nothing
Set rsSeleccion = Nothing
Set db = Nothing

Asegúrate de reemplazar "TablaPrincipal" con el nombre de tu tabla principal y "Campo1" con el nombre del campo donde deseas almacenar la selección.

5. Guarda el formulario y pruébalo. Al seleccionar uno o varios valores en el primer cuadro de lista y hacer clic en el botón o evento de emisión, los valores seleccionados se guardarán en la tabla principal para cada registro emitido.

Recuerda ajustar los nombres de los objetos y campos según tu base de datos específica.
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