Cuadro de texto vinculado a cuadro combinado en cascada

Necesito ayuda con la base de datos de access que he creado.
He diseñado un formulario para grabar datos en una tabla.
Y he creado 4 cuadros combinados en cascada, llamados "centro", "codigo curso", "nombre curso", "docente"
Hice cada cuadro combinado como una consulta, para que se filtrara y apareciera en el siguiente combo los datos que tienen que ver con el combo anterior.

El último combo es DOCENTE, y un cuadro de texto es SUELDO BRUTO y en el segundo es SUELDO NETO.
Entonces lo que quiero es que cuando elija al docente, me aparezca la cantidad de su sueldo en la casilla que corresponda (si su sueldo es bruto o neto)
Lo llegué hacer hace 2 meses, a través de generador de expresiones, pero no logro volverlo hacer.
No entiendo mucho de SQL.

2 respuestas

Respuesta
2

Puedes hacerlo de varias formas:

1º/ En la consulta de tu último cuadro combinado, junto con el campo DOCENTE añade los otros dos (SUELDO BRUTO y NETO), y añádelos al cuadro combinado de tu formulario.

Suponiendo que el cuadro combinado se llame también DOCENTE, y tenga solo esos tres campos, en los cuadros de texto ponles como origen de control lo siguiente:

=DOCENTE.Columna(1)

=DOCENTE.Columna(2)

Esta opción te servirá si no tienes que guardar esos dos valores.

2º/ Si necesitas guarda esos valores, añade como antes los dos campos a tu cuadro combinado, y en el evento "Después de actualizar" genérale este código:

Me.[SUELDO BRUTO]=Me.DOCENTE.Column(1)

Me.[SUELDO NETO]=Me.DOCENTE.Column(2)

Puedes ver otras formas de trabajar con cuadros combinados en este ejemplo que tengo en la web: http://siliconproject.com.ar/neckkito/index.php/component/content/article/96-ejemplos-explicados/ejemplos-de-controles/279-cuadros-combinados 

Un saludo.


¡Gracias! , lo he intentado pero solo consigo que aparezca la cantidad en el cuadro de texto.

No se me guarda en la tabla.

Hice lo siguiente:

Private Sub CBODOCENTE_AfterUpdate()
Me.CBOCODIGOCURSO.Requery
Me.CBOCENTRO.Requery
Me.TXTEMPRESADOCENTE = Me.CBODOCENTE.Column(3)
Me.PRECIOBRUTOHORA = Me.CBODOCENTE.Column(1)
Me.PRECIONETOHORA = Me.cbodocente.Column(2)
End Sub

Para que se te grabe en la tabla, los cuadros de texto tienen que tener como origen de control el campo correspondiente de la tabla. Si sacas las propiedades de los cuadros de texto, es la primera de la pestaña "Datos".

Tendrías más opciones para que se te graben en la tabla (ejecutar una consulta de actualización, por recordsets...) pero la anterior es la más sencilla.

Un saludo.


Respuesta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas