2008-09-02 17 views
6

Tengo una aplicación MS-Access (1/10th MS-Acccess, 9/10 años MS-SQL) que necesita mostrar fotografías de algunos activos junto con sus especificaciones. Actualmente, las imágenes se almacenan en una tabla MS-Access como un Objeto OLE (y los usuarios copian y copian en el campo).¿Hay alguna manera de obtener acceso a ms para visualizar imágenes desde archivos externos?

Por varias razones, me gustaría hacer es almacenar los .jpgs originales en una carpeta en la unidad de red, y hacer referencia a ellos desde la parte de la aplicación. He considerado moverme al tipo de datos de imagen de MS-SQL (y su varbinary de reemplazo), pero creo que mi población de usuarios comprenderá más fácilmente el concepto de la carpeta de red.

¿Cómo puedo obtener acceso de MS para mostrar el contenido de un archivo .jpg?

Respuesta

7

Otra opción es poner un control de imagen en su formulario. Existe una propiedad de ese control (Imagen) que es simplemente el camino a la imagen. Aquí hay un breve ejemplo en VBA de cómo puede usarlo.

txtPhoto sería un cuadro de texto dependiente del campo de base de datos con la ruta a la imagen imgPicture es el control de la imagen El ejemplo es un evento de clic de un botón que haría avanzar al siguiente registro.

Private Sub cmdNextClick() 
    DoCmd.GoToRecord , , acNext 
    txtPhoto.SetFocus 
    imgPicture.Picture = txtPhoto.Text 
    Exit Sub 
End Sub 
0

La manera más fácil es probablemente colocar un Internet Explorer en uno de sus formularios. Echa un vistazo a este sitio: http://www.acky.net/tutorials/vb/wbrowser/

Como puedes hacer referencia a ese objeto en Access, solo necesitarás apuntar el control del webbrowser a la ruta de .jpg (NavigateTo() si no recuerdo mal).

EDITAR: El enlace de arriba fue simplemente googleado y escogido de los resultados (el primero que se abrió rápidamente). No creo que sea un tutorial muy bueno, solo tiene todos los indicadores que necesitas ... ¡Consulta msdn, etc. si necesitas más información!

3

¿Has mirado en soluciones Stephen Lebans'? Aquí hay uno:

Image Class Module for Access

Mira la lista de otra gran código a lo largo del lado izquierdo de esa página web. Puede encontrar algo que coincida completamente con lo que necesita.

+0

Esto puede hacer el trabajo, pero soy reacio a seguir un tutorial de 2002 con Access 97 en el año 2013. – StockB

+0

Lamentablemente, el acceso no se desarrolló demasiado lejos de lo que era cuando Leban escribió esos tutoriales. Recientemente realicé algunos trabajos gráficos de acceso y me resultaron muy útiles; en realidad, fueron los mejores recursos que pude encontrar a este respecto. – Johanness

0

Puede probar un control ActiveX llamado AccessImagine, hace que agregar imágenes a la base de datos sea más conveniente: puede cargar desde el archivo, escanear, pegar desde el búfer o arrastrar y soltar. Puede recortar la imagen directamente dentro de la base de datos y volver a muestrearla automáticamente. Maneja el almacenamiento de imágenes externo automáticamente si lo necesita.

0

Tenga en cuenta que en Access 2010 (y posterior) esto es muy fácil de hacer porque el control de imagen se puede vincular a un campo en la tabla que contiene la ruta en el archivo de imagen (.jpg, .png,. ..). No se requiere VBA.

Para más detalles, ver mi otra respuesta here.

Cuestiones relacionadas