Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

HelioCesar

MasterSource e MasterFields

Recommended Posts

Ola a todos estou fazendo um cadastro de vendas uso os componentes SQLDataSet, DataSetProvider, ClientDataSet, DataSource, quando gera o número do pedido gera automantico usando no banco de dados o Generators até ai tudo bem ele gera o número do pedido e grava no banco de dados tudo normal, quando vou digitar os produtospara esse cadastro não estou sabendo trazer o número do pedido para jogar na tabela dos produtos ex.:

Pedido:

01 - Cliente Avelar

Produtos:

N. Pedido---Código produto---descrição-----R$ Unit.

------01---------------10------------------avei------------15,00

------01---------------11------------------leite------------1,85

------01---------------05------------------biscoito-------3,20

 

como devo colocar esse número do pedido em cada produto que vai para dbgrid, e depois salvo na tabela produtos, salvar na tabela produto esta tudo beleza o problema mesmo é pegar o número do pedido.

 

Alguem pode me ajudar nesse problema??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Colega pesquise sobre relacionamento Mestre/Detalhe, não sou muito fã mas os componentes da paleta DBExpress fornecem uma facilidade com esse tipo de relacionamento, usando 2 SQLQuery e apenas 1 DataSetProvider.

 

você configura 1 SQLQuery Pedidos, monta um select da sua tabela Pedidos normal.

 

No outro SQLQuery Produtos você mota um select passando como parâmetro o campo que faz referência a tabela Pedidos mas tem que ser o mesmo nome do Campo.

 

Após isso, você clica com o botão direito no SQLQueryProdutos e manda atualizar o FieldEditor, se tudo ocorreu bem é para aparecer um campo do tipo DataSet referenciando a tabela de produtos.

 

Ficou meio confuso, mas qualquer dúvida posta aí ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente wllf ficou um pouco confuso, mais eu não tentei ainda, deixa eu ser um pouco mais claro.

O meu programa de cadastro de pedido esta funcionando corretamente, eu fazia com que o programa gerasse o número do pedido quando eu clico se em NOVO ai ele gerava um novo número de pedido através deste comando:

procedure Tfrmpedido.btnovoClick(Sender: TObject);
var cod :Integer;
begin
   dmVendas.cdspedido.Open;
   dmVendas.cdspedido.Last;
   cod:=dmVendas.cdspedido.fieldbyname('PED_CODIGO').AsInteger+1;
   dmVendas.cdspedido.Append;
   dmVendas.cdspedido.FieldByName('PED_CODIGO').AsInteger :=cod;
   codigo_ped.Text := dmVendas.cdspedidoPED_CODIGO.AsString;
end;

ai quando ele salva o cabeçalho do pedido ele tem um número de pedido no campo codigo_ped.Text que é um edit, ai quando eu digito os produtos para esse cliente ele busca o código do pedido do campo codigo_ped.Text, e joga na tabela item_pedido no campo ITEMPED_CODPEDIDO.

 

Só que mudei o modo de gerar o número do pedido agora esta gerando automático através do generators quando mando salvar ele gera automático, só que não estou conseguindo trazer esse número gerado automático para esse campo codigo_ped.Text, ou em outro campo que possa ser criado, ai ele esta dando esse erro porque para ele não existe um número de pedido.

buqb4kyeh20t3a2j9.jpg

conseguiu compreender o meu erro?

despois de gerar o número não estu conseguindo trazer o número para jogar na tabela item_pedido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.