Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-05-2003
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 157
Poder: 21
vicvil Va por buen camino
Question 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?
Responder Con Cita
  #2  
Antiguo 27-05-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 28-05-2003
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 157
Poder: 21
vicvil Va por buen camino
Unhappy

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...
Responder Con Cita
  #4  
Antiguo 28-05-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
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.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 28-05-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
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
Responder Con Cita
  #6  
Antiguo 28-05-2003
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 157
Poder: 21
vicvil Va por buen camino
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...
Responder Con Cita
  #7  
Antiguo 28-05-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
Pon la estructura de las tablas y la relacion que hay entre ellas y miramos de ayudarte en el SQL
Responder Con Cita
  #8  
Antiguo 28-05-2003
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 157
Poder: 21
vicvil Va por buen camino
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.
Responder Con Cita
  #9  
Antiguo 28-05-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
En primer lugar, te recomiendo leerte un buen libro de SQL.....

Ahora, podes hacer:

Código:
Select c.Ejecutivo, e.Nombre nEjecutivo, 
       c.Codigo, c.Nombre, c.Telefono, s.Saldo
  from Cliente c, Ejecutivo e, Saldos s
 where c.codigo = s.Codigo
   and e.Ejecutivo = c.Ejecutivo
 order by c.Ejecutivo

Luego agrupas por ejecutivo a nivel del reporte.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #10  
Antiguo 28-05-2003
vicvil vicvil is offline
Miembro
 
Registrado: may 2003
Ubicación: Chile
Posts: 157
Poder: 21
vicvil Va por buen camino
Asunto solucionado muchas gracias a todos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:58:12.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi