Fórum relacionamento #36300

05/04/2003

0

estou com o seguinte problema

tenho uma tabela chamada clientes
com uma primary key codcli

tenho uma tabela vendas
com uma primary key codven
e uma foreing key codcli

bom como devo proceder para que quando eu abra essas tabelas em uma dbgrid por exemplo e eu clique no linha correspondente ao codven numero 100 e codcli numero 30, o indicar do dbgrid da tabela clientes
va para o codcli numero 30 tambem
isso é possivel
eu estou usando ibx - ibdataset e ibquery

obrigado desde ja


Soler

Soler

Responder

Posts

06/04/2003

Afarias

É possível sim... só não é um assunto relativo ao IB ou FB... esta mensagem deveria estar no fórum Delphi.

Ainda assim, vai algo simples:

Existem várias formas de fazê-lo, depende de uma implementação, uma forma é algo tipo...

no evento QueryVenda.OnScroll :

QueryCliente.Locate(´codcli´, QueryVenda.FieldByName(´codcli´).AsInteger, []);

ou

vc pode passar o QueryVenda.FieldByName(´codcli´).AsInteger como parâmetro para a QueryCliente carregar só este cliente.


(obs: só não acho algo muito bom em termos de performance/projeto -- nenhuma das duas formas, más depende de suas necessidades --- se tem mesmo q fazer isso, é posível q a segunda opção seja melhor)


Abraço


Responder

Gostei + 0

08/04/2003

Anonymous

É só vc relacionar a query venda com a query cliente, o delphi gerencia isso sozinho, vc não precisa nem passar parametros
no data source da query venda coloque o nome do data source da queri cliente.
Entre no params só pra definir o tipo do parametro. Se o campo relacionado (ex codcli) tiver o mesmo nome nas duas tabelas, é só isso. Se não você vai ter que passar parametros para ativar a queri venda, no máximo dar um refresh no dbgrid.
Espero ter ajudado.
Mariangela


Responder

Gostei + 0

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

Aceitar