Imágenes en un formulario continuo

Tengo problemas al visualizar imágenes en un formulario continuo.
En el formulario tengo un control de imagen, vinculado a un campo que para cada registro tiene la ruta de la imagen a mostrar, pero al cambiar el valor de .picture me cambia la foto en todos los registros, cuando sólo quiero que lo haga en el registro activo. ¿Cómo puedo solucionarlo?.

1 respuesta

Respuesta
1
Haz que la propiedad picture esté enlazada al campo, pero no por código, sino que en la propiedad le metes "=nombrecampo" (sin las comillas.
¿En un formulario continuo?. Tienes que explicame como. Yo lo tengo hecho de la siguiente manera:
Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)
Dim rbprod_x As Integer
Dim rbprod_y As Integer
rbprod_y = Me.Recordset.RecordCount()
For rbprod_x = 1 To rbprod_y
DoCmd.GoToRecord acForm, "resultadosbusqueda_productos", acGoTo, rbprod_x
If IsNull(ubicacion_foto) = False Then
resultadosbusq_fotoproducto.Picture = ubicacion_foto
Else
resultadosbusq_fotoproducto.Picture = "c:\gestora\fotos_productos\crea.jpg"
End If
DoCmd.RunCommand acCmdRefresh
Next
End Sub
Donde ubicacion_foto es la ruta y resultadosbusq_fotoproducto es el objeto imagen.
Hago un bucle que me recorre todos los registros del formulario continuo y establece la propiedad .picture a la ruta de cada registro. Al hacer esto me cambia la imagen de todos los registros a la vez. Un saludo
ubicacion_foto es un campo, lo que aparece en el ELSE es para cuando el campo ubicacion_foto está vacío, que muestra una foto en concreto (crea.jpg). Pero, ¿cómo haces tú para que funcione?
El problema no se produce cuando intento visualizar una imagen, sino cuando quiero ver una imagen diferente para cada registro del formulario. Si conoces el manejo de los marcos de objeto independiente, te agradecería me los explicaras, ya que yo he estado intentando modificar la imagen que se ve en uno con la propiedad .docsource del marco, pero, aunque sí me modifica dicha propiedad, la imagen que muestra no cambia. Un saludo
Eso no lo permite, ya que en el cuadro de la propiedad, pongas lo que le pongas lo coge como string.
. ¿Conoces alguna forma de hacerlo sin que lo coja de esa manera?
Un saludo
¿Has probado a tener un campo que sea la ubicación de la foto para ese registro concreto y asignar esa información a la imagen según el registro?
Lo he hecho con un objeto imagen y me funciona en el evento al aplicar el filtro.
Utiliza un marco de objeto independiente.
¿Y en que propiedad le indico al marco la ruta del fichero que estoy utilizando?. Para la imagen le indico lo siguiente:
imagen.picture=ubicacion_foto
Donde ubicacion_foto es un campo de tipo string en el que guardo la ruta del archivo de imagen.
Era una idea, en realidad yo utilizo una imagen también para el fondo de un formulario continuo, donde le asigno una imagen que es en realidad un pixel de un color determinado. Me va perfectamente. Algo debes tener mal en las propiedades del formulario. Saca la pestaña de "todas" y mira de pegármela aquí.
Si le pones el = delante de lo que le pongas te cogerá el campo o la función, prueba a hacer una función que te devuelva el contenido del campo para ese registro
Eso que me dices no funciona. Si en la propiedad imagen, del marco de imagen, pones un igual te lo coge como literal. De todas formas ya he encontrado la solución a mi problema ingeniando un método algo complejo. Tienes un 10 por tu incansable ayuda. Gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas