Fórum Problema editar tabela #470402
18/02/2014
0
Boa tarde pessoal,
Estou com um problema no meu código. Ao editar uma tabela o delphi apresenta o seguinte erro: "BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual."
Segue o codigo da unit.:
---------
unit caixa_datapagamento;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, db;
type
Tfdatapagamento = class(TForm)
mkdata: TMaskEdit;
btok: TButton;
btcancelar: TButton;
Label1: TLabel;
procedure btokClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fdatapagamento: Tfdatapagamento;
implementation
uses bancoconta, lancamentos;
{$R *.dfm}
procedure Tfdatapagamento.btokClick(Sender: TObject);
begin
dm.data := strtodate (mkdata.Text);
dm.vvalor:=dm.tbcredito.fieldbyname('valor').AsExtended;
dm.vsaldo:=dm.tbconta.Fieldbyname('valor').Asextended;
dm.vvalortotal:=dm.vsaldo+dm.vvalor;
dm.tbconta.edit;
dm.tbconta.FieldByName('valor').Asextended:=dm.vvalortotal;
dm.tbconta.Post;
dm.tbcredito.edit;
dm.tbcreditostatus.text:='ok';
dm.tbcredito.FieldByName('data').Asdatetime:=dm.data;
dm.tbcredito.post;
dm.vvalortotal := 0;
dm.vsaldo:= 0;
dm.vvalor := 0;
dm.data := 00-00-0000;
fdatapagamento.Close;
dm.tbcredito.Filtered:=true;
dm.tbcredito.Filter:='status='+quotedstr('na');
flancamentos:=tflancamentos.create(self);
end;
Executando essa unit linha a linha, o erro apresenta depois da linha: dm.tbcredito.post; .
Desde ja agradeço.
Estou com um problema no meu código. Ao editar uma tabela o delphi apresenta o seguinte erro: "BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual."
Segue o codigo da unit.:
---------
unit caixa_datapagamento;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, db;
type
Tfdatapagamento = class(TForm)
mkdata: TMaskEdit;
btok: TButton;
btcancelar: TButton;
Label1: TLabel;
procedure btokClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fdatapagamento: Tfdatapagamento;
implementation
uses bancoconta, lancamentos;
{$R *.dfm}
procedure Tfdatapagamento.btokClick(Sender: TObject);
begin
dm.data := strtodate (mkdata.Text);
dm.vvalor:=dm.tbcredito.fieldbyname('valor').AsExtended;
dm.vsaldo:=dm.tbconta.Fieldbyname('valor').Asextended;
dm.vvalortotal:=dm.vsaldo+dm.vvalor;
dm.tbconta.edit;
dm.tbconta.FieldByName('valor').Asextended:=dm.vvalortotal;
dm.tbconta.Post;
dm.tbcredito.edit;
dm.tbcreditostatus.text:='ok';
dm.tbcredito.FieldByName('data').Asdatetime:=dm.data;
dm.tbcredito.post;
dm.vvalortotal := 0;
dm.vsaldo:= 0;
dm.vvalor := 0;
dm.data := 00-00-0000;
fdatapagamento.Close;
dm.tbcredito.Filtered:=true;
dm.tbcredito.Filter:='status='+quotedstr('na');
flancamentos:=tflancamentos.create(self);
end;
Executando essa unit linha a linha, o erro apresenta depois da linha: dm.tbcredito.post; .
Desde ja agradeço.
Italo Schramm
Curtir tópico
+ 0
Responder
Posts
27/02/2014
Maxiwel Rodrigues
procedure Tfdatapagamento.btokClick(Sender: TObject);
begin
dm.data := strtodate (mkdata.Text);
dm.vvalor:=dm.tbcredito.fieldbyname('valor').AsExtended;
dm.vsaldo:=dm.tbconta.Fieldbyname('valor').Asextended;
dm.vvalortotal:=dm.vsaldo+dm.vvalor;
dm.tbconta.edit;
dm.tbconta.FieldByName('valor').Asextended:=dm.vvalortotal;
dm.tbconta.Post;
dm.tbcredito.edit;
dm.tbcreditostatus.text:='ok';
dm.tbcredito.FieldByName('data').Asdatetime:=dm.data;
dm.tbcredito.post;
************************************************
fdatapagamento.open;
fdatapagamento.edit;//precisa abrir a tabela depois de salvar;
************************************************
dm.vvalortotal := 0;
dm.vsaldo:= 0;
dm.vvalor := 0;
dm.data := 00-00-0000;
fdatapagamento.Close;
dm.tbcredito.Filtered:=true;
dm.tbcredito.Filter:='status='+quotedstr('na');
flancamentos:=tflancamentos.create(self);
end;
Veja se da certo.......qual o erro que da mesmo????????????
begin
dm.data := strtodate (mkdata.Text);
dm.vvalor:=dm.tbcredito.fieldbyname('valor').AsExtended;
dm.vsaldo:=dm.tbconta.Fieldbyname('valor').Asextended;
dm.vvalortotal:=dm.vsaldo+dm.vvalor;
dm.tbconta.edit;
dm.tbconta.FieldByName('valor').Asextended:=dm.vvalortotal;
dm.tbconta.Post;
dm.tbcredito.edit;
dm.tbcreditostatus.text:='ok';
dm.tbcredito.FieldByName('data').Asdatetime:=dm.data;
dm.tbcredito.post;
************************************************
fdatapagamento.open;
fdatapagamento.edit;//precisa abrir a tabela depois de salvar;
************************************************
dm.vvalortotal := 0;
dm.vsaldo:= 0;
dm.vvalor := 0;
dm.data := 00-00-0000;
fdatapagamento.Close;
dm.tbcredito.Filtered:=true;
dm.tbcredito.Filter:='status='+quotedstr('na');
flancamentos:=tflancamentos.create(self);
end;
Veja se da certo.......qual o erro que da mesmo????????????
Responder
Gostei + 0
27/02/2014
Italo Schramm
Maxiwel,
Muito Obrigado pela resposta. Consegui resolver o probelama desativando o Filtro antes da pesquisa e ativando depois do post.
Muito Obrigado pela resposta. Consegui resolver o probelama desativando o Filtro antes da pesquisa e ativando depois do post.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)