Access - Como abrir diferentes subforms en el mismo control

   
Vista:

Como abrir diferentes subforms en el mismo control

Publicado por Betty (2 intervenciones) el 23/06/2008 12:30:13
Hola,

Tengo un formulario con un control para colocar subformularios.En el formulario principal tengo una serie de botones de opcion y segun la opcion elegida quiero abrir uno u otro subformulario dentro de mi control subformulario.

Mi codigo:

Private Sub grp_analyse_AfterUpdate()

If Me.grp_analyse.Value = 1 Then

Me.sub_analyse.SourceObject = "subform1"
Me.sub_analyse.LinkChildFields = SIRET
Me.sub_analyse.LinkMasterFields = Me.txt_siret

ElseIf Me.grp_analyse.Value = 2 Then

Me.sub_analyse.SourceObject = "subform2"
Me.sub_analyse.LinkChildFields = ACT
Me.sub_analyse.LinkMasterFields = Me.txt_activ

ElseIf Me.grp_analyse.Value = 3 Then

Me.sub_analyse.SourceObject = null

End if

Si consigo abrir el subformulario correspondiente pero no soy capaz de enlazar los campos del principal con los del formulario. Es decir, en los subformularios aparecen todos los registros posibles y no solamente aquellos que se corresponden con el campo principal elegido en el formulario principal.

Si defino las propiedades LinkChildFields y LinkMasterFields en diseño si funciona, pero de esa manera solo puedo determinar uno de los subform y no todos...

Saludos.
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

RE:Como abrir diferentes subforms en el mismo cont

Publicado por mi menda (1111 intervenciones) el 23/06/2008 17:00:31
Hola Betty:
Prueba así

Private Sub grp_analyse_AfterUpdate()

Select Case Me.grp_analyse
Case 1

Me.sub_analyse.SourceObject = "subform1"
Me.sub_analyse.Form.LinkChildFields = SIRET
Me.sub_analyse.Form.LinkMasterFields = Me.txt_siret

Case 2

Me.sub_analyse.SourceObject = "subform2"
Me.sub_analyse.Form.LinkChildFields = ACT
Me.sub_analyse.Form.LinkMasterFields = Me.txt_activ

Case 3

Me.sub_analyse.SourceObject = ""

End Select
End sub

Fijate en esto
Me.sub_analyse.SourceObject = "subform1"
Me.sub_analyse.LinkChildFields = SIRET

En el primero estas diciendo que carge el subform1 en el control sub_analyse -correcto-
En el segundo estas enlazando los campos con el CONTROL y los tienes que enlazar con el formulario que contiene

Me.sub_analyse.Form.PropiedadesDelSubformulario

Un Saludo
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

RE:Como abrir diferentes subforms en el mismo cont

Publicado por Betty (1 intervención) el 24/06/2008 11:06:37
Hola!

Me he quedado un buen rato mirando tu respuesta porque no veia la diferencia con lo que yo habia puesto :-) Al final si, claro.

El caso es que en todos los subformularios que he hecho antes he usado el modo diseño, y es cierto que no ayuda a la hora de pensar qué estas enlazando realmente.

Conclusion: tantoLinkMasterFields como LinkChildFields son propiedades del SUB-formulario.

-LinkMasterFields : dice qué CONTROL del formulario padre voy a leer
-LinkChildFields: dice qué CAMPO de la tabla del subformulario

Espero haberlo entendido bien!
Gracias
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