Problema com relacionamentos
Estou usando firebird
Criei duas tabelas uma para clientes e outra para produtos.
Relacionei com o seguinte comando.
Criei os generators com
Coloquei os componentes do interbase, tudo direitinho.
Coloquei dois dbgrid e dois dbnavigator.
Está quase tudo funcionando direitinho. Quando clico em algum ítem do dbgrid CLIENTES motra no dbgrid PRODUTOS os produtos deste cliente. Tudo certo.
Meu problema é o seguinte:
Quando vou cadastrar algum ítem no dbgrid PRODUTOS. Clico no botão adicionar e o generator gera o código para o produto, mas tenho que digitar o código referente ao cliente. No caso o clientecodigo.
Como faço para quando eu mandar adicionar um registro no Produto já seja acrescentado o código do cliente, já que está relacionado?
Desde já agradeço.
Criei duas tabelas uma para clientes e outra para produtos.
create table vendas ( clientecodigo integer not null, nome varchar(20), telefone varchar(15), primary key(prodcliente) );
create table produtos ( prodcodigo integer not null, clientecodigo integer not null, nome varchar(20), qtd integer, preco float, primary key (prodcodigo) );
Relacionei com o seguinte comando.
Alter table produtos add foreign key (clientecodigo) references venda(clientecodigo).
Criei os generators com
Create generator cli_gen; Create generator prod_gen;
Coloquei os componentes do interbase, tudo direitinho.
Coloquei dois dbgrid e dois dbnavigator.
Está quase tudo funcionando direitinho. Quando clico em algum ítem do dbgrid CLIENTES motra no dbgrid PRODUTOS os produtos deste cliente. Tudo certo.
Meu problema é o seguinte:
Quando vou cadastrar algum ítem no dbgrid PRODUTOS. Clico no botão adicionar e o generator gera o código para o produto, mas tenho que digitar o código referente ao cliente. No caso o clientecodigo.
Como faço para quando eu mandar adicionar um registro no Produto já seja acrescentado o código do cliente, já que está relacionado?
Desde já agradeço.
Latrodectrus
Curtidas 0
Respostas
Afarias
12/12/2003
a sua query produtos faça::
select * from produtos
where clientecodigo = :clientecodigo
ligue o DataSource da ´tabela´ clientes (ou é vendas) para a propriedade DataSource do DataSet (´tabela´) de produtos
No mais, sugiro q reveja seu projeto, tá me parecendo meio confuso.
T+
select * from produtos
where clientecodigo = :clientecodigo
ligue o DataSource da ´tabela´ clientes (ou é vendas) para a propriedade DataSource do DataSet (´tabela´) de produtos
No mais, sugiro q reveja seu projeto, tá me parecendo meio confuso.
T+
GOSTEI 0
Latrodectrus
12/12/2003
Antes de mais nada devo corrigir o que escrevi, são duas tabelas
clientes e produtos, quando criei a de vendas coloquei errado.
É que minha modelagem tem mais tabelas mas coloquei como exemplo apenas estas duas para ficar mais fácil de eu me fazer entender também para eu poder analizar com mais facilidade.
Já liguei o dataset com o dataset correspondente. Tá quase tudo funcionando mas o problema é o seguinte.
Preciso que quando eu insira um registro na tabela de produtos preciso que o código correspondente da tabela clientes já seja inserido na tabela produtos.
Acredito que seja algum parâmetro que tenho que colocar no dataset mas não sei qual e nem o que colocar.
clientes e produtos, quando criei a de vendas coloquei errado.
É que minha modelagem tem mais tabelas mas coloquei como exemplo apenas estas duas para ficar mais fácil de eu me fazer entender também para eu poder analizar com mais facilidade.
Já liguei o dataset com o dataset correspondente. Tá quase tudo funcionando mas o problema é o seguinte.
Preciso que quando eu insira um registro na tabela de produtos preciso que o código correspondente da tabela clientes já seja inserido na tabela produtos.
Acredito que seja algum parâmetro que tenho que colocar no dataset mas não sei qual e nem o que colocar.
GOSTEI 0
Afarias
12/12/2003
sei lá... só uma sugestão:: vc não devia criar um LOOKUP ou algo assim para isso?? assim o cara informa o cliente de cada compra??
Não sei se estou entendendo onde vc quer chegar...
T+
Não sei se estou entendendo onde vc quer chegar...
T+
GOSTEI 0