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...
Como Filtrar em SMDbgrid
-
- Mensagens: 65
- Registrado em: Janeiro 12th, 2011, 10:03 am
- Localização: Ribeirão Preto SP
- Contato:
Re: Como Filtrar em SMDbgrid
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;
(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;
-
- Mensagens: 149
- Registrado em: Junho 24th, 2011, 10:06 am [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
Re: Como Filtrar em SMDbgrid
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
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
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 33 visitantes