Ir para conteúdo
Fórum Script Brasil
  • 0

Duvidas de como fazer filtro..


Danilo 3sD

Pergunta

Bom dia pessoal!!

Eu estou fazendo um programinha que

tenho que fazer um filtro e queria tirar umas duvidas com vocês.

Eu estou usando um DBLookupComboBox que esta ligado a outra tela de cadastro, inclusive esse é de Estado.

e outro DBLookupComboBox que também está ligado a outra tela de cadastro(na mesma do Estado) que é a de Cidades, eu queria selecionar o estado em um e no outro só aparecer as Cidades desse Estado...

Obrigado e conto aom a ajuda de vocês!

Editado por Danilo 3sD
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Em um componente Query1 coloque o código na propriedade SQL

// para jogar no DBLookupComboBox1 apenas os Estados

SELECT distinct Estado
FROM Cidades
Em um outro componente Query2 coloque o código na propriedade SQL // para jogar no DBLookupComboBox2 apenas as Cidades selecionadas pela SIGLA
SELECT Cidade, Estado
FROM Cidades
WHERE Estado = :SIGLA   // Não esquecer de definir o parametro como string
ORDER BY Cidade
Depois e só montar a Unit
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  DBCtrls, Grids, DBGrids, Db, DBTables;

type
  TForm1 = class(TForm)
    DataSource1: TDataSource;
    Query1: TQuery;
    DBGrid1: TDBGrid;
    DBLookupComboBox1: TDBLookupComboBox;
    DBLookupComboBox2: TDBLookupComboBox;
    Query2: TQuery;
    DataSource2: TDataSource;
    procedure DBLookupComboBox1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.DBLookupComboBox1Click(Sender: TObject);
begin
   Query2.Active := false;
   Query2.Params[0].AsString := DBLookupComboBox1.Text;
   Query2.ExecSQL;
   Query2.Active := true;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
   Query1.Active := false;
   Query1.Active := true;
end;

end.

No DBLookupComboBox1 aparecerá os estados

EX: MG, RJ, SP

então defina as propriedades:

ListSource = DataSource1

ListField = Estado

KeyField = Estado

No DBLookupComboBox2 aparecerá as cidades

EX: VARGINHA, UBERLANDIA ...

então defina as propriedades:

ListSource = DataSource2

ListField = Cidades

KeyField = Cidades

abraço e Feliz Natal

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...