[Resuelto] Saber el alto del detalle de un informe |
Responder |
Autor | |
zelarra
Habitual Unido: 21/Octubre/2020 Localización: España Estado: Sin conexión Puntos: 122 |
Tema: [Resuelto] Saber el alto del detalle de un informe Enviado: 25/Octubre/2020 a las 19:17 |
Hola.
Necesito saber el alto que toma el detalle de un informe. He probado esto: Private Sub Detalle_Print(Cancel As Integer, PrintCount As Integer) Debug.Print Me.Detalle.Height End Sub pero siempre me da 396 twips, que es el que le tengo puesto en el diseño del informe. Vamos, que no tengo manera de sacarlo. He visto una función: http://www.mvp-access.es/juanmafan/wizhook/twipsfromfont.htm sin embargo, no veo cómo hacer funcionar esa función: el procedimiento wzTwipsFromFont hace referencia a la función TwipsFromFont, que, aparte de estar toda comentada, no hace nada. Por lo que no sé cómo obtiene nada. Gracias.
Editado por zelarra - 26/Octubre/2020 a las 21:59 |
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14738 |
Enviado: 26/Octubre/2020 a las 10:12 |
Solo para entenderte y que no estés buscando por el lado equivocado, ¿para que necesitas saber la altura del detalle de un informe? Teniendo en cuenta que este puede variar en función del número de registros, no acabo de visualizar el objetivo. Porque una opción es multiplicar el numero de registros mostrados por la altura...
Un saludo
|
|
zelarra
Habitual Unido: 21/Octubre/2020 Localización: España Estado: Sin conexión Puntos: 122 |
Enviado: 26/Octubre/2020 a las 10:31 |
Hola, Xavi. Muchas gracias por contestar lo primero de todo.
Tengo un informe para generar facturas. Antes, en el pie de página ponía un cuadro de texto para añadir la política de privacidad. Para que no me pidieran cambiar la política de privacidad cada vez que quisieran hacer un cambio, creé una tabla con un campo largo (y acto seguido un formulario) para que pusieran lo que quisieran, y en el informe de la factura lo que hace es un DLookup. Claro, esta campo con la política de privacidad puede tener distintos altos, y, como decía antes, lo tenía en el pie de página, entonces salía cortado. Entonces opté por ponerlo en el pie de informe. Sin embargo, al usuario no le gusta que quede la factura medio vacía cuando solo añada uno o dos conceptos. Para esto, tendría que pasar el campo de la política de privacidad al pie de página. Sinceramente, llevo varios días dándole vueltas a cómo poder solucionarlo. El otro día se me ocurrió que quizá podía sacar el alto del detalle, y, en función de él, actuar (poniendo la política tanto en el pie de informe y página, y ocultar según sea), pero es que no puedes saber el alto del detalle del informe en concreto, porque solo te dice el alto que tú le has puesto en el diseño del informe. Esta mañana he estado midiendo las distintas secciones del informe, a ver si podía arreglarlo sin necesidad de código, pero tampoco. Mira, te paso unas capturas: https://www.dropbox.com/s/d9ab04z2ipcu5gr/ScreenShot001.jpg?dl=0 https://www.dropbox.com/s/dmzhze0q49hpktm/ScreenShot002.jpg?dl=0 Las medidas del informe son las siguientes: 1,501 --> Margen superior 8,635 --> Encabezado del informe 0,698 --> Detalle 4,778 --> Pie del informe 0,635 --> Margen inferior Yo no sé cómo plantear esto para darle una solución. No se me ocurren más ideas. Espero que puedas decirme al respecto. Un saludo.
|
|
zelarra
Habitual Unido: 21/Octubre/2020 Localización: España Estado: Sin conexión Puntos: 122 |
Enviado: 26/Octubre/2020 a las 10:32 |
Se me ha olvidado comentar que el Concepto también es autoextensible, como la Política de Privacidad. Por tanto, no me vale multiplicar el número de registros por el alto de cada uno, porque puede que algún concepto tenga dos líneas, por ejemplo.
|
|
prga
Moderador Unido: 16/Noviembre/2004 Localización: España Estado: Sin conexión Puntos: 3523 |
Enviado: 26/Octubre/2020 a las 13:14 |
Hola.
prueba con algo parecido a: Private Sub Detalle_Print(Cancel As Integer, PrintCount As Integer) Debug.Print Me.Height End Sub Espero que ayude a resolver la duda. Se pueden "Sumar" todos los detalles acumulando el valor en una variable que sea definida a nivel de módulo Ya comentas Un saludo a todos
|
|
zelarra
Habitual Unido: 21/Octubre/2020 Localización: España Estado: Sin conexión Puntos: 122 |
Enviado: 26/Octubre/2020 a las 13:54 |
Hola.
Estoy intentando hacer lo que me has dicho: Private Sub Detalle_Print(Cancel As Integer, PrintCount As Integer) Dim Alto As Long Dim Total As Long Do While Me.Concepto <> "" Alto = Me.Height Total = Alto + Total Loop Debug.Print Total End Sub Pero no sé qué condición ponerle en el while. También he probado a sacar el alto del cuadro de texto de la Política de Privacidad. Pero, claro, ahora tengo los valores. Pero me da a mí que Detalle_Print se ejecuta después de Detalle_Format, por lo que no me vale de nada tener los valores.
|
|
prga
Moderador Unido: 16/Noviembre/2004 Localización: España Estado: Sin conexión Puntos: 3523 |
Enviado: 26/Octubre/2020 a las 14:21 |
Hola.
En un principio la cosa es mas sencilla. Mas o menos así: Arriba del modulo: Dim mitotal as long Private Sub Detalle_Print(Cancel As Integer, PrintCount As Integer) mitotal=mitotal +me.height Debug.Print mitotal End Sub Se supone que en mitotal tendremos el acumulado de alturas del detalle escrito sin comprobar Ya comentas. Un saludo a todos
|
|
zelarra
Habitual Unido: 21/Octubre/2020 Localización: España Estado: Sin conexión Puntos: 122 |
Enviado: 26/Octubre/2020 a las 15:11 |
Vale. Ya tengo el valor:
Y me acabo de dar de bruces con que obtiene ese valor después de los eventos Abrir, Cargar y DarFormato, por lo cual no me sirve para ocultar o mostrar según su valor. Ahora sí que sí que no sé qué solución darle.
Editado por zelarra - 26/Octubre/2020 a las 15:12 |
|
zelarra
Habitual Unido: 21/Octubre/2020 Localización: España Estado: Sin conexión Puntos: 122 |
Enviado: 26/Octubre/2020 a las 15:40 |
Ni tampoco para darle el alto que me hace falta
|
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14025 |
Enviado: 26/Octubre/2020 a las 21:49 |
Aparte de que de vez en cuando hay que decirle al usuario NO, podrías hacer una cosa, tratar la politica de privacidad como un concepto más de la factura.
Tendrías que obtener las líneas a imprimir como una consulta de unión entre las reales y el literal. Es un camino a explorar, aunque muy caro me parece el collar para ese perro. |
|
zelarra
Habitual Unido: 21/Octubre/2020 Localización: España Estado: Sin conexión Puntos: 122 |
Enviado: 26/Octubre/2020 a las 21:57 |
Mihura, muchas gracias por la ayuda.
Pero visto lo visto, ya he hecho más de lo que debía. Cuando le vaya a poner la base de datos, le daré las dos opciones:
Desde un tiempo a esta parte intento hacer las bases de datos lo más autosuficientes que pueda, como en este caso, que añado un formulario para que pongan la política de privacidad; u otro caso, como poder añadir IVAs y elegir el predeterminado que debe aparecer en los desplegables de la base de datos. Así es que muchas gracias a todos por participar. Un saludo.
|
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |