Visualizar Objeto OLE en Formulario

Tengo un problema no se como solucionarlo, estoy haciendo una aplicación en Access de un control de ventas, en la cual tengo una tabla de productos con un campo de tipo Objeto OLE, el problema que tengo es en un formulario de ventas en el cual he creado un control de tipo marco de objeto independiente el cual necesito que cuando se seleccione un producto me muestre la imagen del mismo.

1 respuesta

Respuesta
2

Si te tengo que aconsejar, no uses los campos OLE, son una mier... y "engordan" la base un montón.

Es preferible usar campos texto para guardar la ruta a la imagen y en el formulario poner un control imagen(el marco de objeto independiente, honestamente, es otra mier...).

En el editor de VB pulsa Herramientas-referencias y activa la casilla Microsoft Office XX.X Object Library( el xx. X es por la versión del Office)

Luego en el el editor de vb del formulario pon esta función


End Function

Mierda, sin querer se ha enviado.

En el formulario pon un control imagen y llámalo, por ejemplo ImagenFoto

En el control Foto, en sus propiedades-eventos-Al recibir el enfoque pon

foto=buscaarchivo()

me.imagenfoto.picture=foto

Aprovecha tambien para poner en el evento Al activar el registro del formulario

If not isnull([foto]) then

me.imagenfoto.picture=foto

elseif isnull([foto]) then

me.imagenfoto.picture=""

end if

¡Gracias! 

Entonces si he entendido lo que voy hacer es en la tabla productos cambio el tipo de dato del campo Foto a texto para que el lugar que me guarde la imagen me guarde la ruta de la imagen y en el formulario de ventas le pongo un control imagen y hago lo que me pones en tu respuesta.

Efectivamente, te quedaría algo como

También, en caso de que las imágenes las guardes siempre en la misma carpeta, con el nombre del cliente, por ejemplo Alfreds.png o Alfreds.jpg, se podría suprimir el campo y la función y en el código de un botón poner

Private Sub Comando8_Click()
Me.ImagenFoto.Picture = "C:\users\cabarcos\documents\imagenesusar" & "\" & Me.Alumno & "" & ".jpg"
End Sub

Entonces al pulsar el botón( no te fijes en el nombre de los campos)

Observa que en el control Foto no aparece nada. El código está en el botón.

O, de otra forma, sin botón, pero guardando en el campo Foto el nombre de la imagen, por ejemplo Coche2(CC2.jpg en la carpeta ImagenesUsar

Escribo en el campo Foto simplemente CC2

Al pulsar Enter

Te guarda en el campo Foto el "nombre" del coche y te muestra la imagen

El código del evento Después de actualizar del control Foto es

Me.ImagenFoto.Picture = "C:\users\cabarcos\documents\imagenesusar" & "\" & Me.Foto & "" & ".jpg"

Por eso te decía al principio que lo importante es ¿cómo quieres hacerlo tú?

De todas formas, si quieres, repito, si quieres, mándame un mensaje(sólo el mensaje) a [email protected] y te mando unos ejemplos. Si lo haces, en el asunto del mensaje pon tu alias Daniel Amaya, ya que si no sé quien me escribe ni los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas