flltrar e exibir dados em um DBGrid????

Delphi

29/03/2004

Amigos...

Sou iniciante em Delphi e gostaria d saber como faço para exibir dados em um determinado intervalo de datas... Criei um tabela em paradox e preciso q seja exibido em um DBGrid os dados em um intervado de data especificado pelo usuario e apenas os registros q correspondam ao campo NFiscal igual a 0... tem geito???

Valeu pela força...


Rafax

Rafax

Curtidas 0

Respostas

Lucas Silva

Lucas Silva

29/03/2004

Se você tiver usando queries faça o seguinte.
Coloque o SQL na query, já filtrando os dados..

Tipo : select * from cliente where data > 12/05/03;

Quando você ligar o grid a esta query, ela só irá te trazer estes registros, cuja a data é maior que 12/05/03...


GOSTEI 0
Marcelo

Marcelo

29/03/2004

Tente o seguinte:

Query.Sql.Add( ´select * from TABELA where data > ´´´´ + DATA1 + ´´´ and data < ´´´´ + DATA2 + ´´´ and NFiscal = 0´ );


Valeu?


GOSTEI 0
Maicongabriel

Maicongabriel

29/03/2004

Tente o seguinte:
Query.Sql.Add( ´select * from TABELA where data > ´´´´ + DATA1 + ´´´ and data < ´´´´ + DATA2 + ´´´ and NFiscal = 0´ );
Valeu?


[i:a4f6ed1dc0]...só maior ou menor? Igual não vai não? E Que chuva de ´´´´...[/i:a4f6ed1dc0]
Query.Sql.Add( ´select * from TABELA where data >= ´ + QuotedStr(DATA1) + ´ and data <= ´ + QuotedStr(DATA2) + ´ and NFiscal = 0´ );
ou
Query.Sql.Add( ´select * from TABELA where data Between ´ + QuotedStr(DATA1) + ´ and ´ + QuotedStr(DATA2) + ´ and NFiscal = 0´ );



GOSTEI 0
Marcelo

Marcelo

29/03/2004

[quote:9a41b16190=´marcelo´]Tente o seguinte:
Query.Sql.Add( ´select * from TABELA where data > ´´´´ + DATA1 + ´´´ and data < ´´´´ + DATA2 + ´´´ and NFiscal = 0´ );
Valeu?


[i:9a41b16190]...só maior ou menor? Igual não vai não? E Que chuva de ´´´´...[/i:9a41b16190]
Query.Sql.Add( ´select * from TABELA where data >= ´ + QuotedStr(DATA1) + ´ and data <= ´ + QuotedStr(DATA2) + ´ and NFiscal = 0´ );
ou
Query.Sql.Add( ´select * from TABELA where data Between ´ + QuotedStr(DATA1) + ´ and ´ + QuotedStr(DATA2) + ´ and NFiscal = 0´ );
[/quote:9a41b16190]

O codigo que postei funcionou? Se funcionou, blz... caso contrario, me desculpe pois onde estou não tenho como testar os codigos informados, eh apenas pra dar uma ideia do que tem que fazer!

Valeu?


GOSTEI 0
Rafax

Rafax

29/03/2004

pessoal, estou usando dois componentes DatePickerTime para a seleção da data... c vcs puderem me explicar melhor como faço...

valeu...


GOSTEI 0
Marcelo

Marcelo

29/03/2004

É so voce substituir no codigo, postado por mim ou pelo maicongabriel, DATA1 pela data inicial e DATA2 pela final! Voce subistitui as variaveis no proprio codigo fonte!

Valeu?


GOSTEI 0
Rafax

Rafax

29/03/2004

ainda não funfou...

da uma olhada no codigo:

Query1.Sql.Add( ´select * from CBDPedido.DB where DT_Entrada >= ´ + DTPInicial.Date + ´ and DT_Entrada <= ´ + DTPFinal.Date + ´ and NFiscal = 0´ );


O q ta errado???


GOSTEI 0
Fabio.hc

Fabio.hc

29/03/2004

ainda não funfou... da uma olhada no codigo: Query1.Sql.Add( ´select * from CBDPedido.DB where DT_Entrada >= ´ + DTPInicial.Date + ´ and DT_Entrada <= ´ + DTPFinal.Date + ´ and NFiscal = 0´ ); O q ta errado???


Tente assim:

Query1.Sql.Text:=´select * from CBDPedido.DB where DT_Entrada = :data and NFiscal = "0"´;
Query1.ParamByName(´data´).AsDate:=DateTimePicker1.Date;
Query1.Open;



GOSTEI 0
POSTAR