¿Como tener en un formulario la información de otro formulario o tabla?

Tengo dos formulario de los cuales el primero es "PRODUCTOS" en donde doy de alta mis productos. El segundo formulario es el de "INVENTARIO" en donde doy de alta las existencias de mi producto.

Ahora lo que quiero realizar es que cuando vea mis productos en formularios de "PRODUCTOS" pueda ver las existencias que registre en formulario "INVENTARIO"

1 respuesta

Respuesta

Suponiendo que tienes un campo identificativo único para el producto, y ese campo esté presente en ambos formularios (que yo llamaré [Id] y supondré que es numérico), prueba lo siguiente:

1.- En el evento "Al activar registro" de tu formulario "PRODUCTOS" genera el siguiente código:

...

Private sub...
If not isnull(me.Id.value) then
if currentproject.allforms("INVENTARIO").isloaded then
With forms!INVENTARIO
.Filter="Id=" & me.Id.value
.Filteron=True
end with
end if
end if
End sub

...

Lo he escrito a vuela pluma. A ver si te funciona.

Saludos,

Neckkito

http://nksvaccessolutions.com/

Ojo! Esta solución da por supuesto que tienes los dos formularios abiertos al mismo tiempo.

Si sólo trabajas con el formulario "PRODUCTOS" abierto entonces lo que tienes que hacer es lo siguiente. Yo voy a suponer que el campo donde indicas las existencias se llama [Existencias], y que la tabla donde se creaste ese campo se llama "TExistencias"

.- Inserta un cuadro de texto en tu formulario

.- En él escribes la siguiente expresión:

=dlookup("Existencias";"TExistencias";"Id=" & [Id])

donde, como comentaba antes, [Id] es el identificativo único del producto, y siempre considerando que es de tipo numérico. Si fuera de tipo texto deberías situarlo entre comillas simples, así:

=dlookup("Existencias";"TExistencias";"Id='" & [Id] & "'")

Hala. Un dos en uno ;-)

Hola que tal gracias por la respuesta lo intente realizar sin embargo me marco error por sintaxis no valida; 

le comento el formulario donde deseo que aparezca las existencias es el de "PRODUCTOS". En la cual si tiene una relación con la tabla "Inventario"; siendo la siguiente FORMULARIO PRODUCTOS tiene un campo llamado ID_PRODUCTO que se relaciona con la tabla inventario con FID_PRODUCTO. En Inventario el campo donde me aparecen mis existencias es "EXHIBICION".

por lo cual me quedo el siguiente código 

=dlookup("EXHIBICION";"INVENTARIOS";"FID_PRODUCTO='" & [ID_PRODUCTO])

he hice el intento de los siguientes códigos e igual me marco error de sintaxis

=DLookup("[EXHIBICION]", "INVENTARIOS", "[FID_PRODUCTO] =" _ 
     & Forms![PRODUCTOS]!ID_PRODUCTO)
=DBúsq("[INVENTARIOS]![EXHIBICION]","INVENTARIOS","[FID_PRODUCTO] =" & [ID_PRODUCTO])

 gracias por la atención un saludos!

Por lo que veo tu campo FID_PRODUCTO es un dato de tipo texto, y en consecuencia el campo ID_PRODUCTO también lo es. Por tanto, lo que debes escribir es

=dlookup("EXHIBICION";"INVENTARIOS";"FID_PRODUCTO='" & [ID_PRODUCTO] & "'")

Ojo con las comillas simples y las dobles.

A ver si así te sale.

Neckkito

No ambos campos son de tipo numérico de cualquier forma lo acabo de intentar con el código que me acaba de pasar "tipo texto" sin embargo me sigue diciendo error de sintaxis;

La expresión que ha utilizado tine una sintaxis no valida.

Saludos, gracias!

Si el campo es numérico la primera opción debería ser la correcta, es decir,

=dlookup("EXHIBICION";"INVENTARIOS";"FID_PRODUCTO=" & [ID_PRODUCTO])

Ahí tienes un ejemplo con esa misma expresión que funciona: https://www.mediafire.com/?4c9xhe4r3vbq9k0

Otra cosa que se me ocurre es que tengas diferente configuración regional. Intenta sustituyendo los punto y coma por simples comas, a ver si por ahí suena la campanilla.

Ya me dirás.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas