Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Cómo guardar en un campo de tabla el resultado de DBúsq()

796 views
Skip to first unread message

jomorte

unread,
Feb 7, 2010, 9:30:01 PM2/7/10
to
En un formulario pedido capturo la información referente a los campos Código
de producto, cantidad y en el campo precio unitario utilizo la funcion:
=DBúsq("[PreUni_prod]";"[Productos]";"[Id_prod] = '" &
[Formularios]![Pedido].[Formulario]![DetallePedido]![Codprod_det] & "'") que
me trae correctamente el valor pero no me lo guarda en el respectivo campo de
la tabla .

Cómo hacer para que me guarde ese valor ?
--
jmt

José Mª Fueyo

unread,
Feb 8, 2010, 4:54:44 AM2/8/10
to
Hola
¿Que versión de Access utilizas? ¿Como recuperas el Id_Prod?

Salu2
--
José Mª Fueyo
[MS MVP Access]

xavi

unread,
Feb 8, 2010, 7:42:59 AM2/8/10
to
Hola,

Si lo puedes calcular en cualquier momento, entonces no es necesario
guardarlo en la tabla. Al menos en el 99% de los casos dónde he visto esa
pregunta no ha hecho falta guardarlo.


--
Un saludo

Xavi
http://www.llodax.com
http://www.mvp-access.com/foro


"jomorte" <myque...@hotmail.com> escribió en el mensaje de
noticias:92F26724-FE86-4FFD...@microsoft.com...

José Mª Fueyo

unread,
Feb 8, 2010, 10:30:44 AM2/8/10
to
Hola Xavi
En este caso, sí entiendo el que quiera guardar el precio en el
momento de crear la linea. Sí en la tabla de productos solo se guarda
el precio actual, ¿que pasa con los precios de pedidos anteriores?
¿los actualizamos al precio actual?

xavi

unread,
Feb 9, 2010, 3:48:12 AM2/9/10
to
Hola,

Cierto, muy cierto. Eso me pasa por no leer bien.

En ese caso... mejor utilizar una 'traducci�n' de esa expresi�n para
utilizarla en el evento AfterUpdate del codigo de producto.

Me!Precio = DLookup("[PreUni_Prod]", "[Productos]", "[Id_prod]='" &
Me![CodProdud_det] & "'")

Obviamente, ese campo Precio debe tener, como origen del control, el campo
Precio de la tabla de detalle de pedido.


--
Un saludo


"Jos� M� Fueyo" <jmf...@gmail.com> escribi� en el mensaje de
noticias:c2d474c8-e145-4c1c...@w16g2000yqw.googlegroups.com...
> Hola Xavi
> En este caso, s� entiendo el que quiera guardar el precio en el
> momento de crear la linea. S� en la tabla de productos solo se guarda


> el precio actual, �que pasa con los precios de pedidos anteriores?
> �los actualizamos al precio actual?
>
> Salu2
> --

> Jos� M� Fueyo
> [MS MVP Access]

jomorte

unread,
Feb 9, 2010, 10:15:02 AM2/9/10
to
Gracias Xavi, por su colaboración, a propósito de código VBA ya había
utilizado ésta función Dlookup() que es el equivalente de DBusq() en Access,
pero me sucede algo muy curioso con el código VBA no solo con ésta función
sino con cualquier función que escriba. Cuando escribo por primera vez el
código, funciona perfectamente, pero si edito el código para cambiar algo, y
vuelvo a abrir el formulario o correr la aplicación, ya no se ejecuta el
procedimiento, para el caso de Dlookup() no me aparece el precio, y ésto me
sucede justamente con Access 2007 y lo he probado en diferentes equipos con
los mismos resultados. De ahi la razón para recurrir a DBúsq().

Agradezco cualquier orientación.
jmt


"xavi" escribió:

> Hola,
>
> Cierto, muy cierto. Eso me pasa por no leer bien.
>

> En ese caso... mejor utilizar una 'traducción' de esa expresión para

> utilizarla en el evento AfterUpdate del codigo de producto.
>
> Me!Precio = DLookup("[PreUni_Prod]", "[Productos]", "[Id_prod]='" &
> Me![CodProdud_det] & "'")
>
> Obviamente, ese campo Precio debe tener, como origen del control, el campo
> Precio de la tabla de detalle de pedido.
>
>
> --
> Un saludo
>
> Xavi
> http://www.llodax.com
> http://www.mvp-access.com/foro
>
>

> "José Mª Fueyo" <jmf...@gmail.com> escribió en el mensaje de
> noticias:c2d474c8-e145-4c1c...@w16g2000yqw.googlegroups.com...
> > Hola Xavi
> > En este caso, sí entiendo el que quiera guardar el precio en el
> > momento de crear la linea. Sí en la tabla de productos solo se guarda


> > el precio actual, ¿que pasa con los precios de pedidos anteriores?
> > ¿los actualizamos al precio actual?
> >
> > Salu2
> > --

> > José Mª Fueyo
> > [MS MVP Access]
>
>
>

> .
>

Patxi Sanz

unread,
Feb 9, 2010, 11:26:20 AM2/9/10
to
Que yo sepa, DBúsq es sólo la traducción de DLookup, pero internamente
Access usa la misma función.

Si el código VBA no se ejecuta tras cerrar y abrir la base de datos, revisa
el mensaje que aparece justo debajo del ribbon.

También puedes usar la función DBúsq en la propiedad Valor predeterminado, y
usar la propiedad Origen del control para indicar el campo donde quieres
guardar el precio.

--
Un saludo,


Patxi Sanz
Tudela (NA)
http://www.pasa.es.tt/

0 new messages