Poder incluir el campo de un formulario en varios otros.

Laura
23 de Febrero del 2004
Hola a todos, estoy haciendo una aplicación en Access, donde tengo un formulario que lo llamo BUSCADOR, y lo abro desde otros formularios, para copiar un campo que necesito de BUSCADOR.
Ejemplo: Desde el formulario ALFA, abro BUSCADOR, y atraves de un boton una vez localizo el campo deseado para copiar, al hacer clic en el boton, se ejecuta este codigo:
Forms!BUSCADOR!COBR=Forms!ALFA!COBR
Docmd. Close

Hasta aquí todo perfecto, pero como hago para que desde otros formularios diferentes a ALFA, pueda hacer lo mismo, ya no me deja..... y hacer tantos formularios BUSCADOR, como otros formularios donde necesite ese campo, es demasiado, porque se me presenta una aplicación con mas de doscientos formularios..lo cual hace que vaya muy lenta.

Gracias por vuestra ayuda.

Baltasar
23 de Febrero del 2004
El problema es que desde el formulario BUSCADOR estás haciendo referencia a ALFA, y claro, de eso modo lo haces "exclusivo" para ese ALFA.
La solución es usar una funcion en BUSCADOR, de la siguiente manera:

en el formulario BUSCADOR pon una función ma´s o menos como esta:

Public Function busca_cliente() As Long
Buscador.Show 1
busca_cliente = Cod_ing
End Function

entonces para llamar a buscador no uses BUSCADOR.SHOW, sino:

cod_cliente=Buscador.busca_cliente()

qué es lo que estamos haciendo?

al llamar a la función se ejecuta el código que hay en ella, el cual hace el show de buscador (con MODAL) y esa misma función te devuelve, una vez seleccionado el cliente o lo que sea que busques, el código, y lo devuelve en la misma función.

para seleccionar el elemento del grid (porque supongo que muestras un grid) sólo has de hacer:

Cod_cliente= Val(grid1.TextMatrix(grid1.Row, 0))
Unload Me

Cuando haces UNLOAD ME continúa donde lo dejó al llamar a BUSCADOR, o sea, justo la línea que sigue al BUSCADOR.SHOW 1

Como puedes comprobar, dentro del formulario BUSCADOR no harás ninguna referencia al formulario desde el cual ha sido llamado.

Espero que se entienda bien.

Baltasar
23 de Febrero del 2004
Perdona, pero donde pone cod_ing debería decir cod_cliente

Ya sabes, las prisas !