Array
(
)

Duvidas - Relacionamentos

Ricieri
   - 26 mar 2006

Pessoal, estou com uma duvida:
Tenho 2 tabelas, vendas e mat_vendas
para a tabela mat_vendas listar somente o que é relacionado àquela venda, eu coloquei o seguinte codigo no datasource, evento ondatachange:


Citação:
with datamodule2.Mat_compras do
begin
Close;
ParamByName(´idcomp´).AsInteger := datamodule2.Compras.FieldByName(´ID_COMPRA´).AsInteger;
Open;
end;


só que tipo, ele só lista os itens se na tabela mat_compras, campo id_compra eu colocar o mesmo código que esta no campo id_compras da tabela compras, se eu não colocar este registro fica ´perdido´
Alguem sabe como preencher este campo automatico, tipo, no campo id_compras da tabela mat_compras, ele pegar o campo atual id_compras da tabela compras?

valeu!


Ricieri
   - 27 mar 2006

Por favor, alguem pode me ajudar?


Martins
   - 27 mar 2006

Qual a sua base de dados?

Se vc pretende relacionar tabelas, lembre-se q as tabelas tem q ter um campo em comum para o relacionamento, caso contrário não pode haver relacionamento.

informe o banco q vc está usando.


Ricieri
   - 27 mar 2006

Olá, estou utilizando interbase.
Eu já tenho o relacionamento, o que ocorre é o seguinte.
Tenho 2 tabelas: compras e mat_compras, o campo id_compra é a primary key da tabela compras.
na tabela mat_compras, eu chamo este campo, e no datasource eu relaciono todos os campos da tabela mat_compras que sejam = o campo id_compra da tabela compras.
Só que para isso o usuário precisa digitar, e eu não queria que ele digitasse, gostaria que na hora que eu tiver no registro compras, e digitando os materiais, a tabela mat_compras ja pegasse o campo id_compra automaticamente.


Ricieri
   - 28 mar 2006

alguem me ajuda!


Ariovaldo
   - 28 mar 2006

No evento BeforePOst da sua tabela de Materiais venda passa o código IDVenda da Tabela venda para o Campo IDVenda da tabela Materiaisvenda tipo

TabelaMaterialVenda.FieldByname(´IDVenda´).asinteger := TabelaVenda.FieldByname(´IDVenda´).asinteger

Obs.: no Lugar de TabelaMaterialVenda e TabelaVenda coloca o seu componente que acredito que seja Query


Ricieri
   - 28 mar 2006

Valeu! Funcionou!

Só gostaria de deixar claro aqui que assim que eu terminar o programa eu vou disponibilizar para quem quiser desde que seja registrado no fórum.
Estou comentando todas as linhas, explicando o que faz, assim fica facil de quem for iniciante aprender e pegar as manhas facil facil.