Formularios Access 2007 relacionar campos

Agradecería si alguien me pudiera ayudar con un access que
estoy realizando.
Tengo un formulario llamado Relaciones con 3 combos:
- CmbEstudios
- CmbCodigo
- CmbCodigo2

Y un TextBox
- CmbDescrip

También tengo una tabla con los campos (todos tipo texto):
- Cod_Estudios
- Estudios
- Código
- Descripción
- Codigo2

Quiero relacionar los combos entre ellos así como también el
cuadro de texto.
1.
CmbEstudios : que se abra un desplegable con lsa
diferentes opciones
2.
CmbCodigo: una vez seleccionado los Estudios,
que aparezcan los códigos para ese estudio
3.
CmbDescrip: según el código escogido que
Aparezca la descripción que corresponda
4.
CmbCodigo2: según el Código escogido en
CmbCodigo se despliguen los subcodigos que correspondan.

Para relacionar los combos estoy probando con consultas en

SQL en el Origen de la fila. Y para relacionar el TextBox he utilizado tanto
consultas SQL como Dlookup en el origen de control.

=SELECT DESC_CODIGO FROM Relaciones_Asignaturas WHERE CÓDIGO
= ' " & Forms![Relaciones]![Código]

=[DLookup("DESC_CODIGO","Relaciones_Asignaturas","CÓDIGO='"&
Código.Value &"'")]

También he probado con visual basic:
Private Sub cmbEstudios_AfterUpdate()
Me.cmbCodigo =Me.cmbEstudios.Column(2)
Me.cmbDescrip =Me.cmbEstudios.Column(3)
Me.cmbCodigo2 =Me.cmbEstudios.Column(5)
End Sub
O
Me. CmbCodigo = DLookup("[DESC_CODIGO]", " Relaciones_Asignaturas
", "[ CÓDIGO]=" & Me.cmbEstudios.Value)
Me. CmbDescrip = DLookup("[DESC_CODIGO]", " Relaciones_Asignaturas
", "[ CÓDIGO]=" & Me.cmbCodi.Value

La verdad es que ya no se que hacer.

1 respuesta

Respuesta
1

En la página: http://angelessebas.es/

En el apartado supuestos y soluciones ---> cuadros combinados ---> cuadros combinados en cascada

Tienes algunos ejemplos que te pueden servir.

Para visualizar el dato en el cuadro de texto:

Cuadros combinados ---> seleccionar datos mediante un cuadro combinado y visualizarlo en un cuadro de texto.

Cualquier duda, me consultas.

Hola Angeles,

Muchas gracias, funciona perfectamente! Sólo una pregunta más. Cuando escojo por segunda vez una opción en el combo de Estudios, el combo Código no se actualiza a la primera asignatura de esos estudios, sino que se queda el valor de los Estudios elegidos anteriormente (he de desplegar el combo Código para ver todas las asignaturas actualizadas para esos estudios). ¿Existe alguna manera de poder modificar esto?

Gracias por tu ayuda.

Un saludo,

Sara

En la acción Al hacer clic del 1er combo ¿has puesto el códidgo Me. Refresh para que refresque el formulario?

Hola Ángeles,

Sí, lo he puesto y la lista se actualiza pero visualmente se que el valor que he escogido anteriormente. Por ejemplo:

Combo1 = Estudios de Matemáticas

Combo2=Cod1,Cod2,Cod3,Cod4(y escojo el Cod1)

Cuando quiero hacer otra búsqueda:

Combo 1 = Estudios Literatura

Combo 2 = Ahora sigo viendo Cod1 y si desplego ya me aparecen Cod 5, Cod6, Cod7 (códigos correspondientes a esos estudios)

Lo que quiero es que no se quede guardado el valor anterior, o bien que se quede en blanco o que me aparezca el primer código del estudio seleccionado. En el ejemplo, tendría que aparecer Cod 5.

Espero haberme explicado bien.

Muchas gracias!

Saludos,

Sara

En access 2003 (que es el utilizo) queda en blanco, no sé en 2007... podemos probar a poner el origen de la fila (RowSource) del 2º combo (lo llamaré Combo2) en el código Al hacer clic del 1º:

Form! Combo2. RowSource=Select... la sql que tengas en el origen de la fila de ese combo.

Después refrescas:

Me. Refresh

Me cuentas.

Hola Ángeles,

Perdona el retraso en la respuesta. Al final he utilizado Requery en las funciones AfterUpdate.

No cierro la pregunta, ya que continuo trabajando en el access y tal vez necesite ayuda en algún punto que estoy realizando ahora combinado combos del formulario con combos del subformulario.

Muchas gracias por tu ayuda,

Un saludo,

Sara

Me alegro de que lo hayas solucionado.

Preferiría que cerrases la pregunta (tengo demasiadas abiertas y es un lío), si tienes alguna duda más creas una nueva y procuraré responderla.

Hola,

Me ha surgido un problemilla...tengo un Formulario con 2 combos (Combo 1 y Combo2 relacionados entre sí) y ahora he hecho un subformulario con otro combo (Combo 3).

El caso, es que El Combo 3 también está relaciona con el Combo1, pero ademas necesitaría relacionarlo con el Combo 2. Es decir, he hecho una Select para relacionarlo con el Combo 1 y va bien, pero quiero que cuando escoja un dato en el combo2, me aparezca el mismo dato en el Combo3.

Estoy en Visual Basic, pero no se como relaciones los combos de un Formulario con un Subformulario.

He hecho esto pero no funciona:

Private Sub Combo2_AfterUpdate(){

Me.SubFormulario1.Form.RecordSource = lo he igualado a una select, pero no me funciona.

End Sub

Muchas gracias,

Un saludo,

Sara

Prueba a relacionar el subformulario a su colección forms

Forms!NombreDelFormulario!SubFormulario1.Form.RecordSource

Si no funciona, cópiame la sql

Saludos, Angeles

En la página, en el apartado Subformularios puedes echar un vistazo a: Formulario para seleccionar el Proveedor y Subformulario para ver los pedidos de ese Proveedor

Puede que te ayude.

Página supuestos y soluciones en access: http://angelessebas.es/

Hola Angeles,

Tengo un desplegable que me muestra 2 columna, y me gustaría guardar cada columna en un campo de la tabla.

El código que utilizo es este:

rs!Código = Form!cmbSubCodCodigo.Column(0).Value
rs!Descripcion = Form!cmbSubCodigo.Column(1).Value

Pero no me lo coge, me da error. Puedes ayudarme? Con esto ya quedaría listo el access y cerraría la pregunta, (ya no te molesto más ;-) )

Muchas gracias,

un saludo,

Sara

En la página, en el supuesto ---> Formulario para insertar datos en una tabla

Tienes un ejemplo de como insertar una columna que no sea la dependiente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas