DBLookupCombobox com conflito dos dados entre as tabelas

Delphi

Firebird

28/07/2015

Prezados,se puder, preciso a gentileza de alguém que possa me orientar:

Sou novato na utilização do Delphi, embora nos últimos meses eu tenha alcançado patamares de conhecimento.
Com intuito de 'desvendar' a arte da programação, resolvi desenvolver um aplicativo o qual será utilizado pela minha filha no controle de vendas de Semi-Joias.
A intenção,dessa forma, é de vencer todas as dúvidas que possam aparecer do início ao fim do desenvolvimento.

Bem vamos ao problema:
Criei uma tabela de 'cliente', uma de 'produto' e outra de 'pedido' (e outras, mas o foco será nessas três).A estrutura das tabelas é a seguinte:

Cliente:
CODCLIENTE (PK)
NOME
CPF
RG
E-MAIL
ENDERECO

Produto:
CODPRODUTO (PK)
REFERENCIA
DESCRICAO
INDICE (dado que vai servir de parâmetro para calcular o preço)

Pedido:
CODPEDIDO (PK)
CODCLIENTE (FK)
CODPRODUTO (FK)
PRODUTO
CLIENTE
QUANTIDADE
VALOR UNITARIO
VALOR TOTAL

No formulário de pedido contruído no Delphi 7 foi incluído um DBEdit para o CODPEDIDO, um DBLookupComboBox para o PRODUTO e outro DBLookupComboBox para o CLIENTE.
A minha intenção é de quando o usuário for emitir o pedido, ser criado um número do pedido o qual será armazenado no campo da tabela CODPEDIDO; pelo DBLookCombobox, escolheria o produto cuja fonte é da tabela 'produto' e, sequencialmente, no outro DBLookCombobox, o cliente, previamente cadastrado na tabela cliente.

Nos testes de compilação do aplicativo tem apresentado a seguinte situação:
Eu crio o número 1 como número do 'código do pedido'. Quando vou escolher o produto pelo DBLookCombobox, cujo item do banco o 'código do produto' é o número 5, o 'código do pedido' muda de 1 para 5.
Quando escolho o cliente cujo código é o 2, o produto muda para o código 2 e o número 2 é apresentado no campo CODPEDIDO. Resumindo, eu queria que houvesse independência entre os 3 componentes, de forma que eu pudesse escolher o item que eu quisesse sem mudar o item do outro componente, contudo, os dados, embora sejam de tabelas distintas, estão amarrados um ao outro pelo código dos respectivos itens.


Acredito ter configurado os DBLookComboboxs corretamente, pois fiz conforme orientações encontradas na net, as quais, mesmo em fontes distintas, me trouxeram caminhos
idênticos, como exemplo, a configuração do DBLookComboBoxProduto no Object Inspector:

DataSource: DataSourcePedido;
DataField: DESCRICAO;
ListSource: DataSourceProduto;
KeyField: CODPRODUTO;
ListField: DESCRICAO;

Espero que alguém possa me orientar, caso puder, desde já, agradeço. Utilizo o banco de dados Interbase, com manipulação pelo IBExpert. O acesso ao banco se faz pelo
componente SQLConnection, e às tabelas a conexão é feita pelo SimpleDataSet. Abraço.
Jose Rafael

Jose Rafael

Curtidas 0
POSTAR