Tengo un formulario en el que se incluye un boton de opciones que te deja seleccionar entre ver una información extendida o agrupada, y lo que debe suceder al seleccionar una opción u otra es que se muestre un subformulario u otro, uno con la información tal cual y otro agrupada por un campo en concreto. Lo he conseguido hacer poniendo dos subformularios y jugando con la propiedad visible, pero me pregunto si no se podria cambiar el origen del objeto (sourceobject) por ejemplo, para no tener que introducir los dos subformularios. Sería muy util porque me estoy planteando la posibilidad de que si se elije la opción "agrupado" luego se pueda elejir por que campo se quiere agrupar, y entonces serian mas de 2 formularios. Espero haberme explicado. RESPONDE MARJAN =============== Aquí tienes un ejemplo de codigo que, dependiendo del valor de un campo, variable, opción, etc cambia de un sub a otro. En el ejemplo, en el Formulario el Nombre del SubFormulario se llama "subfrm_kk" If TuDato = "Valor" Then Me.subfrm_kk.SourceObject = "Subformulario111" Me.subfrm_kk.LinkMasterFields = "Id_Campo_Formulario" Me.subfrm_kk.LinkChildFields = "Ref_Campo_SubFormulario" Else Me.subfrm_kk.SourceObject = "Subformulario222" Me.subfrm_kk.LinkMasterFields = "Id_Campo_Formulario" Me.subfrm_kk.LinkChildFields = "Ref_Campo_SubFormulario" End If