![]() |
query con filtro
Tengo un query con un con un evento OnFilterRecord y estoy haciendo una búsqueda sobre ese query con una función Locate, el problema está en que cada vez que hago la busqueda se ejecuta el OnFilterRecord, ¿como hago para que ello no ocurra?
|
Hola vicvil
Si miramos el codigo del Locate, se ve que lo primero que hace es un First y luego va haciendo Next hasta encontrar el registro de seado (o no). Por lo que al hacer este tipo de busqueda secuencial, no hay manera de evitar que salte el evento (almenos que yo conozca) No te serviria utilizar la clausula where de la query? Es una idea como alternativa al Filtro |
El problema es el siguiente, tengo una form donde estoy mandando a imprimir una consulta y otra form con el preview de esta. Ahora al momento de mandar a imprimir estoy creando y abriendo un query con los saldos mensuales y otro con los clientes. El primero contiene los saldos y los codigos de los clientes y el segundo el codigo del cliente y el ejecutivo de contacto. Con esto realizo el preview del reporte.
Si hago el where para el query de clientes con el codigo de los saldos, es decir algo como: clientes where codigo = cod clientes.parambyname(cod) := saldos.fieldByName(codigo) al momento de imprimir me manda los datos de los clientes en blanco. Como no me resultó así intenté poner un locate dentro del beforeprint de un qrsubdetail, pero comienza a repetir los clientes hasta que encuentra el siguiente y vuelve a repetir hasta que encuentra al siguiente y asi sucesivamente, por lo que al final me quedan un monton de clientes repetidos. Luego puse un filterrecord para el query clientes con el fin de obtener solo aquellos con el ejecutivo deseado y es ahi donde cada vez que hago el locate se va dar vueltas al filter. Espero me entiendan... |
Lo que pude entender es que queres hacer un informe de saldos por cliente, para cada ejecutivo, o algo asi....
Si es así, podes hacer un query que traiga toda la información, no??? y luego a nivel del reporte, agrupar por el ejecutivo. Creo que es mucho mas óptimo... Hasta luego. ;) |
Lo que te comenta jachguate es lo que yo te iva a proponer. Utiliza las Querys esas para mostrar los datos por pantalla y, al momento de imprimir (impresora), lanza otra Query para el listado que contenga SOLO la información que deseas.
Espero te sirva |
Pero como genero un query con los resultados de los otros dos y como lo utilizo para imprimir???
Perdonen mi ignorancia pero estoy hace poco empezando con esto... |
Pon la estructura de las tablas y la relacion que hay entre ellas y miramos de ayudarte en el SQL ;)
|
La tabla Cliente tiene:
codigo nombre telefono ejecutivo La tabla Saldos tiene: codigo saldo necesito imprimir el codigo, nombre, telefono y saldo de clientes por ejecutivo. |
En primer lugar, te recomiendo leerte un buen libro de SQL.....
Ahora, podes hacer: Código:
Select c.Ejecutivo, e.Nombre nEjecutivo, Luego agrupas por ejecutivo a nivel del reporte. Hasta luego. ;) |
Asunto solucionado :D muchas gracias a todos
|
La franja horaria es GMT +2. Ahora son las 02:00:02. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi