Access - Datos

 
Vista:

Datos

Publicado por Pedro (18 intervenciones) el 26/12/2006 08:51:16
Tabla: Alumnos; Consulta: Cuarto; Formulario: Cuarto_A; Campos: primertrimestre_1, primertrimestre_2, primertrimestre3. Escojo los datos para un formulario mediante los cuadros combinados. Cuadrocombinado_1 para primertrimestre_1, Cuadrocombinado_2 para primertrimestre_2,etc.
Quiero que los datos que figuren en primertrimestre_1 al escogerlos pasen al campo primertrimestre_2, siempre que correspondan al mismo alumno. Los alumnos tienen número de expediente diferente para cada uno.
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

Actualización automática de datos entre cuadros combinados en formulario de Alumnos

Publicado por Alejandro (4142 intervenciones) el 31/07/2023 23:47:17
Para lograr que los datos seleccionados en el cuadro combinado "Cuadrocombinado_1" se pasen automáticamente al campo "primertrimestre_2", siempre que correspondan al mismo alumno, puedes utilizar eventos y macros en Microsoft Access. A continuación, te mostraré los pasos generales para lograr esto:

1. Abre el formulario "Cuarto_A" en modo de diseño.

2. Haz clic derecho en el cuadro combinado "Cuadrocombinado_1" y selecciona "Propiedades" para abrir la ventana de propiedades.

3. Ve a la pestaña "Eventos" en la ventana de propiedades y busca el evento "Después de actualizar". Haz clic en el botón con los tres puntos (...) al lado del evento y selecciona "Generador de código".

4. En el editor de VBA (Visual Basic for Applications) que se abre, ingresa el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Cuadrocombinado_1_AfterUpdate()
    Dim AlumnoSeleccionado As String
    Dim ValorSeleccionado As Variant
 
    AlumnoSeleccionado = Me!campo_numero_expediente ' Reemplaza "campo_numero_expediente" con el nombre del campo que almacena el número de expediente del alumno.
    ValorSeleccionado = Me!Cuadrocombinado_1.Value
 
    ' Actualiza el campo primertrimestre_2 con el valor seleccionado si el número de expediente coincide.
    If ValorSeleccionado <> "" Then
        CurrentDb.Execute "UPDATE Alumnos SET primertrimestre_2 = " & ValorSeleccionado & " WHERE campo_numero_expediente = '" & AlumnoSeleccionado & "'"
        Me!primertrimestre_2.Requery
    End If
End Sub

5. Cierra el editor de VBA y guarda los cambios en el formulario.

Explicación del código:
- Cuando el usuario selecciona un valor en el cuadro combinado "Cuadrocombinado_1", el evento "Después de actualizar" se activa.
- El código obtiene el número de expediente del alumno actualmente seleccionado en el formulario y el valor seleccionado en el cuadro combinado "Cuadrocombinado_1".
- Luego, se ejecuta una consulta de actualización que actualiza el campo "primertrimestre_2" con el valor seleccionado si el número de expediente coincide.
- Finalmente, se utiliza "Requery" para actualizar el contenido del cuadro combinado "Cuadrocombinado_2" con el nuevo valor.

Recuerda adaptar el código a los nombres reales de tus campos y controles en el formulario. Además, es esencial que tengas una forma de vincular los datos del cuadro combinado "Cuadrocombinado_1" con los registros de la tabla "Alumnos" mediante el número de expediente.

Espero que esta solución te sea útil y te permita lograr el comportamiento deseado en tu formulario de Access.
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