Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-01-2004
jealousy jealousy is offline
Miembro
 
Registrado: ago 2003
Posts: 49
Poder: 0
jealousy Va por buen camino
Combinaciones de filtros elegidas por el usuario. Tablas Paradox

Hola

No se como resolver este problemilla. Resulta que tengo una tabla ventas en la cual entre otros campos estan: PROVEEDOR, TALLA, COLOR, FECHA. Pues bien, necesito(bueno, yo no, mi clienta) hacer consultas combinando esos cuatro campos. Hasta ahora podia elejir uno de ellos con un valor y filtrar, pero ahora lo que quiero hacer es poder crear combinaciones. No se si me explico bien. Antes tenia un RadioButton para cada uno y hacia un filtro y ya está. Pero ahora lo que quiero es poner un CheckButton y que se puedan elejir los que quiera. Osea, Pues Tal proveedor de tal talla o Tal proveedor de tal talla y tal color o Tal proveedor entre esta fecha y esta. ¿Como puedo hacer el filtro solamente de los que esten marcados?

Utilizo tablas paradox.

Gracias y un saludo a todo el ClubDelphi
Responder Con Cita
  #2  
Antiguo 18-01-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Pues lo único que has de hacer es unir las condiciones del filtro con un AND

Tabla.Filter = 'condicion1 and condicion2 and condicion3 and......';

Espero te sirva
Responder Con Cita
  #3  
Antiguo 18-01-2004
jealousy jealousy is offline
Miembro
 
Registrado: ago 2003
Posts: 49
Poder: 0
jealousy Va por buen camino
Gracias Cadetill

El hacer filtros por mas de un campo ya lo he hecho, pero mi problemas es que yo no se cuales va a elegir el cliente. Hay cuatro checkboxs. Entonces son varias combinaciones que el cliente puede hacer. ¿Como implemento eso?
Responder Con Cita
  #4  
Antiguo 18-01-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Como lo que vas a construir es una cadena, es fácil, recorres los checkboxes:

Por ejemplo:
Código:
var
cadSql:String;
nCont:Integer;
begin
nCont:=0;
if CheckBox1.Checked then
begin
CadSql:='MiCampo1 ='+QuotedStr(Edit1.Text);
nCont:=nCont + 1;
end

if CheckBox2.Checked then
  if nCont > 0 then
  CadSql:=+CadSql+' And ';
CadSql:=+CadSql+'MiCampo1 ='+QuotedStr(Edit2.Text);
nCont:=nCont + 1;
end
.....
cadSql:=CadSql +'From MiTabla';
MiTabla.Filter:=CadSql;
MiTabla.Filtered:=True;
end;
Bueno, esto es la idea básica creo que te cueste poco desarrollarla.
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.

Última edición por marcoszorrilla fecha: 18-01-2004 a las 20:35:12.
Responder Con Cita
  #5  
Antiguo 19-01-2004
jealousy jealousy is offline
Miembro
 
Registrado: ago 2003
Posts: 49
Poder: 0
jealousy Va por buen camino
Muchisimas gracias Me va estupendo. A veces lo mas sencillo no lo ve uno, je je. Ya lo tengo implementado, aunque voy a ver si consigo hacerlo con un Query en lugar de un Table por el tema de las fechas. Supongo que la cadena Sql tendre q pasarla a la propiedad SQL. Es que no se como hacer lo de filtrar un rango de fechas con el Table. Con el Query usare between fecha1 fecha2. ¿Existe alguna manera de hacerlo con el Table?

Gracias otra vez, no se que haria sin vosotros
Responder Con Cita
  #6  
Antiguo 19-01-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Cita:
Empezado por jealousy
¿Existe alguna manera de hacerlo con el Table?
Pues sí. Sólo has de poner la cadena correcta en el filtro. Algo así como

Tabla.Filter := 'Fecha >= ' + QuotedStr(FormatDateTime('mm/dd/yyyy', FechaIni)) +
' and Fecha <= ' + QuotedStr(FormatDateTime('mm/dd/yyyy', FechaFin))
Responder Con Cita
  #7  
Antiguo 19-01-2004
jealousy jealousy is offline
Miembro
 
Registrado: ago 2003
Posts: 49
Poder: 0
jealousy Va por buen camino
Wink

Mil Gracias
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 15:28:22.


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