[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 594: sizeof(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 650: sizeof(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 1110: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 1110: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 1110: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5277: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5277: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5277: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3903)
Fórum Xmaker • Como Filtrar em SMDbgrid
Página 1 de 1

Como Filtrar em SMDbgrid

Enviado: Agosto 14th, 2012, 3:37 pm
por Romero
Pessoal preciso colocar em um form um SMDbgrid onde nele devem aparecer apenas os registros de uma tabela cujo
Campo, (AVISO) do tipo Data, é o meu parametro para filtro.
O objetivo é mostrar no grid apenas os registros que com base na data do sistema, atingiram a data marcado no campo
aviso .
Agora eu não sei como fazer isso. Qual a melhor forma.. Usando filtro, usando SQl, ou outro meio..

Também gostaria se possível agrupar pelo nome do cliente.

Alguem ai pode me ajudar...

Re: Como Filtrar em SMDbgrid

Enviado: Agosto 21st, 2012, 10:39 am
por Gilberto
Olá, acredito que possa fazer assim :

(Apenas exemplo para iniciar discussão)

No FormShow :
FiltraPlacas;
DBGridPlacas.DataSource := TabelaEntSaiPlaca.DataSource;

Crie o Sql ou Filtro.

procedure TFormCadastroImoveis.FiltraPlacas;
begin
with TabelaEntSaiPlaca do
begin
DataBase := TabelaPrincipal.DataBase;
Transaction := TabelaPrincipal.Transaction;
SQL.Clear;
SQL.Add('select');
SQL.Add('PlacaEntradaSaida.Data as "Data", ');
SQL.Add('Placa.Descricao as "Descrição", ');
SQL.Add('CORRETOR.NOME as "Nome do Corretor", ');
SQL.Add('PlacaEntradaSaida.Quantidade as "Quantidade", ');
SQL.Add('PlacaEntradaSaida.Imovel as "Imóvel", ');
SQL.Add('IMOVEIS.ENDERECO as "Endereço", ');
SQL.Add('IMOVEIS.NUMERO as "Número", ');
SQL.Add('IMOVEIS.COMPLEM as "Complemento", ');
SQL.Add('PlacaEntradaSaida.Placa as "Placa", ');
SQL.Add('PlacaEntradaSaida.Corretor as "Corretor", ');
SQL.Add('PlacaEntradaSaida.registro as "Registro" ');
SQL.Add('from PlacaEntradaSaida ');
SQL.Add('left outer join Placa on PlacaEntradaSaida.Placa = Placa.Codigo ');
SQL.Add('left outer join IMOVEIS on PlacaEntradaSaida.Imovel = IMOVEIS.CODIMO ');
SQL.Add('left outer join CORRETOR on PlacaEntradaSaida.Corretor = CORRETOR.CODCOR ');
SQL.Add('where PlacaEntradaSaida.AtuEst=-1 ');
SQL.Add('and PlacaEntradaSaida.Imovel='+TabGlobal.DIMOVEIS.CODIMO.ValorString);
SQL.Add(' Order By PlacaEntradaSaida.Data Desc');
Conexao;
Abrir;
First;
end;
end;

Re: Como Filtrar em SMDbgrid

Enviado: Agosto 24th, 2012, 11:52 am
por Leão
Romero, se for só para filtrar por data do computador, crie um botão, no evento OnClick

var
data_a:TDateTime;
begin
data_a:=Date;
TabGlobal.DReceber.Filtro.Text:=' Receber.data_lancto= '+#39+DataSql(data_a)+#39;
TabelaPrincipal.AtualizaSql();

O usuário ao clicar no botão, erá filtrar..., faça com que tenha opção para mostrar todos...

Obrigado,
Leão