Imágenes vinculadas a datos en Access 2007

Los tradicionales problemas de Access para mostrar imágenes se han resuelto en la versión 2007 de manera plenamente satisfactoria y por partida doble: El nuevo tipo de datos de Access 2007, "Datos adjuntos", resuelve de manera tan espectacular estos problemas que a muchos nos ha deslumbrado hasta el punto de no apreciar a simple vista otra solución grande, precisamente por ser más sencilla. Me refiero al control Imagen, ahora actualizado, que incluye una propiedad "Origen del Control".

El control Imagen sigue siendo independiente y, si importamos una aplicación de una versión anterior, va a seguir funcionando exactamente igual. La novedad es que en esa nueva propiedad "Origen del control" le podemos indicar el nombre de un campo de texto que contenga la ruta de una imagen y entonces se mostrará la imagen que se encuentra en el archivo cuya ruta tenemos guardada.

La recomendación tradicional siempre ha sido no guardar imágenes en Access, sino la ruta donde se encuentra el archivo y luego, mediante código asignar la propiedad Picture del control en formularios o informes. En Access 2007, asignando la propiedad "Origen del control", nos ahorramos todo el código posterior para que la imagen se muestre y, además, de una forma más eficiente, pues siempre hubo problemas, nunca bien resueltos, de aplicaciones que se rompían cuando pasábamos deprisa los registros, imágenes que se repetían cuando no existía el origen... todo eso está ahora resuelto. Funciona tan fácil que uno se pregunta por qué no ha sido siempre así.

La solución es buena, pero son un conjunto de pequeñas novedades, seguramente ya conocidas, las que la convierten en una solución realmente grande, sobre todo con respecto a versiones anteriores:

Nuevas propiedades del objeto FileDialog de Office

Sigue siendo necesario usar código para seleccionar el archivo de imagen para poder guardar su ruta. Ya antes era sencillo usando el objeto FileDialog de Office (Debemos incluir una referencia a Office 12 Object Library), pero ahora podemos indicarle fácilmente si queremos que el diálogo muestre una vista previa o imágenes en miniatura. Sólo hay que asignar a la propiedad InitialView las constantes msoFileDialogViewPreview o msoFileDialogViewThumbnail

Podemos tener una función como ésta para llamarla cuando queramos obtener la ruta de la imagen deseada:

Public Function fArchivoImagen()
   Dim fd As Office.FileDialog

   On Error GoTo fArchivoImagen_Error

    Set fd = Application.FileDialog(msoFileDialogOpen)
    With fd
        With .Filters
            .Clear
            .Add "Archivos de imagen", "*.jpg;*.jpeg;*.bmp;*.gif;*.png", 1
            .Add "Todos", "*.*", 2
        End With
        .Title = "Seleccionar imagen)"
        .AllowMultiSelect = False
        .InitialFileName = CurrentProject.Path
        .InitialView = msoFileDialogViewPreview

        If .Show Then
            fArchivoImagen = .SelectedItems(1)
        End If
       
    End With
   On Error GoTo 0
   Exit Function

fArchivoImagen_Error:

    MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure fArchivoImagen of Documento VBA Form_Mi Empresa"

End Function

Más formatos de imagen admitidos

Access 2007 trabaja de forma nativa con los formatos de imagen más conocidos, no sólo con mapas de bits como en versiones anteriores, por tanto el control Imagen no depende de programas externos para mostrar las imágenes y, además, es capaz de aprovechar las características específicas de estos formatos, por ejemplo, la transparencia en los archivos PNG.

Un ejemplo de estas posibilidades lo vemos en el autoformato "Access 2007" cuando estamos diseñando un formulario: Al ser el dibujo del fondo del formulario transparente, podemos utilizar distintos colores de fondo con lo que obtendremos formularios con distinta apariencia para un mismo formato. El nuevo control de imagen también permite transparencias, sacarle partido depende de nuestra imaginación.

¡Funciona en formularios continuos!

Todavía parece lejos el momento en que podamos visualizar imágenes en formato Hoja de datos, pero ya podemos hacerlo en formularios continuos. Y tenemos dos posibilidades para elegir: un campo de Datos Adjuntos o nuestro nuevo control imagen.

Una buena alternativa al formato condicional

El formato condicional ha sido una forma sencilla de hacer algo que de otra manera era muy difícil y, de paso buscarse un montón de problemas complicados de solucionar. Controles que tiemblan, aplicaciones que se cierran de manera inexplicable... con frecuencia están ligados al uso de formato condicional en subformularios. Por otro lado, sólo admiten tres condiciones (o sea, tres formatos) distintos, cuando a menudo se necesitan más.

Aunque aún no tengamos alternativa en el formato Hoja de datos, en Formularios Continuos es muy fácil remedar el formato condicional usando controles de imagen vinculados a datos. Sólo necesitamos que en la consulta origen del formulario o informe exista un campo con una ruta de imagen para cada una de las condiciones posibles.

Es bien sencillo. Por ejemplo, a la base de datos "Northwind 2007" le hemos añadido una tabla "Cargos" con la descripción de los distintos cargos de los empleados y la ruta de la imagen que corresponde a cada uno en un campo que llamaremos "Color". En el origen del control del formulario de ejemplo, vinculamos la tabla Empleados a la nueva tabla Cargos:

SELECT Empleados.*, Cargos.Color
FROM Empleados LEFT JOIN Cargos ON Empleados.Cargo = Cargos.Cargo;

Sólo tenemos que generar automáticamente el formulario en modo Formulario Continuo y añadir un control Imagen en cuya propiedad "Origen de Datos" pongamos "Color". Para que sea "el fondo" de nuestro registro, lo ensanchamos, ocupando todo el ancho de la sección, y lo ponemos por debajo del resto de los controles utilizando en botón "Enviar al Fondo". ´

 

image



 

Published 31/1/2008 0:29 por Chea
Comparte este post:

Comentarios

# re: Imágenes vinculadas a datos en Access 2007

Saturday, February 2, 2008 6:29 AM por Alvaro

Dices "En Access 2007, asignando la propiedad "Origen del control", nos ahorramos todo el código posterior para que la imagen se muestre "

¿Podrías poner un ejemplo?

Gracias

# re: Imágenes vinculadas a datos en Access 2007

Thursday, February 7, 2008 11:26 PM por Chea

Aquí mismo, en "una buena alternativa al formato condicional", los colores de fondo son en realidad imágenes almacenads en sendos archivos PNG. No necesito escribir ni una línea de código para que se muestren.

# re: Imágenes vinculadas a datos en Access 2007

Saturday, February 16, 2008 12:06 PM por Funkel

Hola:

He creado un cmpo de texto para almacenar la ruta y en el formulario una imagen. Efectivamente en el nuevo "origen de control" puedes elegir tu campo de almacenamiento. Pero no funciona, no se ven las imagenes ????? que hago mal?

# re: Imágenes vinculadas a datos en Access 2007

Saturday, February 16, 2008 12:14 PM por Funkel

Perdon

Veo que hay que incluir un código lo que no se es donde hay que ponerle y no encuentro InitialView ni las constantes msoFileDialogViewPreview o msoFileDialogViewThumbnail.

Por favor dinos como

Muchas gracias

# re: Imágenes vinculadas a datos en Access 2007

Friday, March 14, 2008 5:40 AM por Fernando

Hola, yo estoy en algo parecido y no sé: Quiero insertar 500 imágenes, o sea crear 500 records nuevos desde una carpeta donde están las fotos ¿Hay algo fácil para que un iniciado en Access lo haga? O me pueden conseguir algo que lo copie y funcione??? Gracias

# re: Imágenes vinculadas a datos en Access 2007

Thursday, April 10, 2008 8:44 PM por hfhfr

pongan mas imagenes

# re: Imágenes vinculadas a datos en Access 2007

Monday, October 27, 2008 7:28 PM por Danielfdo

Hola, yo al igual que fernando, tengo un campo en una base de datos que me indica la ruta donde se encuentra la imagen, mi pregunta concreta es ¿Cómo se hace para ver las imagenes con el "Visor de Imagenes" y ademas como quito el mensaje de alerta de seguridad.

Muchas gracias por la colaboración que me puedan brindar.

# re: Imágenes vinculadas a datos en Access 2007

Thursday, December 11, 2008 9:36 PM por Valentin

Hola, Yo quiero por un boton de un formulario llamado "Fotos", pincho en ese botón y se abra otro formulario o subformulario, que tenga un botón elegir la imagen, cuadro de texto en que aparesca la ruta de la imagen, 5 cuadros grandes donde colocar 5 imagenes, y otros botones que permitan borrar la imagen, agrandar la imagen, imprimir la foto

Es muy dificil hacer eso, no entiendo, no soy capaz, no puedo, si alguien puede hacerlo me lo envia a mi correo, por favor, porque no puedooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

# Imágenes vinculadas a datos en Access 2007

Sunday, April 5, 2009 7:50 AM por pemadi30

Chekar esta pagina...

office.microsoft.com/.../HA012138523082.aspx

# re: Imágenes vinculadas a emails en Access 2007

Tuesday, December 22, 2009 8:10 PM por paulo

quisiera enviar un correo masivo desde access 2007 pero en el cuerpo del mensaje me gustaria inserar una imagen, me pueden ayudar mi email es paulo.rios@hq-mi.com

# re: Imágenes vinculadas a datos en Access 2007

Tuesday, January 19, 2010 5:39 PM por sacristan69

En mi caso estoy realizando una tabla con diferentes columnas, y en una de ellas tengo la intención de poner "imagen". La imagen iría en cada una de las hojas del formulario, una imagen diferente en cada fila (en su apartado de imagen). ¿Es eso posible, alguien me podría ayudar?

# Datos adjuntos mostrar las Imágenes vinculadas en un formulario access 2007

Friday, March 19, 2010 4:03 PM por Maria

Tengo en una tabla un campo de datos adjunto donde incluyo varias imágenes.

Quiero mostrar para el registro en curso  todas las imágenes incluidas ese campo adjunto en un formulario. cómo puedo hacerlo? hay alguna forma de hacer lo que llaman un circulante de imágenes tipo inmobiliaria?

Muchas gracias msgambero@hotmail.com

# re: Imágenes vinculadas a datos en Access 2007

Saturday, May 8, 2010 1:49 AM por Jose

Hola a todos:

Me gustaria que me ayuden para darme  los pasos a seguir para que en una base de datos hecho con access 2007 pueda yo mostrar las fotos vinculadas o incrustados de los productos de una bodega.

Les agradezco por anticipado, mi correo es sigjose2006@yahoo.es

mi nombre es Jose Salas

# re: Imágenes vinculadas a datos en Access 2007

Tuesday, July 27, 2010 8:26 PM por fitipaldi

Gracias Chea. Eres un crack!

Me ha servido estupendamente para colorear un subformulario.

# imprimir una imagen desde un formulario con registros

Tuesday, September 21, 2010 6:46 AM por fermin lugo sanchez

hola ya puedo mandar a un informe los campos de un formulario, pero el de datos adjuntos, o sea una imagen que es parte de los datos de un gafete, no la puedo mandar me sale ne blanco, ya sea que me pasen un tip sencillo casi no se usar access tengo el 2007. o ya sea que me pasen un sistemita de gafetes gracias . . .

# re: Imágenes vinculadas a datos en Access 2007

Tuesday, December 21, 2010 11:11 AM por Iñigo

Hola:

Tengo una base de datos con alrededor de 3000 resgistros y unos 2000 tienen una foto adjunta. ¿es posible insertar todas las fostos en Access 2007 ocn los "datos adjuntos" o el tamaño de la BDD se me va a disparar? Si es así, ¿cuál es la solución?

Muchísimas gracias

# re: Imágenes vinculadas a datos en Access 2007

Wednesday, February 16, 2011 12:00 PM por lola

Buenos dias, tengo un problema, tengo un formulario hecho en access 2000, en el un campo es una foto, no he tenido problemas hasta que he cambiado a access 2007, ahora quiero vincular fotos al campo propio de la foto y marco examinar, cojo la ruta que está la foto y al vincularla me pone el nombre del archivo en el cuadrito pero no me pone la foto... no sé como hacer que me salga la foto. Les agradecerìa me lo dijesen si es posible a mi correo que les pongo arriba.

Un saludo y muchas gracias

# re: Imágenes vinculadas a datos en Access 2007

Wednesday, March 9, 2011 7:59 PM por Jorge Rugama

No se si estamos en tiempo todavia pues ya estamos en 2011. Utilizo el ejemplo y hago la referencia a la libreria y cuando se suscita el evento me sale un error donde dice que "No se ha definido el tipo definido por el usuario"

Gracias

# re: Imágenes vinculadas a datos en Access 2007

Thursday, May 12, 2011 4:30 AM por Alberto M-

Buenos días, tengo una buena cantidad de documentos escaneados en formato jpg y quisiera vincularlas en un formulario elaborado en access 2007 como medio de consulta. les agradeceria me indicaran como puedo hacer para vincular el visor de imagenes al formulario.

gracias de antmano

# re: Imágenes vinculadas a datos en Access 2007

Saturday, July 23, 2011 10:20 AM por desperado con las imagenes del ACCESS

ver imagenes en ACCESS ... please!

# re: Imágenes vinculadas a datos en Access 2007

Saturday, July 23, 2011 10:20 AM por desperado con las imagenes del ACCESS

ver imagenes en ACCESS ... please!

# re: Imágenes vinculadas a datos en Access 2007

Thursday, August 18, 2011 6:41 PM por Juan Manuel Carmona

COMO PUEDO IMPRIMIR UNA IMAGEN ADJUNTA CON SOLO PULSAR UN BOTON DESDE EL FORMULARIO.

# re: Imágenes vinculadas a datos en Access 2007

Tuesday, January 10, 2012 11:01 AM por Scoobyt doo

Hola a todos !!!!

Hace tiempo que queria hacer esto !!! por fin !!! pero... no me funciona..

Entiendo que simplemente debo insertar una imagen, y en lugar de seleccionar un archivo, en hoja de propiedades, entrar en origen de control la tabla donde tengo la dirección de la imagen verdad ??? pues no me funciona ni en un formulario ni en un informe (donde realmente me interesa)...  no se que hago mal... El control que inserto es el de imagen.

Help me !!!

# re: Imágenes vinculadas a datos en Access 2007

Tuesday, January 10, 2012 11:10 AM por Scoobyt doo

Rectifico !!!! si funciona !!! pero solo con un BMP !!!! con la imagen .jpg no consigo que funcione... no quedamos que aceptaba todo tipo de imagenes ???