Pra feras em Relacionamentos

Delphi

20/03/2003

Como faço para Que apareça em um DBGRID somente itens de um pedido que eu selecionar em um COMBOBOX, uso interbase. E como faço para que depois de eu selecioar por exemplo o pedido com chave primária 01, apareca no grid todos itens com codigo do pedido = 01 e tb quero que o dbgrid esteja em modo de ediçao e a cada vez que eu digitar um novo item o programa atribua ao campo CODPED da tabela de itens a chave primaria do pedido selecionado no combobox.


MAndem para meu e-mail fontes de projeto exemplo:
POR FAVOR

poladelphi@ieg.com.br


Havilux

Havilux

Curtidas 0

Respostas

Anonymous

Anonymous

20/03/2003

Tenho esta mesma dúvida e gostaria que pusessem a resposta aqui no forum. Uso paradox 7.


GOSTEI 0
Adilsond

Adilsond

20/03/2003

1 - Inclua duas tabelas no form e dois datasources. Conecte cada datasource a sua respectiva tabela e crie os campos para cada tabela(clique duplo na tabela e add fields). Ex:

tblPedido -> dtsPedido
tblItensPedido -> dtsItensPedido

2 - Na propriedade MasterSource da tabela tblItensPedido defina dtsPedido e Clique em masterFields e faça a devida conexão entre as duas tabelas. Ex:

NrPedido -> NrPedido

3 - Agora coloque um componente DBLookupComboBox e difina suas propriedades:

ListSource -> dtsPedido
ListField -> o campo que deseja que apareça no combo
KeyField -> a chave da tabela -> NrPedido

4 - Coloque uma DBGrid e conecte-a ao dtsItensPedido

5 - No evento OnCreate do form coloque:

tblPedido.Open;
MeuDBLookupComboBox.KeyValue := TblPedidoNrPedido;
tblItensPedido.Open;

6 - No evento BeforePost da tblItensPedido coloque:

tblItensPedidoNrPedido.Value := tblPedidoNrPedido.Value;

7 - No evento BeforeClose do form coloque:

tblItensPedido.Close;
tblPedido.Close

Espero que tenha sido claro.


GOSTEI 0
POSTAR