none
Pregunta subformulario RRS feed

  • Pregunta

  • Buenas

    Tengo un formulario que dependiendo de que opcion marque dentro de un grupo de opciones, se debe cargar un subformulario u otro.

    Lo tengo asi y no va bien:

    Me!Marco_Sub_Form.SourceObject = "FRM_Consulta_Completa"

     

    Donde:

    Marco_Sub_Form es el nombre del grupo de opciones

    FRM_Consulta_Completa es el nombre del subformulario a cargar

     

    Es evidente que esta mal escrito porque me bloquea el formulario principal entero.

     

    ¿Como deberia escribirlo?

     

    Muchas gracias a tod@as.

     

    jueves, 10 de junio de 2010 21:53

Respuestas

  • Hola JM_cat.

    Me.NombreDeTuControlSubformulario.SourceObject ="NombreDelSubformulario"

     

    Salu2,


    José Mª Fueyo [MS MVP Access]
    • Marcado como respuesta JM_cat viernes, 11 de junio de 2010 12:52
    viernes, 11 de junio de 2010 9:57
  • "Marco_Sub_Form es el nombre del grupo de opciones".

    1)Tienes un grupo de opciones

    El marco de opciones es quien indica el flujo a tomar; según el valor seleccionado por el usuario. Voy a llamarlo MiGrupo

    2) Debes tener un control subformulario; suponiendo que tiene por nombre tusubform.

     

    En el procedimiento 'Despues de Actualizar' del grupo de opciones, debes crear un select case o una serie de If Then Else.

    En base a la selección, entonces asigna el nombre del formulario que será el origen del control subformulario.

    if migrupo=1 then

    tusubform.sourceobject="nombredeunform" ' entre comillas

    else

    tusubform.sourceobject="otroform"

    end if

    • Marcado como respuesta JM_cat viernes, 11 de junio de 2010 12:52
    viernes, 11 de junio de 2010 12:35

Todas las respuestas

  • Hola JM_cat, debes asignar un valor a cada opción;  dependiendo de este valor (1,2,3,etc) tomas la ruta;en mi ejemplo, se trata del valor seleccionado de un combobox o lista desplegable.

       Select Case CmbOp.Column(0)
            Case Is = "con"
          Form_FrmMaestro.Frmaux.SourceObject = "frmcon"

        Case Is = "VC"
          Form_FrmMaestro.Frmaux.SourceObject = "frmVC"

        Case Is = "IEX"   ' en este caso, cambio el origen, cantidad de columnas...de un cuadro combinado
          Me.cmbBuscaCredito.Enabled = True
          Me.cmbBuscaCredito.ColumnCount = 3
          Me.cmbBuscaCredito.ColumnWidths = "0 cm;2 cm;2 cm"
          Me.cmbBuscaCredito.ListWidth = 2268
          Me.cmbBuscaCredito.ColumnHeads = True
          Me.cmbBuscaCredito.RowSource = "SELECT idop,NoCredito,MontoCred,Fecha,vci FROM TblCredito" _
          & " WHERE Left(vCI, 3) = 'DEX' and isnull(tipo) and saldo>0 and vbk='" & banco & "'"
    ...

    En mi caso, se trata de un formulario ppal, el cual tiene dos subformularios; cuando haces cambios en el subformulario TipoOperacion, se actualiza el origen del otro subformulario.

    Hasta pronto, Carlos

    • Editado guarracuco viernes, 11 de junio de 2010 0:40 ampliar información
    viernes, 11 de junio de 2010 0:37
  •  

    Hola, buenos dias

    Quizas me explique mal porque que tengo que seleccionar en funcion del valor de cada opcion ya lo se, y ya lo tengo funcionando bien, el problema viene que no se como debo escribir correctamente la linea que abre el sub.

    O sea esta:

    Me!Marco_Sub_Form.SourceObject = "FRM_Consulta_Completa"

    Donde:

    Marco_Sub_Form es el nombre del grupo de opciones

    Val_1 y Val_2 son las opciones

    FRM_Consulta_Completa es el nombre del SubFormulario a cargar

    FRM_Principal es en nombre del formulario en el cual dentro va el SubFormulario

     

    O sea, ¿como se escribe esta linea correctamente?

    Me!AQUI QUE SE PONE.SourceObject = "FRM_Consulta_Completa"

    '                                                         "porque supongo que esta parte es correcta"

    Gracias.

     

    viernes, 11 de junio de 2010 8:40
  • Hola JM_cat.

    Me.NombreDeTuControlSubformulario.SourceObject ="NombreDelSubformulario"

     

    Salu2,


    José Mª Fueyo [MS MVP Access]
    • Marcado como respuesta JM_cat viernes, 11 de junio de 2010 12:52
    viernes, 11 de junio de 2010 9:57
  • Hola, que tal.

    Es evidente que sigo haciendo mal la primera parte, o sea

    ¿Que se entiende por NombreDeTuControlSubformulario?

     

    Yo creia que es el nombre / titulo del subformulario pero debe ser que no es asi.

     

    Gracias

     

    viernes, 11 de junio de 2010 10:45
  • "Marco_Sub_Form es el nombre del grupo de opciones".

    1)Tienes un grupo de opciones

    El marco de opciones es quien indica el flujo a tomar; según el valor seleccionado por el usuario. Voy a llamarlo MiGrupo

    2) Debes tener un control subformulario; suponiendo que tiene por nombre tusubform.

     

    En el procedimiento 'Despues de Actualizar' del grupo de opciones, debes crear un select case o una serie de If Then Else.

    En base a la selección, entonces asigna el nombre del formulario que será el origen del control subformulario.

    if migrupo=1 then

    tusubform.sourceobject="nombredeunform" ' entre comillas

    else

    tusubform.sourceobject="otroform"

    end if

    • Marcado como respuesta JM_cat viernes, 11 de junio de 2010 12:52
    viernes, 11 de junio de 2010 12:35
  • Hola
    Cuando insertas un subformulario en un formulario, esto lo haces a través de un control subformulario.
    Entre las distintas propiedades que tiene éste control, está el nombre.
    A ese nombre es al que me refiero.


    Salu2


    José Mª Fueyo [MS MVP Access]
    viernes, 11 de junio de 2010 12:50
  • Hola buenas

    Todo lo que me comentais los dos ya lo tenia bien echo pero por fin he encotrado el porque no funcionaba.

    Aparentemente estas dos lineas parecen iguales ¿a que si?

    Me!Sub_FRM_Consulta_Taula_Principal_Factures.SourceObject = "FRM_Consulta_Completa_Taula_Principal_Factures"

    Me!Sub_FRM_Consulta_Taula_ Principal_Factures.SourceObject = "FRM_Consulta_Completa_Taula_Principal_Factures"

    Pues va a ser que no, porque por culta de un "p***" espacio que casi no se ve me he vuelto loco y os he atiborrado de preguntas "chorra" a vosotros o sea que ahi van mis disculpas.

    La buena es la primera.

    Estas cosas pasan.

    Gracias

    viernes, 11 de junio de 2010 12:52