Access - Rellenar una tabla con un cuadro de lista.

 
Vista:

Rellenar una tabla con un cuadro de lista.

Publicado por LazGom (3 intervenciones) el 04/12/2006 22:21:41
Hola a todos:

Tengo una base de datos que gestiona cursos y alumnos. Se compone de 3 tablas, alumnos , cursos y union. La tabla unión tiene las claves principales IdAlumno, IdCurso para asignar alumnos a los cursos, por supuesto es una relación de muchos a muchos.
Quiero poder asignar los alumnos de un determinado curso mediante un cuadro de lista de selección múltiple. O sea, que cuando yo pulse el botón asignar alumnos, se me abra un cuadro de lista, donde tras seleccionar los alumnos, se me asignen al curso en cuestión. Espero haberme explicado.

Un saludo y gracias por la ayuda.
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

Rellenar una tabla con un cuadro de lista.

Publicado por Alejandro (4142 intervenciones) el 31/07/2023 17:49:45
¡Hola!

Entiendo perfectamente lo que necesitas. Para lograrlo, puedes seguir estos pasos para crear un cuadro de lista de selección múltiple que te permita asignar alumnos a un curso en tu base de datos de Access:

1. Diseñar el formulario:
- Abre el formulario en el que deseas agregar el cuadro de lista. Si aún no tienes un formulario, crea uno que esté vinculado a la tabla "cursos" y contenga un cuadro de lista que muestre los cursos disponibles.

2. Agregar el cuadro de lista:
- En el modo de diseño del formulario, selecciona el cuadro de lista de la barra de herramientas "Cuadro de herramientas" (o "Controles activos", según la versión de Access que estés utilizando).
- Dibuja un cuadro de lista en el formulario donde deseas que aparezca.

3. Configurar el cuadro de lista:
- Haz clic derecho en el cuadro de lista y selecciona "Propiedades".
- En la pestaña "Datos", establece la propiedad "Origen de la fila" en la tabla "alumnos" y el campo que deseas que se muestre en la lista (por ejemplo, el nombre del alumno).
- Configura la propiedad "Idioma de la lista" para permitir la selección múltiple ("Bilingüe" o "Sí").

4. Asignar alumnos al curso:
- Crea un botón en el formulario con la etiqueta "Asignar Alumnos" o similar.
- Haz doble clic en el botón para abrir el editor de código de Visual Basic para Applications (VBA).

5. Agregar código VBA:
- En el editor de VBA, agrega el siguiente código para asignar los alumnos seleccionados al curso:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Private Sub btnAsignarAlumnos_Click()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim strCurso As String
    Dim varItem As Variant
 
    strCurso = Me.NombreCurso ' Reemplaza "NombreCurso" por el nombre del control que muestra el nombre del curso seleccionado en el formulario
 
    Set db = CurrentDb
    Set rs = db.OpenRecordset("uniones", dbOpenDynaset)
 
    ' Borra los registros de la tabla "uniones" que coincidan con el curso seleccionado
    db.Execute "DELETE FROM uniones WHERE IdCurso = " & Me.IdCurso
 
    ' Agrega los nuevos registros con los alumnos seleccionados
    For Each varItem In Me.NombreAlumnos.ItemsSelected
        rs.AddNew
        rs!IdAlumno = Me.NombreAlumnos.ItemData(varItem)
        rs!IdCurso = Me.IdCurso
        rs.Update
    Next varItem
 
    rs.Close
    db.Close
    Set rs = Nothing
    Set db = Nothing
 
    MsgBox "Alumnos asignados al curso correctamente.", vbInformation
End Sub

6. Guardar y cerrar el editor de código.

7. Prueba el formulario:
- Cierra el formulario en el modo de diseño y ábrelo en el modo de vista.
- Selecciona un curso en el cuadro de lista de cursos y luego presiona el botón "Asignar Alumnos".
- Aparecerá un cuadro de lista de selección múltiple con los alumnos disponibles. Selecciona los alumnos que deseas asignar al curso y haz clic en "Aceptar".
- Los alumnos seleccionados se asignarán al curso en la tabla "uniones".

¡Listo! Ahora deberías tener un cuadro de lista de selección múltiple que te permite asignar alumnos a un curso en tu base de datos de Access. ¡Buena suerte con tu base de datos de cursos y alumnos!
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