Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Como inserir itens numa tabela virtual ou temporaria


claudyo

Pergunta

Seguinte pessoal, tenho um form de registro de pedido com duas grids, uma ligada a tabela produto na outra criei uma tabela temporaria com o clientdataset, agora eu preciso que qd o usuario selecionar um produto na grid(nome, tamanho ou volume, qtd e valor) de produtos e clicar num botao add esse item na outra sendo q a qtd vai ser colocada em um edit e o valor tem q ser multiplicado pela qtd, e só depois q fechar o pedido inserir os itens na tabela itens de pedido.

alguém sabe como fazer isso??? já tentei testando alguns ex q achei mais não funcionou.Se alguém puder me ajudar agradeço

Abraço a todos.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

digamos que a query com o banco de dados tenha nome de qProdutos e o clientdataset seja CDSTemporario

no evento do on button click ficaria..

CDS.DataSet.Insert; //inserir um novo registro...

CDSTemporarioCAMPO1.value:=qProdutosCAMPO1.asstring;

CDSTemporarioCAMPO2.value:=qProdutosCAMPO2.asinteger;

CDSTemporarioVALORTOTAL.value:=StrToFloat(Edit.text)*qProdutosPRECO_UNITARIO.asfloat; //multiplica a quantidade que foi posta no Editbox pelo preço unitario

... (outros campos)

CDS.DataSet.post; //Postar o novo registro

basicamente isso...

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado pela atençao Frega, bom fiz como você me sugeriu, e como não tenho ideia de como é feito fiz exatamente como você posto segue o codigo

procedure TfrmPrincipal.btnAddClick(Sender: TObject);
begin
    dm.cdsTemporario.dataset.insert;
    dm.cdsTemporarioNome.Value:=dm.qryPedidoNome.asString;
    dm.cdsTemporarioTamanho.Value:=dm.qryPedidoTamanho.AsString;
    dm.cdsTemporarioVolume.Value:=dm.qryPedidoVolume.AsString;
    dm.cdsTemporarioQtd.Value:=strToInt(edtQtd.text).AsInteger;
    dm.cdsTemporarioValor.Value:=strToFloat(edtQtd.text)*dm.qryPedidoValor.AsFloat;
    dm.cdsTemporarioDataser.Post;
end;

Me retorna alguns erros o primeiro é identificadir não declarado "dataset, qrypedidoNome(obs:já testei algumas mudanças aki tipo qry.fieldbyname, e não deu certo). o que eu tenho q muda???

Continuo contando com sua ajuda

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

opa desculpe tive um engano quanto ao dataset...

para incluir um novo registro é só (sem o .dataset)

CDSTemporario.Insert; //para inserir novo registro...

CDSTemporarioITENS.value:=edit.text; //para "escrever" nas colunas

CDSTemporario.Post; //para gravar o novo registro

Editado por Frega
Link para o comentário
Compartilhar em outros sites

  • 0

cara vlw d++ fiz as mudanças aki e ta funcionando perfeito o codigo fico assim

procedure TfrmPrincipal.btnAddClick(Sender: TObject);
begin
    dm.cdsTemporario.insert;
    dm.cdsTemporarioNome.Value:=dm.qryPedido.fieldbyName('nome').asString;
    dm.cdsTemporarioTamanho.Value:=dm.qryPedido.fieldByname('tamanho').AsString;
    dm.cdsTemporarioVolume.Value:=dm.qryPedido.fieldByname('Volume').AsString;
    dm.cdsTemporarioQtd.Value:=strtofloat(edtQtde.Text);
    dm.cdsTemporarioValor.Value:=strTofloat(edtQtde.Text)*dm.qryPedido.fieldByname('Valor').AsFloat;
    dm.cdsTemporario.Post;

end;

Obrigado pela ajuda

Abraços

não sei como colocar resolvido, mais alguém deve coloca.....

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...