** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Quitar imagen de fondo en un informe
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoQuitar imagen de fondo en un informe

 Responder Responder
Autor
Mensaje
OmniPresente Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 10/Febrero/2009
Localización: España
Estado: Sin conexión
Puntos: 1849
Enlace directo a este mensaje Tema: Quitar imagen de fondo en un informe
    Enviado: 22/Octubre/2015 a las 19:03
Hola a todos/as:

¿Sabéis cómo se puede eliminar por código una imagen de fondo de un informe (propiedad Picture)?.

He probado Me.Picture="" en el Open del informe, pero no la quita.

El tema es que, según una condición, a veces un informe tiene que mostrar el fondo y otras no; y por motivos que no vienen al caso, no puedo tenerlo en blanco y cargarlo solo cuando haga falta; tengo que tenerla incrustada (para que "viaje" con la base de datos) y poder eliminarla cuando no quiera que se muestre.

Debe ser lo más simple del mundo pero no lo encuentro; necesito vuestra inestimable ayuda.

Gracias de antemano, y saludos a todos.


Arriba
indexdoc Ver desplegable
Moderador
Moderador


Unido: 22/Marzo/2005
Estado: Sin conexión
Puntos: 2144
Enlace directo a este mensaje Enviado: 22/Octubre/2015 a las 19:07
Quizás con me.Picture1.visible = true  o false  ?   nunca lo he probado en un report.

ops!, que es "fondo" del informe, no me habia dado cuenta.

si no encuentras solucion sencilla, un par de alternativas
poner una "tapa" delante , es decir un rectangulo blanco encima que puedas hacerlo visible para tapar fondo o invisible para que se vea el fondo.  Todos los demas objetos delante. Dependera un poco de las secciones .

Otra, si es que no tiene que cambiar en tiempo de ejecucion es obvia: tienes dos reports , uno "con" y otro "sin"  y llamas al que necesites Big smile
 
 


Editado por indexdoc - 22/Octubre/2015 a las 19:23
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 5066
Enlace directo a este mensaje Enviado: 22/Octubre/2015 a las 20:41
Hola!

Creo que para eliminar la imagen tiene que estar el informe en vista de diseño, borrar la ruta y luego vista previa. lo he conseguido desde un formulario:

Private Sub Comando0_Click()
    Dim stDocName As String
    stDocName = "Informe1"
    DoCmd.OpenReport stDocName, acViewDesign
    Reports!Informe1.Picture = ""
    DoCmd.OpenReport stDocName, acViewPreview
    End Sub




Editado por mounir - 22/Octubre/2015 a las 20:42
Un Saludo.
Arriba
OmniPresente Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 10/Febrero/2009
Localización: España
Estado: Sin conexión
Puntos: 1849
Enlace directo a este mensaje Enviado: 23/Octubre/2015 a las 09:50
Gracias, chicos, antes que nada.

Mounir, tu solución funciona, pero como estamos cambiando el diseño, al cerrar el informe pregunta si se quiere guardar, con lo cual no la puedo implantar.

Indexdoc, la solución de colocar cuadros en blanco la había contemplado, pero casi que voy a inclinarme por la de tener dos versiones del informe, la "con" y la "sin".

Es curioso que la imagen sí se puede "poner" en tiempo de ejecución (en el Open del informe asignando la ruta a Picture), pero no se puede "quitar".

Se puede cerrar el hilo; gracias a todos, y saludos.
Arriba
E. Feijoo Ver desplegable
Moderador
Moderador


Unido: 16/Abril/2004
Localización: España
Estado: Sin conexión
Puntos: 19948
Enlace directo a este mensaje Enviado: 23/Octubre/2015 a las 10:21
Yo no duplicaría nada, crearía una imagen de un byte (creo que es lo mas pequeño que se puede crear: un simple punto del color que decida quien corresponda) y se la asignaría en tiempo de ejecución.
Arriba
OmniPresente Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 10/Febrero/2009
Localización: España
Estado: Sin conexión
Puntos: 1849
Enlace directo a este mensaje Enviado: 23/Octubre/2015 a las 10:33
Gracias, Feijoo, pero eso es precisamente lo que tengo que evitar en esta aplicación; llamar a un archivo externo, aunque sea de un byte. La imagen debe "viajar" con ella.

Saludos.
Arriba
mounir Ver desplegable
Colaborador
Colaborador


Unido: 09/Febrero/2009
Localización: Asturias-España
Estado: Sin conexión
Puntos: 5066
Enlace directo a este mensaje Enviado: 23/Octubre/2015 a las 11:12
Hola!

¿Y no puedes añadir al código que te guarde los cambios del informe?

el código quedaría:

Private Sub Comando0_Click()
    Dim stDocName As String
    stDocName = "Informe1"
    DoCmd.OpenReport stDocName, acViewDesign
    Reports!Informe1.Picture = ""
    DoCmd.Close acReport, "Informe1", acSaveYes
    DoCmd.OpenReport stDocName, acViewPreview
End Sub

Un Saludo.
Arriba
E. Feijoo Ver desplegable
Moderador
Moderador


Unido: 16/Abril/2004
Localización: España
Estado: Sin conexión
Puntos: 19948
Enlace directo a este mensaje Enviado: 23/Octubre/2015 a las 13:13
Pues el cambiar un diseño solo es posible en una aplicación abierta (que no es lo mismo que 'protegida') y una aplicación abierta es mas problemática (además de mas lenta) que una compilada.

Al respecto del viaje ... poco espacio ocupa para ser un peso a tener en cuenta y si se envía adjunta (un campo memo) y se extrae en destino tras verificar que no esta .... código para ello esta ya publicado desde hace muchos años.
Arriba
OmniPresente Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 10/Febrero/2009
Localización: España
Estado: Sin conexión
Puntos: 1849
Enlace directo a este mensaje Enviado: 23/Octubre/2015 a las 14:03
Mounir, pero supongo que ese código quitará la imagen "para siempre", ¿no?; la siguiente vez que lo abriese ya no estaría, y tendría que volverla a cargar, y ya estaríamos en las mismas.

Feijoo; la pega viene en que en donde va instalada esta aplicación es un problema que se creen o se abran archivos externos; es una limitación que no me puedo saltar.

Gracias otra vez.
Arriba
E. Feijoo Ver desplegable
Moderador
Moderador


Unido: 16/Abril/2004
Localización: España
Estado: Sin conexión
Puntos: 19948
Enlace directo a este mensaje Enviado: 23/Octubre/2015 a las 14:44
Entonces el problema es un problema, porque si se le desasigna una imagen, la próxima vez tendrá que reasignarsele y como no le permiten existir (al ser un elemento externo)...

En las versiones recientes esta disponible de 'compartir imagenes' y estas (las imágenes) están embebidas en la aplicación (aunque se guarde la imagen en otro informe/formulario que pudiera soportarla sin causar perjuicios)
Arriba
OmniPresente Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 10/Febrero/2009
Localización: España
Estado: Sin conexión
Puntos: 1849
Enlace directo a este mensaje Enviado: 23/Octubre/2015 a las 17:24
Ya... es que este es un caso un poco especial, con estas limitaciones. Esto que estás comentando es muy buena idea, pero lamentablemente es versión 2003.

Al final iré por lo de tener dos versiones.

Gracias por vuestra gran ayuda; se puede cerrar el hilo.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable