Fórum Abrir novo form a partir de um DB_Combobox #262957

21/12/2004

0

Bom dia, boa tarde, boa noite...

Possuo um form1 q tem um dbcombobox e depois q seleciono o item desejado, clico no botão OK e ele me abre um novo form2 com outro dbcombobox com outra tabela.

Gostaria de saber como faço para que quando clicar no botão OK depois de ter selecionado determinado item seja aberto um novo form, este por sua vez terá um dbcombobox com subitens relacionados ao 1º combo

ex:

form1: Dbcombobox1 : item A, B e C
seleciona item B e <OK>
abre form2: dbcombobox2 : item B1, B2 e B3

lembrando q os dados contidos nos combos são diferentes e a parte da exibição do 1º combo está pronta, faltando então o resto (abrir form2 e dbcombo relacionado ao 1º)

espero que consigam entender a minha idéia.

grato pela ajuda


Maluco Tubaina

Maluco Tubaina

Responder

Posts

22/12/2004

Tinorj

Exemplo de Form1:
...
procedure Bitbtn1Click(Sender: TObject);
begin
  ...
  Form2.OpcaoDBCombo1 := DBLookupComboBox1.KeyValue;
  Form2.ShowModal;
  ...
end;
...


Exemplo de Form2:
...
Form2: class(TForm)
...
  public
    OpcaoDBCombo1: Integer;
...

procedure Form2Show(Sender: TObject);
begin
  ...
  with TQuery(DataSource1.DataSet) do begin
    ...
    SQL.Text := ´SELECT * FROM Tabela2 WHERE CodPai = :ppai´

    ParamByName(´ppai´).AsInteger := OpcaoDBCombo1; //
    Open;
  end;
  ...
  //No SELECT da 2ª Tabela você ira filtrar com a opção indicada pela variavel OpcaoDBCombo1
end;
...


Espero que tenha entendido + a lógica!!!


Responder

Gostei + 0

23/12/2004

Maluco Tubaina

A parte do form 1 adaptei ao meu código e deu certo;

A parte do form 2 eu fiz de outra maneira e tá dando certo por enquanto,
só q sem o sql, pois to usando o paradox mesmo.

valeu!


Responder

Gostei + 0

24/12/2004

Dbergkamps

tente assim
no evento on show do Form2
if Form1.ComboBox1.ItemIndex=0 then
begin
combobox1.items.clear;
combobox1.items.add(´b1´);
combobox1.items.add(´b2´);
combobox1.items.add(´b3´);
end
else
if Form1.ComboBox1.ItemIndex=1 then
begin
combobox1.items.clear;
combobox1.items.add(´c1´);
combobox1.items.add(´c2´);
combobox1.items.add(´c3´);
end


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar