Función DBúsq. No me funciona con un campo "Suma" de una consulta de totales.

Sigue sin funcionarme la función DBúsq. Con una consulta de totales. Repito la consulta anterior y añado foto de la consulta:

Todo funcionaba bien en el formulario, que es un tipo de arqueo de caja. En dicho formulario tengo un cuadro de texto "txtInvitaciones", que cogía el valor del campo moneda "PrecioConIVA" de la consulta "conInvitaciones". Resulta que al ser una consulta de totales en el campo "PrecioConIVA" en la fila de total lo tenía en "Agrupar por", y me funcionaba porque solo tenía un artículo. Al cambiar "Agrupar por" a "Suma", que es lo correcto para mi propósito para poder sumar todos los productos de invitación del día, entonces no me funciona la función DBúsq. Y el campo comienza a parpadear y en el control marca Error. Esta es la función que tengo y que me funcionaba bien hasta que he cambiado la fila de total de "Agrupar por" a "Suma":

Con esta sintaxis me funcionaba cuando en el campo de la consulta lo tenía en "Agrupar por", pero al cambiarlo por "Suma" en la fila de totales, no funciona.

=DBúsq("PrecioConIVA";"conInvitaciones";"FechaTransaccion=" & "FechaArqueo")

Luego me aconsejasteis estas sintaxis, pero tampoco me devuelve la suma del campo de la consulta.

=DBúsq("PrecioConIVA";"conInvitaciones";"FechaTransaccion=#" & FechaArqueo & "#")

=DBúsq("PrecioConIVA";"conInvitaciones";

"FechaTransaccion =#" & Format(Me.FechaArqueo; "mm/dd/yyyy") & "#"

La FechaTransaccion (Agrupar por) es campo de la consulta. Y la FechaArqueo es del formulario.

Gracias una vez más!

La consulta

2 respuestas

Respuesta
2

Javier: Quizá el tema está en que te devuelve más de un registro por Fecha de Transacción.

Podría ser que tienes Fechas en Nulo. Abre la consulta en vista de Hoja de datos y examina el contenido. Ya nos dirás que ves. Un saludo >> Jacinto

Javier: También podría ocurrir que la consulta no te devuelva ningún registro. Es por apuntar algún factor más. Un saludo >> Jacinto

Lo miraré Jacinto, es posible lo que me dices, aunque no estoy seguro porque el campo FechaTransaccion lo tengo como requerido a la hora de anotar una invitación. Pero más tarde lo miro y te cuento. 

Mil gracias y un saludo!

Javier. 

Jacinto, nada de nada, te remito la contestación de tu compañero Sveinbjorn El Rojo.

No me funciona. La consulta me devuelve correctamente los registros, la suma de totales. Pero en el formulario no me devuelve nada. Me devuelve únicamente el valor si en la fila total del campo PrecioConIVA está  en "Agrupar por", pero lo que yo quiero es la "Suma" en la fila total de la consulta, y en este caso es cuando surge el problema. Gracias de todos modos, descansaré de esta incidencia porque no avanzo y me tiene atascado.

Saludos Jacinto!

Xavier

Javier: A ver si acertamos, porque a veces un pequeño detalle puede dar al traste con la solución:

Tal como tienes estructurada la Consulta, el Campo que en mi opinión debes buscar no es PrecioConIVA, sino El Nombre del campo resultante que debe ser Algo así como >> SumaDelPrecioConIVA. Al Abrir la consulta, mira el Nombre que te sale y busca "ese".

Veaomos si avanzamos y si no miro de reproducir el fenómeno. Ocurre que ando un poco liado y por eso no lo he hecho. Ya me contarás. Un saludo >> Jacinto

Jacinto, solucionado! La propuesta de Sveinbjorn El Rojo funciona, el hacer una consulta de selección y en vez de la función DBúsq. poner DSuma. Me tenía loco, ahora ya sé que en un campo de totales la función DBúsq. da problemas.

Gracias Jacinto! leo e intento informarme, pero con vosotros siempre aprendo una cosa más.

Un saludo!

Javier

Perfecto Xavier: Sveinbjorn es un gran maestro de Access(Un saludo), y sus soluciones son contundentes.

Justo yo acabo de simular el DLookUp, Poniendo (En mi caso SumaDeImporte) en lugar de Importe y funciona perfectamente. Por si algún usuario se ha encontrado en la misma situación.

Mis saludos >> Jacinto

Respuesta
2

El que haya más de un registro para una fecha no justifica el error ( te mostrará el primero).

Por probar cosas:

1/ ¿La consulta te funciona si la abres directamente?

2/ Pon un botón en tu formulario y en el evento al hacer clic ponle :

Msgbox Dlookup ("PrecioConIVA";"conInvitaciones";

"FechaTransaccion =#" & Format(Me.FechaArqueo; "mm/dd/yyyy") & "#"

A ver si te devuelve el valor o te da algún error.

Hola,

No me funciona. La consulta me devuelve correctamente los registros, la suma de totales. Pero en el formulario no me devuelve nada. Me devuelve únicamente el valor si en la fila total del campo PrecioConIVA está  en "Agrupar por", pero lo que yo quiero es la "Suma" en la fila total de la consulta, y en este caso es cuando surge el problema. Gracias de todos modos, descansaré de esta incidencia porque no avanzo y me tiene atascado. 

Saludos! y agradecido por tu tiempo.

Xavier

¿Por qué no haces la consulta sin ninguna agrupación, es decir, una simple consulta de selección con esos campos y criterios, y en tu formulario en vez de usar Dbusq usas Dsuma?

El funcionamiento de la función es idéntico

Por fin!!!! solucionado, de hecho ya había pensado en DSuma, pero tenía todavía la consulta de totales y, evidentemente, me daba error. Te agradezco mucho el tiempo empleado en solucionar las incidencias de los demás.

Un afectuoso saludo!

Xavier.

Lo importante es que lo hayas solucionado, y de paso, aprender cosas nuevas.

Saludos!


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas