Base de datos con imágenes en Excel (formulario con imágenes)

En muy común utilizar Excel como base de datos para diferentes aplicaciones, base de datos de alumnos de una clase, productos de un almacén, personal de una empresa, en fin...hay muchos más ejemplos.
En general estos ítems o elementos en la base de la base de datos tienen asociado una imagen, por ejemplo los alumnos tiene asociado una foto de sus rostros, al igual que el personal de una empresa o para el caso de proveedores, estos tienen asociado una imagen del logotipo de la empresa. En el caso de productos, pueden estar representado por una foto o un dibujo, etc.

Hacer la base de datos es sencillo, es solo una lista ordenada de los productos, personas o elementos. Luego utilizando una formula, por ejemplo BuscarV, mediante el código del elemento podemos encontrar la información necesaria. Por otro lado mediante formulas no podemos asociar la imagen al elemento, para eso ya tendríamos que usar  algo más avanzado.

En este post  voy a dar un par de ideas y a mostrar un ejemplo útil. Vos a usar la base de datos del post anterior  formulario de búsqueda en Excel” . Esta vez, cuando buscamos un alumno, además de mostrarnos la info relacionada a él, nos dará una vista del avatar que lo representa.

Con solo introducir un elemento adicional a la planilla, la hacemos más funcional para crear diferentes aplicaciones. En otra oportunidad sería interesante agregar mas detalles para mejorar aun más el nivel de la aplicación.
Procedimiento Básico:
En el post anterior comente que se usaba un evento “worksheet change” para poder generar la búsqueda dentro de la base de datos.  Al cambiar los valores de la celda de búsqueda se ejecutaba el código.

Lo único que agregaremos será un “Control Image”. Este control nos permite mostrar una imagen en un marco.
Para eso se utiliza la sentencia, si el control se llama “imágenes”:
Imagenes.picture = loadpicture ("C:\Carpeta de destino\0001.bmp”)

Como pueden ver, este sería la sentencia dentro del código para mostrar la imagen 0001 que en este caso esta relaciona con el código “0001” del primer alumno. Es decir que si busco la info del alumno número 1, me mostrara la imagen asociada. Con el número dos serán el código 0002 y la imagen 0002.bmp, y así sucesivamente.

Si ponemos el siguiente código con el evento “worksheet Change” tendremos el resultado esperado para que cambie automáticamente la imagen de acuerdo al código que figura en la celda de búsqueda
‘defino una variable llamada imagen que contendrá la dirección de la imagen correspondiente
‘el dato es tomado de la celda “C6”
Imagen ="C:\Carpeta de destino\” & Range(“C6”).text & “.bmp”
Imagenes.picture = loadpicture ("imagen”)

Ese código hará que cada vez que se tipee el código en la celda “C6”. Automáticamente cargara el avatar o imagen asociado en el “control image”.
En la carpeta “Carpeta de destino” están alojados todas las imágenes de nuestra base de datos , en este caso son 21 imágenes. Ya que cuando no hay código introducido deberemos utilizar una imagen tipo comodín  o incógnita para suponer que no se ha introducido código valido.

Este método  les da un toque muy profesional  a las aplicaciones.
En otro post seguiremos agregando funcionalidades.


Keys:
Formulario en Excel con imágenes
Formulario visualizador de imágenes en Excel
Cargar imágenes con un formulario en Excel
Agregar control de imagen a Excel
Base de datos con imágenes en Excel
Formulario para imágenes en Excel
Imagen animada en un formulario
Búsqueda en formulario con imagen

10 comentarios:

tubero dijo...

hola felicidades por tus trabajos de casualidad podrias compartir el de imagenes Base de datos de imágenes en Excel al mariosilva28@hotmail.com
gracias

Excelminiapps dijo...

Gracias por tu comentario estimado Mario, es muy apreciado! El archivo que me pides no se compartió hasta el momento porque hace referencia a archivos que están dentro de la PC host por lo que puede traer confusión al intentar usarlo. Muy pronto se hará un archivo funcional para poder colgarlo en el blog. Te pido por favor que sigas el blog por alguno de los métodos, pronto tendrás noticias.

Saludos.

MENDOZA dijo...

Hola, Juan Pablo.
Ofrezco mis disculpas si de alguna manera te ofendi al hacer mi comentario. He mirado tu blog y te felicito, es muy bueno. Pasa que algunos usuarios de youtube no saben seguir un blog y por eso mi comentario.
Saludos.

RM dijo...

Buenas,

Amigo lo felicito por sus valiosos aportes a los que somos fanaticos de excel.
Le pido el favor de que si ya realizo el archivo funcional del cual usted habla en su comentario o si tiene un video en donde usted incrusta las imagenes, le agradezco me lo haga saber.

Atte : Alex Merlano

alexke010@gmail.com

Unknown dijo...

HOLA ME MARCA ERROR TU PROGRAMA Y ME GENERA MAS DUDAS QUIERO ADAPTARLO PERO NO PUEDO YA QUE NO CORRE ME MARCA ERROR 53 EL DOCUMENTO NO ENCONTRADO

digolsa@prodigy.net.mx

GRACIAS

Excelminiapps dijo...

Hola amigo, cómo estas! Gracias por comentar!
En cuanto a tu consulta, estas haciendo algo más en el código o el procedimiento. En la zona de descargas esta la plantilla para que veas los elementos. Cualquier cosa nos puedes escribir directamente mediante el formulario del blog.
Saludos

Unknown dijo...

Juan Pablo, mil gracias por el blog y específicamente por la Base de Datos con imagenes, justo lo que buscaba, pero al correr tu archivo, sale un error '53' en tiempo de ejecución: Archivo no encontrado, en:

Image.Picture = LoadPicture(joker)

No se como arreglarlo.

Excelminiapps dijo...

Hola Ana, cómo estas! Gracias por escribirnos!
En cuanto a tu consulta, recuerda que load("ubicacion de archivo") debe tener la ubicación de la imagen junto con el nombre, el path completo. Además no puede ser cualquier tipo de imagen. Solo se permite algunas, en este caso bmp.
Revisa tu código y lo que dice el artículo.
Esperamos tus comentarios.
Saludos

Unknown dijo...

Hola, me sirvió mucho este articulo, pero quisiera saber como hacer para que no salga error cuando NO haya una imagen en la carpeta destino.

Unknown dijo...

Buenas, me sirvió mucho tu articulo, pero quisiera que debo agregar para que no salga error cuando NO haya una imagen en la carpeta destino.

De antemano muchas gracias.