Access - VINCULAR CUADRO COMBINADO CON SUBFORMULARIO

 
Vista:
sin imagen de perfil

VINCULAR CUADRO COMBINADO CON SUBFORMULARIO

Publicado por Hector (27 intervenciones) el 13/09/2021 04:42:29
Hola a todos, buenas noches. Quería pedir de su ayuda con un cuadro combinado que no se como vincular.
Abrí un formulario en blanco y estoy colocando un cuadro combinado CODIGO_ARTICULO_A para buscar por código del articulo, asi que en la hoja de propiedades en origen de la fila busque la tabla artículos y coloque el campo Referencia que seria el código del articulo de esa tabla, luego cree dos subformularios un SUBFORMULARIO FC y un SUBFORMULARIO FV en el origen del control del primero coloque la tabla líneas facturas de compra, y en el otro en el origen del control la tabla Linea facturas de Venta. En estos subformularios solo tengo dos campos en cada uno, uno es Articulo y el otro es Cantidad. Luego coloque este código en el cuadro combinado pero no hace nada. Que me factaria por hacer o que estoy haciendo mal. De antemano muchas gracias

Private Sub CODIGO_ARTICULO_A_Change()
If IsNull([CODIGO_ARTICULO_A]) Then
Me.RecordSource = "select * from [SUBFORMULARIO FC] where Articulo=" & Me.CODIGO_ARTICULO_A.Column(0) & ""
End If
End Sub
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

VINCULAR CUADRO COMBINADO CON SUBFORMULARIO

Publicado por Anonimo (3316 intervenciones) el 13/09/2021 12:27:57
Según lo que puedo apreciar hay un formulario principal con tres objetos
.- un cuadro combinado
.- subformulario 1
.- subformulario 2

Al parecer (ya que no se indica lo contrario), el formulario principal no tiene origen de datos.

Seleccionado uno de los elementos del combo ubicado en el principal se desea obtener un subconjunto de datos ¿en uno de los dos subformularios?.

Donde aprecio el problema:

Si el objeto 'codigo_articulo_a' es el combo ubicado en el principal, el recordSource al que se hace mención es el origen de datos del formulario principal:
.- Me.RecordSource = .......

Pero aunque al formulario principal se le imponga un origen de datos no hay objetos (cuadros de texto ... etc) que los puedan mostrar, en el (el formulario principal) los objetos disponibles son:
.- Un cuadro combinado (el objeto activo)
.- Un subformulario ('SUBFORMULARIO FC')
.- Otro subformulario ('SUBFORMULARIO FV')

Access no da error y asigna el origen de datos y 'parece' que no hace nada porque no tiene donde mostrar datos de su origen.

Lo correcto seria modificar el origen de datos de uno de los subformularios para que se mostrase en el la selección:
Me.RecordSource = ..... ====> Me.[nombre del subformulario].FORM. RecordSource = ......

Personalmente utilizaría la propiedad FILTER del subformulario para obtener ese mismo resultado

Me.[nombre del subformulario].FORM.Filter = Articulo=" & Me.CODIGO_ARTICULO_A.Column(0)
Me.[nombre del subformulario].FORM.FilterOn True

Cada una de esas opciones tiene sus ventajas y sus inconvenientes, pero para casos generales (y en concreto para la que se pretende) ambas funcionarán

La alternativa:
Modificar el formulario principal para que muestre los datos y en su cabecera (o pie) añadir el combo y los subformularios.

Otra alternativa:
Utilizar la vinculación natural entre el formulario principal y (uno de) los subformularios mediante el combo del principal y el campo asociado del subformulario (y sobra todo el código).

Todo esto se ha de tomar como simples ejemplos, copiar y pegar puede dar lugar a errores (por el tipo de datos ....) esto es es simple y pura teorií en base al funcionamiento interno 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
2
Comentar
sin imagen de perfil

VINCULAR CUADRO COMBINADO CON SUBFORMULARIO

Publicado por Hector (27 intervenciones) el 15/09/2021 00:07:25
oka, gracias por tu ayuda
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