Parametros en consulta Access para número exacto

He creado una consulta con un campo calculado al que he llamado "total" de tipo moneda. Posteriormente, y basándome en esa consulta, quiero hacer otra en la que pueda incluir un parámetro en el criterio de ese campo, para que al pulsar la cantidad exacta, sólo salga el registro que cumpla con el importe del parámetro.

¿Qué criterio tendría que poner en el diseño de la consulta para lograrlo?

En el parámetro, ¿Cómo debo introducir la cantidad (normalmente con decimales)?

No sé nada de Access-Basic, todo lo hago con criterios y macros, en el modo automático del programa.

1 Respuesta

Respuesta

Abre tu consulta en Vista Diseño, y en el campo Total le añades en la fila de Criterios esto:

[Introduce el importe a buscar]

De esta manera, cada vez que ejecutes la consulta te saldrá un aviso con el texto que hayas puesto entre los corchetes, y con un espacio para que pongas el importe que quieres buscar.

En cuanto a la forma de meter el valor, tienes que escribirlo con este formato: 100,35 es decir, usando la coma como separador decimal si vas a introducir decimales (el punto no sirve). Los números a partir del 999, los puedes escribir indistintamente como 1000 o 1.000, es decir, con o sin separación de millares.

Gracias por la contestación, pero eso ya lo he intentado muchas veces y no me funciona. Concretamente así no sale nada.

Conseguí que saliese algo con: Como "*" & [PONER IMPORTE)] & "*"

Pero lo que trato es de extraer importes exactos y esto último solo funcionaba si no ponía decimales y con todas las cantidades que cumplieran la condición.

Por lo que comentas, tu campo total es de tipo texto, y no numérico, si no no me explico que sólo te funcione poniendo en criterios Como *...

Intenta, en tu consulta, convertir el campo a formato moneda, poniendo en el nombre del campo total de tu primera consulta, la expresión que utilices dentro de esta otra función CMoneda(), de tal forma que te quede algo así:

Total: CMoneda([Campo1]+[Campo2])

Si tu campo realmente tiene formato moneda (numérico), la opción que te planteo en mi primera respuesta es la correcta y funciona, te dejo un ejemplo: http://www.filebig.net/files/ErhERGBbfh

Ese parámetro me funciona cuando creo una consulta basada en una tabla. Cuando se trata de un campo calculado creado en una consulta de tipo "expresión"  (total: [importe]+[iva]) y posteriormente querer hacer otra consulta con el parámetro, basada en la mencionada, ya no funciona. Ni siquiera haciendo la primera como una consulta de creación de tabla y sobre ella hacer la consulta del parámetro. Los campos en las tablas y en las consultas los pongo como tipo moneda con 2 decimales.

Saludos y gracias

Como te decía en el mensaje anterior, esta expresión para crear tu campo:

total: CMoneda([importe]+[iva])

De esta manera te aseguras que sea de tipo numérico y no de texto, y ya podrás usar el criterio que te comentaba.

Hola.

Tardo en contestarte, porque he estado haciendo pruebas y más pruebas, hasta que me he dado cuenta por qué no me funcionaba. El campo "importe" es un campo de tabla, pero el de "IVA" y "total" son campos calculados. Antes de pedir ayuda, ya me funcionaba sólo con poner el parámetro, pero en unas cantidades sí y en otras no. Al final he descubierto que no me funciona, porque en los campos calculados, SI PULSO en el importe-resultado de la consulta, veo que aunque en las propiedades, les pongo como 2 decimales (y es lo que veo en la consulta) en realidad aparecen 3 decimales y claro como no es una cantidad exacta, pues por eso no salen. Pero no sé como arreglar este problema de que en los campos calculados redondee a 2 decimales.

Utilizo este pequeño programa para las facturaciones de mi pequeña empresa, y como recibo anotaciones en la cuenta cte., pretendo sólo con poner la cantidad, identificar la factura y el cliente.

Mil gracias por tu ayuda.

A ver si la solución planteada en aquí te sirve: No redondear suma

Básicamente consiste en restar 0,005 al resultado, para que te redonde a dos decimales en la primera opción, y en la segunda, se descompone el número en la parte entera, la coma, y los dos primeros decimales, y se vuelve a montar.

Ya me dirás.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas