Crear Formulario Access con indicadores a una tabla

Necesito crear un formulario el cual se encuentre asociado a una tabla. El formulario tiene una imagen, un mapa con sectores los cuales están indicados con un numero o letra, la descripción de estos sectores están detallados en la tabla. Lo que requiero es que cada vez que indique el número del sector se destaque la fila correspondiente en la tabla. El número del sector puede estar indicado por una etiqueta sobre el dibujo.

1 respuesta

Respuesta
1

Básicamente lo que entiendo, es que quieres que cuando cambies a un registro que tenga, determinado sector, en el mapa aparezca algo que indique donde se encuentra ese sector en relación al mapa.. ¿cierto?

En este caso, es muy sencillo, aunque realmente depende de la cantidad de sectores que poseas, pero puedes intentar lo siguiente:

1) Colocas una imágen, o un label o lo que tu quieras en cada sector, es decir, pones encima de la imagen del mapa todas las marcas que quieres que se muestren, con la salvedad de que a estas marcas, les pondrás en Propiedades/Formato/Visible = No, de esta forma, no se verán a simple vista cuando ejecutes el formulario. Es importante que le cambies el nombre a cada marca de estas, por una que haga referencia a lo que estás mostrando, por ejemplo "MarcaSector1", etc.

2) Ahora das clic en las propiedades del formulario/Eventos/Después de Actualizar, y creas un procedimiento de evento (código vba) y le escribes algo como lo siguiente:

Private Sub Form_AfterUpdate()

if me.CampoQueAlmacenaElSector.value = "Sector1" then me.MarcaSector1.visible=true

End Sub

Y así te vas de marca en marca, según la cantidad de sectores que tengas...

Ahora bien, otro punto importante, es que tienes que llamar este mismo procedimiento en el evento "al cargar" para que cuando abras el formulario, de una vez vayas viendo la marca correspondiente, esto lo haces así:

Private Sub Form_Load()

call Form_AfterUpdate()

End Sub

Ahora también debes considerar el hecho de que cada vez que vayas moviéndote de sector en sector, la marca que hayas dejado atrás quedará visible, así que debes crear una función que oculte todas las marcas, por eso es tan importante poner los nombres, sería algo así:

Private Sub OcultarMarcas()

Me.MarcaSector1.visible = false

Me.MarcaSector2.visible= false

Me.MarcaSector3.visible = false

End Sub

Y la llamas en el primer evento que vimos (Después de actualizar) antes de hacer visible la del sector en cuestión así:

Private Sub Form_AfterUpdate() 'Esto se ejecuta al cambiar registros

call OcultarMarcas() 'Esta función oculta todas las marcas de sector

if me.CampoQueAlmacenaElSector.value = "Sector1" then me.MarcaSector1.visible=true

End Sub

Cualquier duda, me cuentas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas