Fórum Zeos #371068
06/06/2009
0
procedure TfGeneros.btNovoClick(Sender: TObject);
begin
DM1.Generos.Close;
DM1.Generos.ParamByName(´PCODIGO´).AsInteger := -1 ;
DM1.Generos.Open;
dm1.Generos.Append;
HabilitaForm(True);
dbeNome.SetFocus;
end;
begin
if (DM1.Generos.FieldByName(´NOME´).asstring =´´) Then
Begin
MsgValida(´Informe o nome do Gênero antes de salvar´,dbeNome,nil);
Exit;
End;
DM1.Generos.Post;
DM1.Generos.CommitUpdates;
end;
Alguem pode me ajudar?
Andresan
Curtir tópico
+ 0Posts
10/06/2009
Kuroski
Troque
if (DM1.Generos.FieldByName(´NOME´).asstring =´´) Then
Por
if (DBEdit1.Text =´´) Then
Se não me engano isto ocorre pq os dados só estarão no campo NOME apos vc dar um POST. Antes disto os dados não foram gravados ainda. Por isso use a conferecia no DBEdit mesmo.
Gostei + 0
28/06/2009
Andresan
Gostei + 0
29/06/2009
Danielrsanches
1: é a dica do nosso amigo kuroski; faça a checagem diretamente no dbedit = if (DBEdit1.Text =´´) Then
2: antes de salvar, passe o focus para outro objeto ....
o que percebi que ocorre é o seguinte:
quando vc está digitando em um dbedit, se vc não mudar o foco para outro antes de tentar salvar os dados, os dados digitados ´ainda´ não estão na tabela, ocorrendo assim a falha na checagem ...
faça alguns testes aí e depois post pra gente...
abraços !!
Gostei + 0
29/06/2009
Andresan
Gostei + 0
03/07/2009
Andresan
No botao salvar
ActiveControl := Nil;
Abraços a todos
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)