Access - Macro establecer valor, cambiar nombre formulario por expresión

 
Vista:

Macro establecer valor, cambiar nombre formulario por expresión

Publicado por Laura (4 intervenciones) el 16/10/2020 11:58:04
Buenas, no se si es posible realizar lo siguiente en Access:

En la macro "establecer valor" cambiar el nombre del formulario por una expresión que se refiere a un cuadro combinado, es decir:

Tengo un botón que abre distintos formularios, cogiendo el nombre del formulario desde un cuadro combinado independiente, llamado Box.

Ahora quiero establecer un valor en el formulario abierto (independientemente del formulario) pero me encuentro el problema cuando en "elemento" quiero hacer referencia a ese cuadro combinado también. Todos los formularios contienen el mismo campo que quiero modificar, llamado Referencia.

ESTABLECER VALOR
ELEMENTO: [Formulario]![Box]![Referencia]
EXPRESIÓN: [id]

Espero que alguien pueda ayudarme. Gracias de antemano.
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

Macro establecer valor, cambiar nombre formulario por expresión

Publicado por Anonimo (3315 intervenciones) el 16/10/2020 16:53:31
Me surge una duda, en base a esto:

... cogiendo el nombre del formulario desde un cuadro combinado independiente, llamado Box.....

¿Qué devuelve la llamada al objeto BOX? ( por favor con absoluta fidelidad, no un dato imaginario)
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

Macro establecer valor, cambiar nombre formulario por expresión

Publicado por Laura (4 intervenciones) el 19/10/2020 09:28:44
El cuadro combinado Box es un listado de los nombres de formularios que quiero abrir, tengo un botón con una macro para abrirlos en base a lo que haya seleccionado en el cuadro combinado.

ABRIR FORMULARIO
Nombre del formulario: = Box

Quería hacer lo mismo pero con la macro ESTABLECER VALOR, no se si es posible.
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

Macro establecer valor, cambiar nombre formulario por expresión

Publicado por Anonimo (3315 intervenciones) el 19/10/2020 15:22:06
Una pregunta mas concreta:

Cual es el origen de datos de ese ComboBox + cuantas columnas tiene + cual es la columna referente

En definitiva QUE VALOR devuelve el cuadro combinado cuando se hace referencia a el.

Porque Access (cuando 'esta bien mandado') no se inventa nada, obedece con total fidelidad y el responsable de lo que hace es: el programador.
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

Macro establecer valor, cambiar nombre formulario por expresión

Publicado por Laura (4 intervenciones) el 20/10/2020 09:32:55
Disculpa, el origen del ComboBox es una tabla llamada OrigenForm, tiene dos columnas: id, Nombre. El ComboBox devuelve el campo Nombre.
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

Macro establecer valor, cambiar nombre formulario por expresión

Publicado por Anonimo (3315 intervenciones) el 20/10/2020 14:38:48
Se aprecian varios posibles enfoques.

En principio, al igual que 'antes' se seleccionaba un campo, ahora el campo es un dato común y se cambia 'el formulario' que no deja de ser lo mismo.

Lo mas practico (si cabe esa posibilidad) es generar en ese cuadro combinado una columna mas (que puede quedar oculta) y en ella poner la ruta completa del objeto (desconociendo como esta planteado lo dejo aquí) nada impide indicar que columna se desea de todas la que tiene el combo o la alternativa de indicarle que 'devuelva' esa columna (que no tiene porque ser la misma que muestra).

Con VBA se puede construir de forma dinámica pero ese capitulo esta mas adelante.

Lo que si me ha llamado la atención es que 'funcione' la sintaxis que se utiliza, pues lo que suele crear Access es la ruta absoluta que traducida viene a decir:

'Del conjunto de formularioS quiero el que se llama xxxxx y de el su campo zzzzz'

=Forms!Box!referencia

Utilizar Formulario ==> Form solo se puede aplicar a un subformulario:
1
2
3
4
Forms!Box!referencia ' <====  plural conjunto de formularios, esta en el principal
 
 Forms!Pedidos!Box!FORM!referencia '<====  singular esta en el subformulario 'Box'
 (Form le indica a Access que el objeto es un formulario en funciones de sub-formulario)
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