Array
(
)

Dois DBLookupComboBox - Tem como ligá-los?

Jrcosmoluis
   - 03 abr 2006

Pessoal,

Tenho dois formulários de cadastro com os seguintes campos:

- FORM ORGÃO
ID_ORG
N_ORG

- FORM SETOR
ID_SET
N_SET
TITULAR
FONE
ID_ORG (aqui usei um DBLookupComboBox para chamar os órgãos cadastrado)

Também tenho um outro formulário onde tenho que especificar o órgão e o setor correspondente. Então gostaria de usar dois DBLookupComboBox um para chamar os órgão e o outro os setores, acho que até aí tudo bem. Agora tem como eu ligar esse dois DBLookupComboBox, sendo que ao clicar no órgão escolhido o segundo mostre somente os setores que foram cadastro com aquele órgão? É possível?

Tentei assim:

procedure TFrmCadastroMinuta.DBComboOrgaoClick(Sender: TObject);
begin
DM.qrySetor.Close;
DM.qrySetor.SQL.Text := ´select ID_SET, N_SET from SETOR where ID_ORG = :V1´;
DM.qrySetor.ParamByName(´ID_ORG´).Value := DBLookupComboBox.KeyValue;
DM.qrySetor.Open;
end;

Mais deu error: “qrySETOR: Parameter ´ID_ORG´ not found´.

Também tentei ligar os dois através do ClietDataSet_SETOR, seguindo uma dica pesquisada na net, nas propriedade mastersouce e masterfields, deu certo entre ´´, porém, quando tentei abrir o meu cadastro de setor deu um error e não conseguir abrir, então pergunto aos amigos se não tem como fazer através do evento Onclick?

Lembrando que o campo onde o DBLookupComboBox receberá o valor é a chave da tabela no banco.

Alguém teria uma luz?

Valeu pela atenção


Jrcosmoluis
   - 14 mai 2006

Amigos só para deixar registrado,

Conseguir da seguinte forma:

Criei mais uma QUERY + DATASETPROVIDER + CLIENTDATASET + DATASOURCE chamados de SETORITENS e fiz a configuração normal no DBLookupComboBox. Depois fiz a configuração no CLIENTDATASETSETORITENS nas seguintes propriedades:

MASTERSOURCE: DataSourceOrgao
MASTERFIELDS: igualei os campos chaves das duas tabelas: ID_ORG <> ID_ORG

Valeu

:D