Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-09-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Cita:
Empezado por bLiNdEN Ver Mensaje
ok mira:

tengo varios campos que se llaman: campo2,campo3,campo4,campo5 respectivamente y lo que quiero hacer es filtrar lo que viene en el campo4 para despues aplicar otro filtro para campo5 pero que sin se quite el filtro de campo4.....por ejemplo:

aplico filtro a campo4 (filtro Edit1 funciona correctamente)

selecciona: Ing. Industrial

aplico filtro a campo5 (filtro Edit2 ??)

seleccion: Quimica I

por lo que quedaria en la tabla Ing. Indutrial Quimica blabalbal


no se si me de a entender gracias
Ok, ya esta mejor.

Lo que tu necesitas es un ordenamiento por el campo4 y despues por el campo5, pero eso no lo vas a poder hacer con una Tabla, que me imagino estas usando, para esos menesteres necesitas una sentencia SQL mas o menos de esta forma

Código Delphi [-]
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Text := 'select * from TABLA '+
                   ' where CAMPO4 = '+QuotedStr(Edit1.Text)+
                   ' order by CAMPO4,CAMPO5';
Query1.Open;

A ver si así obtienes lo que necesitas.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #2  
Antiguo 11-09-2008
bLiNdEN bLiNdEN is offline
Miembro
 
Registrado: sep 2007
Posts: 25
Poder: 0
bLiNdEN Va por buen camino
Una molestia del tamaño del mundo no me podrias explicar paso por paso??

eske soy novato en bases de datos, mira:

estoy jalando el archivo a una DBgrid desde microsoft access y de ahi empieza el show asi es...eske la vvd no se a que te refieres con tabla


muchas gracias y perdon por la molestia
Responder Con Cita
  #3  
Antiguo 12-09-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Cita:
Empezado por bLiNdEN Ver Mensaje
Una molestia del tamaño del mundo no me podrias explicar paso por paso??

eske soy novato en bases de datos, mira:

estoy jalando el archivo a una DBgrid desde microsoft access y de ahi empieza el show asi es...eske la vvd no se a que te refieres con tabla


muchas gracias y perdon por la molestia
Puedes detellarnos que componentes estas usando para conectar a tu base access?

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #4  
Antiguo 12-09-2008
bLiNdEN bLiNdEN is offline
Miembro
 
Registrado: sep 2007
Posts: 25
Poder: 0
bLiNdEN Va por buen camino
Smile

TADOQuery=ADOQ(nombre)
TDataSetProvider=DSProvider(nombre)
TClientDataSet=ClientDataSet1(nombre)
TDataSource=DataSource1(nombre)

ClientDataSet1: TClientDataSet;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Edit1: TEdit;
Label2: TLabel;
StatusBar1: TStatusBar;
ADOQ: TADOQuery;
DSProvider: TDataSetProvider;
lblData: TLabel;
cbFiltrar: TCheckBox;


parte del codigo:

[/delphi]

procedure TForm1.Edit1Change(Sender: TObject);
begin

// filtrar o localizar
if (not cbFiltrar.Checked) then begin
// Busqueda incremental
ClientDataSet1.Locate('Campo4', Edit1.Text, [loCaseInsensitive, loPartialKey]);
Exit;
end
else begin

// esto sería para filtrar
if (Edit1.Text = '') then
begin
ClientDataSet1.Filtered := false;
ClientDataSet1.Filter := '';
end
else begin
ClientDataset1.Open;
ClientDataSet1.Filter := ('Campo4 =' + QuotedStr(Edit1.Text) );
ClientDataSet1.Filtered := True;


end;
end;
end;
procedure TForm1.FormShow(Sender: TObject);
var
path:string;
begin

Path := ExtractFilePath(Application.ExeName) + 'Data11.xml';

// Existe el XML?
if FileExists(path) then begin
ClientDataSet1.LoadFromFile(path);
lbldata.Caption := ExtractFileName(path);
Exit;
end;

// Probar con el MDB
Path := ExtractFilePath(Application.ExeName) + 'Data.MDB';
// Existe el MDB?
if FileExists(path) then begin
ClientDataSet1.ProviderName := 'DSProvider';
ADOQ.Open;
ClientDataSet1.Active := True;
ADOQ.Close;
ClientDataSet1.ProviderName := '';
lbldata.Caption := ExtractFileName(path);
Exit;
end;

// Si llega aqui es que no existe ninguno de los dos.
MessageDlg('No se ha encontrado ninguna fuente de datos; Data.XML o Data.MDB', mtWarning, [mbOK], 0);


end;


muchisimas gracias..
Responder Con Cita
  #5  
Antiguo 17-09-2008
bLiNdEN bLiNdEN is offline
Miembro
 
Registrado: sep 2007
Posts: 25
Poder: 0
bLiNdEN Va por buen camino
alguien que me pueda ayudar???? ya lo intente de muchisimas formas y nadae perdon por la molestia pero la verdad no se mucho de bases de datos es la primera vez que hago una

gracias
Responder Con Cita
  #6  
Antiguo 16-10-2008
Avatar de RebeccaGL
RebeccaGL RebeccaGL is offline
Miembro
 
Registrado: ene 2008
Posts: 199
Poder: 19
RebeccaGL Va por buen camino
La condición esta mal. Ponle >= y <=

Código Delphi [-]
 
procedure TForm1.Edit1Change(Sender: TObject);
begin
// filtrar o localizar
if (not cbFiltrar.Checked) then begin
// Busqueda incremental
  ClientDataSet1.Locate('Campo4', Edit1.Text, [loCaseInsensitive, loPartialKey]);
Exit;
end
else begin
// esto sería para filtrar
  if (Edit1.Text = '') then 
    begin
      ClientDataSet1.Filtered := false;
      ClientDataSet1.Filter := '';
   end
else 
  begin
    try
      ClientDataset1.Open;
      ClientDataSet1.Filter := '(Campo4 >=' +QuotedStr(Edit1.Text) +') and (Campo5 <= '+QuotedStr(Edit2.Text)+ ')';
      ClientDataSet1.Filtered := True;
    except
      ClientDataSet1.Filtered := false;
      ClientDataSet1.Filter := '';
    end;
  end;
end;
end;

Te Explico si es (igual Edit1.text) no podra ser (igual a edit2.text)
Asi es que lo que tienes que hacer es, poner entre rangos osea:

de 1 a 100 solo quiero de 10 a 20 seria asi

if (>= 10) and (<= 20) then ...

Lo mismo con los flitros.

Saludos

Última edición por RebeccaGL fecha: 16-10-2008 a las 16:28:58.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Filtrar tabla por dos campos Sayuri Conexión con bases de datos 12 10-10-2010 17:02:03
Filtrar Tquery con campos calculados nelem Internet 0 19-05-2008 09:15:46
Filtrar por Campos Calculados dandia28 Conexión con bases de datos 2 02-05-2008 21:32:46
Filtrar campos DateTime MARYLOSO Impresión 5 02-02-2007 20:23:18
filtrar campos lookup allende Conexión con bases de datos 2 08-12-2003 19:17:34


La franja horaria es GMT +2. Ahora son las 19:44:14.


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