
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:
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:

No hay comentarios:
Publicar un comentario