Cambiar el registro activo al pinchar sobre un campo imagen de subformulario

Tengo un formulario en el que, a traves de los valores de unos cuadros de texto, me rellena un subformulario en el que muestro todos los registros que coinciden con dichos valores.

En cada registro del subformulario aparece una foto distinta para cada uno de los registros. Este campo Imagen lo consigo dandole la ruta de la imagen a mostrar. En las propiedades de este campo Imagen, le he puesto un procedimiento de evento al bajar el mouse para que me muestre dicha imagen en grande. Si la imagen que pincho es la del registro activo, no tengo problemas pero si pincho en cualquier otra imagen de otro de los registros que aparecen, me muestra la imagen del registro activo, no la del registro de la imagen que he pinchado.

Si pincho en cualquier campo de cualquier registro, me cambia el registro activo a ese donde he pinchado, pero esto no ocurre cuando pincho sobre la imagen.

¿Cómo puedo hacer que cambie el registro activo cuando pincho sobre la imagen para que muestre la imagen correcta?

1 respuesta

Respuesta
2

Por partes. Como no sé que código tienes puesto, te digo lo que haría.

1º Lo del tamaño no lo pondría en el evento al bajar el mouse. Lo pondría en el evento Al mover el mouse, tipo

Imagen7.Width = 5 * 517
Imagen7.Height = 5 * 517

Y luego en un cuadro de texto cualquiera pondría en su evento al recibir el enfoque

Imagen7.Width = 2.5* 517
Imagen7.Height = 2.5 * 517

Así, cuando el cursor pase por encima del control imagen te aumentará el tamaño al doble del original. Cuando quieras reducirlo, pones el cursor en ese cuadro de texto, te lo reduce a su tamaño original. Hay otro "truco", pero no quiero complicarte. De este modo dejas libre el evento Al recibir el enfoque del control Imagen. Y en este evento, si pones

Docmd. Gotorecord,, acnext

Cuando hicieras clic con el cursor sobre la imagen se iría al registro siguiente.

Gracias por tu respuesta Icue.

Lo que he hecho es incluir un cuadro de imagen llamado PinGrande y le he puesto la propiedad Visible a No. Luego, cuando pincho con el raton, le digo la ruta de la imagen a mostrar y le pongo la propiedad Visible a Si.

Private Sub ImagenPin_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
         Forms![buscar_pins]!PinGrande.Visible = True
        Forms![buscar_pins]!PinGrande.Picture = CarpetaP & Categoria & "\" & Subcategoria & "\" & RutaFoto
End Sub

En cuanto al posicionamiento en el registro, lo que tu me dices es que se situa en el registro siguiente, pero yo quiero hacerlo en cualquiera de los 4 registros que me muestra en el subformulario. El registro activo puede ser el 1 y lo que quiero es poder pinchar en el registro 4 y que me ponga este registro 4, como el registro activo y me muestre la imagen correspondiente a ese registro. Ahora lo que hace ahora es mostrar la imagen del registro 1.

Cuando pones el cursor en cualquier registro se convierte en el registros activo. Me explico, en un formulario continuo sólo tiene existencia física el registro activo, lo demás que ves son "imágenes virtuales". En los formularios únicos solo ves un registro, los demás no "existen". Pues en los continuos es lo mismo. Como te decía, cuando haces clic en cualquiera, éste se convierte en el activo.

Claro, lo que dices es correcto, siempre que pinches sobre cualquier campo, digamos "normal", pero no ocurre con el control Imagen.

He quitado el código de agrandar la imagen para dejar el control sin ningún procedimiento asociado, para probar a hacer clic sobre el control imagen y no cambia el registro activo.

En la imagen de abajo, como puedes ver, la imagen agrandada es la imagen que hay en el registro 1, pero yo estaba haciendo clic en la imagen 3, aunque no sale la flecha del ratón al copiar pantalla...

¿Cómo que no?. Mira, no hagas caso a las imágenes porque le he puesto una para todas y por desgracia el cursor no sale en la imagen, pero si tengo un formulario(para que se vea que va al siguiente registro le he puesto en formato condicional que se ponga amarillo) y hago clic sobre la imagen, del registro en negro que se convierte en el activo en el momento que pulso

Se va al siguiente, y verás como Juan pasa a ser el activo

Perdoname, pero no te he entendido bien, creo...

Lo que tu haces en el ejemplo es,siendo el registro activo Pepe, pinchar en la foto del registro de Pepe y te pasa el cursor al registro Juan. Es eso ?

Lo que yo quiero es, siendo el registro activo Antonio, pinchar sobre la imagen del registro Juan y que este se convierta en el activo.

Honestamente, no lo sé. Es algo que nunca me había planteado. Investigaré y si encuentro la solución te lo digo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas