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

Función DBúsq()

1,731 views
Skip to first unread message

jomorte

unread,
Nov 16, 2009, 9:12:02 AM11/16/09
to
Buen día para todos

Tengo el siguiente problema conla función DBúsq. cuando la utilizo con
campos numéricos obtengo resultados correctos, pero cuando la utilizo con
campos tipo texto no me funciona.

El caso es que debo manejar un código de un producto alfanumérico ( ej.
3G4510) por ende debe ser tipo texto. He probado con ésta función de
diferentes maneras y encontré que :

=DBúsq("[Precio_prod]";"[Productos]";'"[Id_prod] = &
[Formularios]![DetallePedido]![Codprod]"')

Funciona, pero solo me trae el valor del primer registro y lo repite para
todos los registros igual.

Agradezco su orientación, pues la verdad soy novato en Access y me serviría
mucho su ayuda.

Cordial saludo


--
jomorte

Emilio

unread,
Nov 16, 2009, 9:46:03 AM11/16/09
to
--------------------------------------------------------------------------
�Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvi� o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
Hola!
es que en realidad deber�a ser as�:

=DB�sq("[Precio_prod]";"[Productos]"; "[Id_prod] = '"&
[Formularios]![DetallePedido]![Codprod] & "'")

El dato del criterio debe ir entre comillas simples, solo el dato, no el
nombre del campo.

Saludos a tod@s
Emilio [MS-MVP Access 2006/9]
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio
"jomorte" <myque...@hotmail.com> escribi� en el mensaje
news:DAF0AA1A-BE6B-445F...@microsoft.com...
> Buen d�a para todos
>
> Tengo el siguiente problema conla funci�n DB�sq. cuando la utilizo con
> campos num�ricos obtengo resultados correctos, pero cuando la utilizo con


> campos tipo texto no me funciona.
>

> El caso es que debo manejar un c�digo de un producto alfanum�rico ( ej.
> 3G4510) por ende debe ser tipo texto. He probado con �sta funci�n de
> diferentes maneras y encontr� que :
>
> =DB�sq("[Precio_prod]";"[Productos]";'"[Id_prod] = &


> [Formularios]![DetallePedido]![Codprod]"')
>
> Funciona, pero solo me trae el valor del primer registro y lo repite para
> todos los registros igual.
>

> Agradezco su orientaci�n, pues la verdad soy novato en Access y me
> servir�a

Patxi Sanz

unread,
Nov 16, 2009, 9:47:18 AM11/16/09
to
Hola Jomorte:

Si el campo donde vas a buscar es de tipo texto, debes indicarle a Access
que el valor es un texto, delimitándolo con comillas:

=DBúsq("[Precio_prod]";"[Productos]";"[Id_prod] = '" &

[Formularios]![DetallePedido]![Codprod] & "'")

--
Un saludo,


Patxi Sanz
Tudela (NA)
http://pasa.hostzi.com/

jomorte

unread,
Nov 17, 2009, 1:02:34 AM11/17/09
to
Gracias por tu sugerencia, pero al utilizar la funcion de ésta forma:

=DBúsq("[Precio_prod]";"[Productos]";"[Id_prod] = '" &
[Formularios]![DetallePedido]![Codprod] & "'")

el resultado es: #¿Nombre? en vez del valor.

cordial saludo
--
jmt


"Patxi Sanz" escribió:

jomorte

unread,
Nov 17, 2009, 1:02:44 AM11/17/09
to
Gracias Emilio, pero al colocar la función con la sintáxis que me indica,
=DBúsq("[Precio_prod]";"[Productos]"; "[Id_prod] = '"&
[Formularios]![DetallePedido]![Codprod] & "'")
el resultado es : #¿Nombre?

--
jmt


"Emilio" escribió:

> --------------------------------------------------------------------------
> ¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te

> sirvió o no la respuesta dada. Muchas gracias
> --------------------------------------------------------------------------
> Hola!
> es que en realidad debería ser así:
>
> =DBúsq("[Precio_prod]";"[Productos]"; "[Id_prod] = '"&

> [Formularios]![DetallePedido]![Codprod] & "'")
>
> El dato del criterio debe ir entre comillas simples, solo el dato, no el
> nombre del campo.
>
> Saludos a tod@s
> Emilio [MS-MVP Access 2006/9]
> miliuco56 ALGARROBA hotmail.com
> http://www.mvp-access.com/foro
> http://www.mvp-access.es/emilio

> "jomorte" <myque...@hotmail.com> escribió en el mensaje
> news:DAF0AA1A-BE6B-445F...@microsoft.com...
> > Buen día para todos
> >
> > Tengo el siguiente problema conla función DBúsq. cuando la utilizo con
> > campos numéricos obtengo resultados correctos, pero cuando la utilizo con


> > campos tipo texto no me funciona.
> >

> > El caso es que debo manejar un código de un producto alfanumérico ( ej.


> > 3G4510) por ende debe ser tipo texto. He probado con ésta función de
> > diferentes maneras y encontré que :
> >

> > =DBúsq("[Precio_prod]";"[Productos]";'"[Id_prod] = &


> > [Formularios]![DetallePedido]![Codprod]"')
> >
> > Funciona, pero solo me trae el valor del primer registro y lo repite para
> > todos los registros igual.
> >

> > Agradezco su orientación, pues la verdad soy novato en Access y me
> > serviría


> > mucho su ayuda.
> >
> > Cordial saludo
> >
> >
> > --
> > jomorte
>
>

> .
>

Emilio

unread,
Nov 17, 2009, 2:59:48 AM11/17/09
to
--------------------------------------------------------------------------
�Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvi� o no la respuesta dada. Muchas gracias
--------------------------------------------------------------------------
Hola!
pero esa es la sintaxis correcta para un criterio alfanum�rico, as� que el
problema va por otro sitio y con lo que tengo a la vista, lo cierto es que
no se me ocurre que pueda ser.

Saludos a tod@s
Emilio [MS-MVP Access 2006/9]
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio

"jomorte" <myque...@hotmail.com> escribi� en el mensaje

news:B7B9B0D3-B38E-4996...@microsoft.com...
> Gracias Emilio, pero al colocar la funci�n con la sint�xis que me indica,
> =DB�sq("[Precio_prod]";"[Productos]"; "[Id_prod] = '"&


> [Formularios]![DetallePedido]![Codprod] & "'")
> el resultado es : #�Nombre?
>
> --
> jmt
>
>

> "Emilio" escribi�:


>
>> --------------------------------------------------------------------------
>> �Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te

>> sirvi� o no la respuesta dada. Muchas gracias
>> --------------------------------------------------------------------------
>> Hola!


>> es que en realidad deber�a ser as�:
>>

>> =DB�sq("[Precio_prod]";"[Productos]"; "[Id_prod] = '"&


>> [Formularios]![DetallePedido]![Codprod] & "'")
>>
>> El dato del criterio debe ir entre comillas simples, solo el dato, no el
>> nombre del campo.
>>
>> Saludos a tod@s
>> Emilio [MS-MVP Access 2006/9]
>> miliuco56 ALGARROBA hotmail.com
>> http://www.mvp-access.com/foro
>> http://www.mvp-access.es/emilio

>> "jomorte" <myque...@hotmail.com> escribi� en el mensaje
>> news:DAF0AA1A-BE6B-445F...@microsoft.com...
>> > Buen d�a para todos
>> >
>> > Tengo el siguiente problema conla funci�n DB�sq. cuando la utilizo con
>> > campos num�ricos obtengo resultados correctos, pero cuando la utilizo

>> > con
>> > campos tipo texto no me funciona.
>> >

>> > El caso es que debo manejar un c�digo de un producto alfanum�rico ( ej.
>> > 3G4510) por ende debe ser tipo texto. He probado con �sta funci�n de
>> > diferentes maneras y encontr� que :
>> >

>> > =DB�sq("[Precio_prod]";"[Productos]";'"[Id_prod] = &


>> > [Formularios]![DetallePedido]![Codprod]"')
>> >
>> > Funciona, pero solo me trae el valor del primer registro y lo repite
>> > para
>> > todos los registros igual.
>> >

>> > Agradezco su orientaci�n, pues la verdad soy novato en Access y me
>> > servir�a

Patxi Sanz

unread,
Nov 17, 2009, 5:30:47 AM11/17/09
to
Prueba a cambiar Formularios por Forms. Y si sigue fallando, revisa lo que
te ha dicho Emilio y explica exactamente qué tienes (formularios,
subformularios, tablas, ...), y dónde estás aplicando la función.

emiliov

unread,
Nov 17, 2009, 4:21:01 PM11/17/09
to
Patxi Sanz

Ya que estan en eso, que revise tu artículo de comillas dobles:

http://www.llodax.com/smf/index.php?topic=308.0

pero para ver el ejemplo tienes la nueva ruta porque la de Xavi esta caida,
Saludos.

Patxi Sanz

unread,
Nov 18, 2009, 6:03:12 AM11/18/09
to
He encontrado el archivo en una copia de seguridad que tenía por ahí, y lo
he vuelto a subir, aunque a otro servidor:

-
http://cid-143f0ffa33a574e2.skydrive.live.com/self.aspx/P%c3%bablico/manuales/comillas.zip

Ahora me falta decirle a Xavi que actualice el enlace ;-)

emiliov

unread,
Nov 18, 2009, 10:52:03 AM11/18/09
to
Patxi:
gracias, saludos

Patxi Sanz

unread,
Nov 18, 2009, 12:01:19 PM11/18/09
to
De nada :-)

jomorte

unread,
Nov 18, 2009, 3:53:03 PM11/18/09
to
Gracias Patxi, la función Dbúsq, la tengo en un Subformulario y abriendo éste
en forma independiente en vista de datos funciona correctamente, trae los
valores, pero cuando abro el formulario que contine éste subformulario ya me
aparece #¿nombre? en vez de los valores,

Disculpe la molestia, le quedaré muy agradecido por el apoyo que me pueda
brindar.

cordial saludo
--
jmt


"Patxi Sanz" escribió:

> Prueba a cambiar Formularios por Forms. Y si sigue fallando, revisa lo que

Patxi Sanz

unread,
Nov 19, 2009, 4:19:29 AM11/19/09
to
No es lo mismo un formulario que un subformulario. A los únicos objetos que
se puede acceder mediante la colección Formularios, es a los formularios que
están abiertos como tal, no a los subformularios.

Si la función DBúsq está en el subformulario, no es necesario indicarle la
ruta:

=DBúsq("[Precio_prod]";"[Productos]";"[Id_prod] = '" & [Codprod] & "'")

Y si la función DBúsq está en otro formulario o subformulario, tendrás que
indicar la ruta completa:

=DBúsq("[Precio_prod]";"[Productos]";"[Id_prod] = '" &

[Formularios]![NombreDelFormularioPrincipal]![NombreDelObjetoSubformulario].Form![DetallePedido]![Codprod]
& "'")

Tienes más info en:

- http://pasa.hostzi.com/articulo.php?id=6

jomorte

unread,
Nov 19, 2009, 11:46:03 AM11/19/09
to
Su orientación fue de mucha ayuda, de ésta forma me funcionó.

Mil gracias

Cordial saludo
--
jmt


"Patxi Sanz" escribió:

> No es lo mismo un formulario que un subformulario. A los únicos objetos que

Patxi Sanz

unread,
Nov 19, 2009, 12:37:11 PM11/19/09
to
De nada :-)
0 new messages