Sempre desaperece os ultimos registros
Olá pessoal no meu projeto eu criei um botão incluir e salvar com os respectivos codigos:
INCLUIR
procedure TF_contpagar.BitBtn1Click(Sender: TObject);
begin
table1.Append;
dbgrid1.Enabled:=false;
dbnavigator1.Enabled:=false;
bitbtn1.enabled:=false;
bitbtn2.Enabled:=false;
dbedit2.setfocus;
SALVAR
procedure TF_contpagar.BitBtn3Click(Sender: TObject);
begin
if dbedit2.text = ´´ then
begin
Application.messagebox(´O campo não pode ficar em branco!´,´Confirmação´,mb_ok+mb_iconError);
dbedit2.setfocus;
end;
table1.post;
dbgrid1.enabled:=true;
dbnavigator1.Enabled:=true;
bitbtn1.enabled:=true;
bitbtn2.Enabled:=true;
dbedit2.setfocus;
O que acontece e que muitas vezes quando saio do sistema e volto depois os ultimos dados que eu digitei ´SUMIIIIIIU´
O que esta errado? :cry:
Obrigado
INCLUIR
procedure TF_contpagar.BitBtn1Click(Sender: TObject);
begin
table1.Append;
dbgrid1.Enabled:=false;
dbnavigator1.Enabled:=false;
bitbtn1.enabled:=false;
bitbtn2.Enabled:=false;
dbedit2.setfocus;
SALVAR
procedure TF_contpagar.BitBtn3Click(Sender: TObject);
begin
if dbedit2.text = ´´ then
begin
Application.messagebox(´O campo não pode ficar em branco!´,´Confirmação´,mb_ok+mb_iconError);
dbedit2.setfocus;
end;
table1.post;
dbgrid1.enabled:=true;
dbnavigator1.Enabled:=true;
bitbtn1.enabled:=true;
bitbtn2.Enabled:=true;
dbedit2.setfocus;
O que acontece e que muitas vezes quando saio do sistema e volto depois os ultimos dados que eu digitei ´SUMIIIIIIU´
O que esta errado? :cry:
Obrigado
Wagner
Curtidas 0
Respostas
Edilcimar
15/02/2004
if dbedit2.text = ´´ then
begin
Application.messagebox(´O campo não pode ficar em branco!´,´Confirmação´,mb_ok+mb_iconError);
dbedit2.setfocus;
end
else
table1.post;
dbgrid1.enabled:=true;
dbnavigator1.Enabled:=true;
bitbtn1.enabled:=true;
bitbtn2.Enabled:=true;
dbedit2.setfocus;
se não houver o else ele vai dar um post o tempo todo, mesmo quando o dbedit2 contiver um nulo
begin
Application.messagebox(´O campo não pode ficar em branco!´,´Confirmação´,mb_ok+mb_iconError);
dbedit2.setfocus;
end
else
table1.post;
dbgrid1.enabled:=true;
dbnavigator1.Enabled:=true;
bitbtn1.enabled:=true;
bitbtn2.Enabled:=true;
dbedit2.setfocus;
se não houver o else ele vai dar um post o tempo todo, mesmo quando o dbedit2 contiver um nulo
GOSTEI 0
Fórum Vini
15/02/2004
Olá pessoal no meu projeto eu criei um botão incluir e salvar com os respectivos codigos:
INCLUIR
procedure TF_contpagar.BitBtn1Click(Sender: TObject);
begin
table1.Append;
dbgrid1.Enabled:=false;
dbnavigator1.Enabled:=false;
bitbtn1.enabled:=false;
bitbtn2.Enabled:=false;
dbedit2.setfocus;
SALVAR
procedure TF_contpagar.BitBtn3Click(Sender: TObject);
begin
if dbedit2.text = ´´ then
begin
Application.messagebox(´O campo não pode ficar em branco!´,´Confirmação´,mb_ok+mb_iconError);
dbedit2.setfocus;
end;
table1.post;
dbgrid1.enabled:=true;
dbnavigator1.Enabled:=true;
bitbtn1.enabled:=true;
bitbtn2.Enabled:=true;
dbedit2.setfocus;
O que acontece e que muitas vezes quando saio do sistema e volto depois os ultimos dados que eu digitei ´SUMIIIIIIU´
O que esta errado? :cry:
Obrigado
Tente fazer assim:
SALVAR procedure TF_contpagar.BitBtn3Click(Sender: TObject); begin if dbedit2.text = ´´ then begin Application.messagebox(´O campo não pode ficar em branco!´,´Confirmação´,mb_ok+mb_iconError); dbedit2.setfocus; Exit; //Sai da procedure end; table1.post; dbgrid1.enabled:=true; dbnavigator1.Enabled:=true; bitbtn1.enabled:=true; bitbtn2.Enabled:=true; dbedit2.setfocus;
Espero ter ajudado.
Vinicius.
GOSTEI 0
Fórum Vini
15/02/2004
if dbedit2.text = ´´ then
begin
Application.messagebox(´O campo não pode ficar em branco!´,´Confirmação´,mb_ok+mb_iconError);
dbedit2.setfocus;
end
else
table1.post;
dbgrid1.enabled:=true;
dbnavigator1.Enabled:=true;
bitbtn1.enabled:=true;
bitbtn2.Enabled:=true;
dbedit2.setfocus;
se não houver o else ele vai dar um post o tempo todo, mesmo quando o dbedit2 contiver um nulo
Desculpe, não tinha visto o seu post, :oops: mas as duas soluções funcionam.Obs.: Faltou um begin no else:
... Application.messagebox(´O campo não pode ficar em branco!´,´Confirmação´,mb_ok+mb_iconError); dbedit2.setfocus; end else begin table1.post; dbgrid1.enabled:=true; dbnavigator1.Enabled:=true; bitbtn1.enabled:=true; bitbtn2.Enabled:=true; dbedit2.setfocus; end;
GOSTEI 0
Edilcimar
15/02/2004
se colocar um begin após o post ele só vai habilitar os componentes quando for falso
GOSTEI 0
Wagner
15/02/2004
:lol: Ih ai! vai um begin ou não? Gostaria da maneira mais segura possivel para não perder meus dados
GOSTEI 0
Edilcimar
15/02/2004
se vc desabilitou os componentes, depois tem que habilitá-los novamente sem importar se a condição é falsa ou verdadeira, portanto se vc colocar o begin vc só voltará a habilitar os componentes quando a condição for verdadeira impedindo que o usuário utilize-o novamente quando a condição for falsa, portanto deixe do jeito que escrevi
GOSTEI 0
Fórum Vini
15/02/2004
se colocar um begin após o post ele só vai habilitar os componentes quando for falso
Então, se o usuário digitar nulo, ele mostra a mensagem e seta o foco, senão ele salva a edição e abilita os componentes.Vinicius.
GOSTEI 0
Fórum Vini
15/02/2004
se vc desabilitou os componentes, depois tem que habilitá-los novamente sem importar se a condição é falsa ou verdadeira, portanto se vc colocar o begin vc só voltará a habilitar os componentes quando a condição for verdadeira impedindo que o usuário utilize-o novamente quando a condição for falsa, portanto deixe do jeito que escrevi
Mas o dbnavigator deve ser disabilitado, já que o usuário está editando o registro, já os outros componentes eu não sei do que se tratam...GOSTEI 0
Edilcimar
15/02/2004
porém caso ele desista do append não conseguirá utilizar o navegador
GOSTEI 0
Fórum Vini
15/02/2004
porém caso ele desista do append não conseguirá utilizar o navegador
Tá certo, põe sem o begin mesmo! :oops:GOSTEI 0
Wagner
15/02/2004
:D Vixi! Agora tô sem saber se o resto dos botões esta correto
Eu tenho um botão CANCEL
procedure TF_Form1.BitBtn5Click(Sender: TObject);
begin
table1.cancel;
dbgrid1.enabled:=true;
dbnavigator1.enabled:=true;
bitbtn1.Enabled:=true;
bitbtn2.Enabled:=true;
bitbtn3.enabled:=true;
dbedit1.setfocus;
end;
Eu tenho um botão CANCEL
procedure TF_Form1.BitBtn5Click(Sender: TObject);
begin
table1.cancel;
dbgrid1.enabled:=true;
dbnavigator1.enabled:=true;
bitbtn1.Enabled:=true;
bitbtn2.Enabled:=true;
bitbtn3.enabled:=true;
dbedit1.setfocus;
end;
GOSTEI 0
Edilcimar
15/02/2004
tá, mas vc deveria limpar os campos do dbedit´s
GOSTEI 0
Wagner
15/02/2004
Valeu, mais como eu faço isso? pode me passar o codigo :lol:
GOSTEI 0
Edilcimar
15/02/2004
dbeditX.text := ´´;
GOSTEI 0
Wagner
15/02/2004
Desculpe-me
Mais qual evento?
Devo colocar esse codigo em cada dbedit do meu form?
Mais qual evento?
Devo colocar esse codigo em cada dbedit do meu form?
GOSTEI 0