Access - Vinculación entre formularios

 
Vista:

Vinculación entre formularios

Publicado por Juan Carlos (4 intervenciones) el 07/08/2018 00:41:30
Problema a resolver:

si hace clic en un id en el formulario de elementos múltiples abre un formulario de elementos únicos con más información sobre ese elemento

En este enlace tengo la respuesta para access 2010
https://support.office.com/es-es/article/vincular-formularios-4d5e8143-1859-4521-bbba-215f5ec8bb39

Pero no tengo de la forma que se hace en access 7

Me pueden ayudar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Vinculación entre formularios

Publicado por Anonimo (1 intervención) el 07/08/2018 09:21:02
No reconozco esa versión de Access (probablemente sea debido a mi ignorancia).

Pero esa solución en Access 2010 es mucho mas sencilla utilizando un nuevo tipo de formulario (el formulario dividido) que agrupa y sincroniza un formulario 'continuo' (o de múltiples elementos: otro nuevo alias) con un formulario simple (o de elemento único … mas alias para liarlo: cosas de la traducción automática supongo) y todo ello en un único escenario.

De cualquier forma (con el nombre mas común u otro que salte al escenario) el proceso es el mismo:

Seleccionado un elemento en uno, se toma la referencia que comparten (generalmente un ID) y se filtra al otro para que 'se sincronicen', la forma de hacerlo … dependerá de el manejo de cada uno sobre la programación en Access (y para poder ayudar, no vendría mal una muestra de algún intento aunque fuera sin éxito).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Vinculación entre formularios

Publicado por Juan Carlos (4 intervenciones) el 07/08/2018 10:33:19
Disculpa, cuando escribía access 7 me refería access 2007

Conozco la opción de formulario dividido y otras opciones, pero esa no es la que quiero y repito:

Problema a resolver:

si hace clic en un id en el formulario de elementos múltiples abre un formulario de elementos únicos con más información sobre ese elemento

En este enlace tengo la respuesta para access 2010
https://support.office.com/es-es/article/vincular-formularios-4d5e8143-1859-4521-bbba-215f5ec8bb39

Pero no tengo de la forma que se hace en access 2007, por favor me gustaria una respuesta o solución concreta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Vinculación entre formularios

Publicado por Anonimo (3316 intervenciones) el 07/08/2018 12:53:46
En cualquier versión de Access (y asumo que es similar en cualquier otro tipo de aplicación de características similares) el proceso es muy sencillo (el mencionado en mi post anterior).

Partimos de que hay dos formularios independientes, para casos como el actual ambos COMPARTEN EL ORIGEN DE DATOS, o cuando menos 'el continuo' o 'de elementos múltiples' es una parte del que presenta elementos únicos

.- en mi opinión ambos contienen mas de un elemento: ergo ambos tienen elementos múltiples
.- quizás si en lugar de 'elementos' utilizásemos 'registros' la definición se asemejaría a la 'normalizada'

Seleccionado un REGISTRO en el formulario continuo, podremos acceder a su ID (es un campo del registro y visible o no estará presente)

Ya conocido el ID, lo utilizamos para aplicar o refrescar al filtro del otro formulario (el que presenta los registros de uno en uno) de forma que se pueda considerar que se han sincronizado.

El procesos es simple, en el evento que de lugar a la selección se utiliza una sintaxis similar a esta:

1
Forms.[Formulario-Unico].Filter = "ID = " & Me.ID
(con esta línea le asignamos como filtro "Id= 123456 … o lo que sea)

1
Forms.[Formulario-Unico].FilterOn
(con esta línea le forzamos a aplicar el filtro)

La única condición: que ambos tienen que estar abiertos
Uno es seguro que lo esta (es el que se utiliza para seleccionar), el otro puede o no estarlo, si pudiera darse el caso de que 'el otro' esta cerrado, solo se tendría que añadir una línea mas que verificase si esta o no abierto (de estarlo aparecería en la colección) y lo abriese de forma previa (aunque lo lógico es que si ambos han de interactuar en amor y compañía, el uno al abrirse debería abrir al otro)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Vinculación entre formularios

Publicado por Juan Carlos (4 intervenciones) el 07/08/2018 21:47:04
Mi estimado intente colocar las fórmulas que me dices de muchas maneras y siempre me dan algún tipo de error (438, 424 )

Forms.[Formulario-Unico].Filter = "ID = " & Me.ID
(con esta línea le asignamos como filtro "Id= 123456 … o lo que sea)

Forms.[Formulario-Unico].FilterOn
(con esta línea le forzamos a aplicar el filtro)

Esto fue lo que escribi

Private Sub CODIGOCLIENTE_Click()
Forms.FICHACLIENTES].Filter = "CODIGOCLIENTE = " & Me.CODIGOCLIENTE
Forms.[FICHACLIENTES].FilterOn
End Sub

Tambien probe con

Formularios![FICHACLIENTES].Filter = "CODIGOCLIENTE = " & Me.CODIGOCLIENTE
Formularios![FICHACLIENTES].FilterOn

Form.[Formularios!FICHACLIENTES].Filter = "CODIGOCLIENTE = " & Me.CODIGOCLIENTE
Form.[Formularios!FICHACLIENTES].FilterOn

Sin embargo, del Foro
http://www.mvp-access.com/foro/topic83884_post504998.html#504998
Una persona con el alias rokoko, me dio una solución muy simple y salió perfectamente

Solucion
Hay varias formas de hacerlo.
1 es que el formulario unico este basado en una consulta(Origen del registro 3 puntitos a la derecha) y el el campo Id de dicha consulta pongas en criterios Formularios!NombreFormulariMulriple!Id

Con esto te filtrara por el id..

2 En Proriedades del formularioUnico, Datos,Filtro pon = Formularios!NombreFormulariMulriple!Id

3 DoCmd.OpemForm busca info que de memoria no me lo se....

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Vinculación entre formularios

Publicado por Anonimo (3316 intervenciones) el 07/08/2018 23:19:09
Si lo has logrado, pues bien, pero …. si lo que has transcrito es fiel, tu no lo has sido en su aplicación practica, esto es lo que aparece en tu post:

Private Sub CODIGOCLIENTE_Click()
Forms.FICHACLIENTES].Filter = "CODIGOCLIENTE = " & Me.CODIGOCLIENTE
Forms.[FICHACLIENTES].FilterOn
End Sub

esto es lo que seria correcto:
Private Sub CODIGOCLIENTE_Click()
Forms.[FICHACLIENTES].Filter = "CODIGOCLIENTE = " & Me.CODIGOCLIENTE
Forms.[FICHACLIENTES].FilterOn
End Sub


Pero todo eso se cumple si se aplica a un entorno real (el cual personalmente desconozco, del cual no se ha publicado nada y en ese punto continuara)
Lo de utilizar los tres puntitos (esto es 'el generador de expresiones') es lo que 'ha hecho funcional' a lo que te ha funcionado (por lo menos Access si sabe como ubicar a sus objetos)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Vinculación entre formularios

Publicado por Juan Carlos (4 intervenciones) el 07/08/2018 23:45:55
No dudo que el código ofrecido no sea fiel, inclusive cuando lo copie para que lo vieras pues me equivoque en la escritura, pero en el proceso se escribió tal y como estableces en el código correcto, evidentemente, tendría que haberte ofrecido el entorno real donde lo realice, de igual forma aun me falta mucho por aprender, te doy las gracias y un gran saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar