Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 07-02-2014
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 23
RONPABLO Va por buen camino
Cita:
En lineas generales nose como puedo hacer que el dbgrid saque solo los nombres de clientes que estan dentro del mes, asi no tengo que leer toda la tabla.de clientes, pero no se me ocurre.

A mi se me ocurre un query similar a el siguiente:
Código SQL [-]
select con.fecha,
con.numero_de_compra, cue.nombrecuenta, cli.nombrecliente
concepto as con
inner join cuentas as cue on cue.clavecuenta = con.clavecuenta 
inner join cliente as cli on cli.clavecliente = con.clavecliente 
where con.fecha between :f1 and :f2

En delphi debería hacer algo como:
Código Delphi [-]
QClientesXCuentaEntreFechas.Close;
QClientesXCuentaEntreFechas.parambyname('f1').asdate := dtpFechaInicial.Date;
QClientesXCuentaEntreFechas.parambyname('f2').asdate := dtpFechaFinal.Date;
QClientesXCuentaEntreFechas.Open;


Particularmente no me gusta usar dblookupcombobox, prefiero usar combobox y agregar en un procedimiento de delphi el id (clave principal de la tabla) como un objeto del combobox (consulta sobre ComboBox.Items.AddObjec)

Cita:
Tambien tengo un filtro en sql con un like, que, a medida que vamos poniendo letras que conforman el nombre del cliente, (pongo una letra y busca, añado otra y busca, etc) va reduciendo la cantidad de registros, pero tambien se necesita leer toda la tabla principalmente. Esto esta muyh bien cuando es dentro de una red local y con pocos registros, pero imagino que a medida que va engordando la tabla, acabara tambien tardando mas.
Si tardará más, pero no tanto por hacer la consulta, más bien por regresar los resultados por medio de la red, lo que puedes hacer es solo hacer la consulta cuando tengas en el Edit (me imagino que es donde van escribiendo el nombre que luego mandaran como parámetro al like) por lo menos un0s 4 o 5 caracteres, si el tamaño es menor que solo regrese resultados por medio de hacer click en un boton buscar o algo así, de esta forma te aseguras no estar haciendo una consulta que traiga muchos resultados como lo es hacer un like a una sola letra
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
Responder Con Cita
 



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Insert masivo de datos, cada vez mas lento papote654 MS SQL Server 14 16-05-2012 18:02:17
Truncar campo de Tabla con Datos cargados??? ungrande87 Firebird e Interbase 16 28-02-2012 15:02:44
como pasar datos de un DBLookupComboBox a otro DBLookupComboBox francodelphi Conexión con bases de datos 3 30-11-2011 21:02:34
Procedure en Firebird lento o IbQuery lento capo979 Firebird e Interbase 14 17-07-2007 21:35:36
Barridos de Base de Datos Lento jmedina Conexión con bases de datos 3 16-08-2004 01:40:38


La franja horaria es GMT +2. Ahora son las 21:35:39.


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