lucioalves Postado Janeiro 24, 2010 Denunciar Share Postado Janeiro 24, 2010 estou aprendendo delphi e fiz um programa de controle de estoque mas quando clico no botão para gravar da a mensagem 'Dataset not in edit or insert mod' estou enviando o codigo que estou usando, por favor me ajude.procedure TfrmPedidos.SpeedButton1Click(Sender: TObject);beginmodestoque.tbDetPed.Edit;modestoque.tbDetPed.First;while not modestoque.tbDetPed.Eof dobeginmodestoque.tbProduto.Locate('CodPro',modestoque.tbDetPedCodPro.Value,[]);if modestoque.tbDetPedBaixa.Value<> true thenbeginmodestoque.tbProduto.Edit;modestoque.tbProdutoQuantEst.Value:=modestoque.tbProdutoQuantEst.Value -modestoque.tbDetPedQuantidade.Value;modestoque.tbProduto.Post;modestoque.tbDetPed.Edit;modestoque.tbDetPedBaixa.Value:=True;modestoque.tbDetPed.Post;end;modestoque.tbDetPed.Post; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Janeiro 24, 2010 Denunciar Share Postado Janeiro 24, 2010 quando clico no botão para gravar da a mensagem 'Dataset not in edit or insert mod'Correção do Códigoprocedure TfrmPedidos.SpeedButton1Click(Sender: TObject); begin modestoque.tbDetPed.First; while not modestoque.tbDetPed.Eof do begin if modestoque.tbProduto.Locate('CodPro',modestoque.tbDetPedCodPro.Value,[]) then begin if modestoque.tbDetPedBaixa.Value<> true then begin modestoque.tbProduto.Edit; modestoque.tbProdutoQuantEst.Value:=modestoque.tbProdutoQuantEst.Value - modestoque.tbDetPedQuantidade.Value; modestoque.tbProduto.Post; modestoque.tbDetPed.Edit; modestoque.tbDetPedBaixa.Value:=True; modestoque.tbDetPed.Post; end; end else begin showmessage('Registro não encontrado !'); exit; end; end; end;abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lucioalves Postado Janeiro 26, 2010 Autor Denunciar Share Postado Janeiro 26, 2010 desde já agradeço ,coloquei o codigo fonte mas o programa esta travando na hora que clico no botão Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Janeiro 26, 2010 Denunciar Share Postado Janeiro 26, 2010 desde já agradeço ,coloquei o codigo fonte mas o programa esta travando na hora que clico no botãoObserve o código .... voce esta fazendo um while nos registros de modestoque.tbDetPed mas faltou um next para fazer rolar o proximo registro da tabelaprocedure TfrmPedidos.SpeedButton1Click(Sender: TObject); begin modestoque.tbDetPed.First; while not modestoque.tbDetPed.Eof do begin modestoque.tbProduto.first; // mandar para o primeiro registro sempre que fizer um locate if modestoque.tbProduto.Locate('CodPro',modestoque.tbDetPedCodPro.Value,[]) then begin if modestoque.tbDetPedBaixa.Value<> true then begin modestoque.tbProduto.Edit; modestoque.tbProdutoQuantEst.Value:=modestoque.tbProdutoQuantEst.Value - modestoque.tbDetPedQuantidade.Value; modestoque.tbProduto.Post; modestoque.tbDetPed.Edit; modestoque.tbDetPedBaixa.Value:=True; modestoque.tbDetPed.Post; end; modestoque.tbDetPed.next; /// faltou este comando end else begin showmessage('Registro não encontrado !'); exit; end; end; end;OBS: se ainda estiver travando, use o debugger do dephi (usando o break point ) para saber onde está o problemaabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lucioalves Postado Janeiro 27, 2010 Autor Denunciar Share Postado Janeiro 27, 2010 Obrigado valeu mesmo ,deu certo ,agora esta rodando legal. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
lucioalves
estou aprendendo delphi e fiz um programa de controle de estoque mas quando clico no botão para gravar da a mensagem 'Dataset not in edit or insert mod' estou enviando o codigo que estou usando, por favor me ajude.
procedure TfrmPedidos.SpeedButton1Click(Sender: TObject);
begin
modestoque.tbDetPed.Edit;
modestoque.tbDetPed.First;
while not modestoque.tbDetPed.Eof do
begin
modestoque.tbProduto.Locate('CodPro',modestoque.tbDetPedCodPro.Value,[]);
if modestoque.tbDetPedBaixa.Value<> true then
begin
modestoque.tbProduto.Edit;
modestoque.tbProdutoQuantEst.Value:=modestoque.tbProdutoQuantEst.Value -
modestoque.tbDetPedQuantidade.Value;
modestoque.tbProduto.Post;
modestoque.tbDetPed.Edit;
modestoque.tbDetPedBaixa.Value:=True;
modestoque.tbDetPed.Post;
end;
modestoque.tbDetPed.Post;
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
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.