¿Cómo incrustar objetos OLE en una tabla de Access?

Me presento con la duda de como se podría configurar o diseñar una tabla para crear un campo en cual albergue objetos OLE (Imágenes para ser preciso en la funcionalidad que pretendo que tenga el campo) y los mismo queden incrustados en la BBDD y no vinculados, ya que lo que pretendo es conservar la integridad de dichas imágenes, conozco la desventaja de que este campo al ser incrustado aumentara el tamaño de la BBDD considerablemente pero quiero ver ambas posibilidades.

2 Respuestas

Respuesta
1

En primer lugar poner en una tabla un objeto OLE no tiene complicación alguna, Es un tipo de campo como (texto, fecha/hora, etc)

Luego ese campo lo añades a un formulario. Cuando estés grabando un registro al que quieras adjuntar una imagen pulsas botón derecho sobre ese campo y seleccionas insertar objeto

Se te abrirá una ventana para seleccionar el objeto. Marcas la opción desde archivo y no marques vinculada (para que se mantenga aunque modifiques el archivo original) y aceptar.

Si subes una imagen de mapa de bits (extensión .bmp) veras la imagen. De lo contrario solo veras el icono del archivo y tendrás que hacer doble click para que ver la imagen.

Buen día Pablo, realice tal cual me planteas pero el inconveniente es que la imagen que inserto en el campo sigue siendo dependiente del objeto original, dado en el caso que el archivo original sea eliminado este no se podrá abrir en la BBDD. ¿Existe otra alternativa?

En absoluto. Si lo haces de la manera que te indiqué puedes borrar el archivo original y el adjunto a la base no se ve afectado. Para eso no marcamos la opción de vincular archivo.

Respuesta
2

Dejando claro que suscribo 100% lo que te ha dicho Pablo, tienes que valorar si vale la pena tener que hacer doble clic sobre la imagen, que se te abra el visor de imágenes que tengas y volver a cerrar éste. La ventaja de poner, por ejemplo, la ruta a la foto en un campo texto, ya no es tanto que la base "no engorde", sino que puedes poner un control Imagen(llamado por ejemplo ImagenFoto) y entonces el evento Al activar registro del formulario pones

If not isnull([campo donde guardas la ruta]) then

me.imagenfoto.picture=[campo donde guardas...]

end if

Así, a medida que vas pasando por los registros ya vas viendo la foto directamente sin tener que abrir el visor.

Es otra idea

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas