Access 2003 Problema en formularios
Movido por el excelente conocimiento del dominio e ingenio demostrado en mi pregunta ya finalizada "Access 2003 Problema en el diseño de informes", me animo a realizar estas dos consultas que ultimarían el diseño de mi base de datos de gestión de CDs., relativas a Formularios.
1ª pregunta.- ¿Es posible aplicar el código que me facilitó para el diseño del informe (y que reproduzco después) en mi citada consulta anterior para un Formulario de las mismas características, con la adaptación necesaria para este nuevo objeto, teniendo en cuenta que los formularios carecen de encabezado y pié de grupo? Si es posible ¿Cómo habría que modificar el código?
Está fue la respuesta válida y genial que me proporcionó para el informe:
En el informe que tienes, entra en agrupar por Disco y Titulo en detalle el intérprete. En el diseño, en Ver y ordenar y agrupar, le añades Pie de Grupo -- Sí.
Pasas todos campos al pie de grupo del Titulo, excepto el interprete que dejas en detalle, y le añades un campo de texto, lo llamas TTInter, donde vendrán la lista de interpretes, entras otra vez en ver, ordenar... Y pones encabezado de grupo a NO.
Solo tienes detalle y Pie, o sea que el informe saldrá algo así:
Orq. Fil. Berlín, Karajan(director) Cerkov(violín)
13 Sinónía Pastoral Beethoven
Arias(Piano)
Cerkov(violín)
14 Sonata para violín y piano Frank
---------------------
Ahora entras en el código y pegas esto:
Dim xx As String, i as integer
Private Sub Detalle_Format(Cancel As Integer, FormatCount As Integer)
Detalle.Height = 0
i=0
End Sub
Private Sub Detalle_Print(Cancel As Integer, PrintCount As Integer)
i=i+1
if i < 4 then xx = xx + interprete + ","
' cambia el 4 por el que quieras.
End Sub
Private Sub PieDelGrupo1_Print(Cancel As Integer, PrintCount As Integer)
TTinter = xx
xx = ""
i=0
End Sub
Para comprobar que todo esta en su sitio, vuelves al informe y con el botón derecho clicas en la barra de detalle y pinchas eventos. Te deben de salir 2, sino ves pinchando (solo hay 3). Lo mismo en la barra del pie.
Si has aplicado correctamente te saldrá esto:
Disco Titulo Compositor Intérpretes
15 Danza nº 1 para violín y piano Strauss Arias(piano), Cerkov(Violín),
15 Danza nº 2 Strauss Arias(piano), Cerkov(violín),
15 Danza nº 3 Strauss Arias(piano), Cerkov(violín),
2ª pregunta.- Tengo diseñado un Formulario para el Alta/Modificación de datos a las tablas, que contiene a su vez un subformulario que ingresa datos a las tablas muchos a muchos de Instrumento_solista e Intérprete. En el formulario tengo diseñado un botón de Control para eliminar el registro visualizado, pero si lo pulso dicho botón cuando hay datos en el subformulario Solistas (Relación muchos a muchos con las tablas Instrumento-Solista e Intérprete) o intento cambiar estos datos porque me he equivocado al incorporarlos no me deja, me sale el texto "El registro no se puede cambiar o eliminar porque la tabla Solistas incluye registros relacionados". Esto me obliga a salir del formulario e ir derectamente a la tabla fonoteca para eliminar allí los registros. ¿Se podría depurar este inconveniente?
Con la valiosa aportación de su experiencia quedaría perfectamente perfilada la base de datos.
Muchas gracias por la atención de leerme y, ni que decir tiene, mis disculpas por mi inexperiencia.
1ª pregunta.- ¿Es posible aplicar el código que me facilitó para el diseño del informe (y que reproduzco después) en mi citada consulta anterior para un Formulario de las mismas características, con la adaptación necesaria para este nuevo objeto, teniendo en cuenta que los formularios carecen de encabezado y pié de grupo? Si es posible ¿Cómo habría que modificar el código?
Está fue la respuesta válida y genial que me proporcionó para el informe:
En el informe que tienes, entra en agrupar por Disco y Titulo en detalle el intérprete. En el diseño, en Ver y ordenar y agrupar, le añades Pie de Grupo -- Sí.
Pasas todos campos al pie de grupo del Titulo, excepto el interprete que dejas en detalle, y le añades un campo de texto, lo llamas TTInter, donde vendrán la lista de interpretes, entras otra vez en ver, ordenar... Y pones encabezado de grupo a NO.
Solo tienes detalle y Pie, o sea que el informe saldrá algo así:
Orq. Fil. Berlín, Karajan(director) Cerkov(violín)
13 Sinónía Pastoral Beethoven
Arias(Piano)
Cerkov(violín)
14 Sonata para violín y piano Frank
---------------------
Ahora entras en el código y pegas esto:
Dim xx As String, i as integer
Private Sub Detalle_Format(Cancel As Integer, FormatCount As Integer)
Detalle.Height = 0
i=0
End Sub
Private Sub Detalle_Print(Cancel As Integer, PrintCount As Integer)
i=i+1
if i < 4 then xx = xx + interprete + ","
' cambia el 4 por el que quieras.
End Sub
Private Sub PieDelGrupo1_Print(Cancel As Integer, PrintCount As Integer)
TTinter = xx
xx = ""
i=0
End Sub
Para comprobar que todo esta en su sitio, vuelves al informe y con el botón derecho clicas en la barra de detalle y pinchas eventos. Te deben de salir 2, sino ves pinchando (solo hay 3). Lo mismo en la barra del pie.
Si has aplicado correctamente te saldrá esto:
Disco Titulo Compositor Intérpretes
15 Danza nº 1 para violín y piano Strauss Arias(piano), Cerkov(Violín),
15 Danza nº 2 Strauss Arias(piano), Cerkov(violín),
15 Danza nº 3 Strauss Arias(piano), Cerkov(violín),
2ª pregunta.- Tengo diseñado un Formulario para el Alta/Modificación de datos a las tablas, que contiene a su vez un subformulario que ingresa datos a las tablas muchos a muchos de Instrumento_solista e Intérprete. En el formulario tengo diseñado un botón de Control para eliminar el registro visualizado, pero si lo pulso dicho botón cuando hay datos en el subformulario Solistas (Relación muchos a muchos con las tablas Instrumento-Solista e Intérprete) o intento cambiar estos datos porque me he equivocado al incorporarlos no me deja, me sale el texto "El registro no se puede cambiar o eliminar porque la tabla Solistas incluye registros relacionados". Esto me obliga a salir del formulario e ir derectamente a la tabla fonoteca para eliminar allí los registros. ¿Se podría depurar este inconveniente?
Con la valiosa aportación de su experiencia quedaría perfectamente perfilada la base de datos.
Muchas gracias por la atención de leerme y, ni que decir tiene, mis disculpas por mi inexperiencia.
1 respuesta
Respuesta de smanero
1