Fórum Validar dado no DBGrid antes de inserir no registro #369627
06/04/2009
0
O que eu quero é usar algo do tipo:
if (DataInserida > Now) then ShowMessage (´Data Inválida´);
Esta data é inserida em um célula do DBGrid. Estou usando ADO.
Tatuweb
Curtir tópico
+ 0Posts
06/04/2009
Steve_narancic
Gostei + 0
06/04/2009
Tatuweb
procedure TFrmMain.ADOTableBeforePost(DataSet: TDataSet); begin if DataSet.FieldByName(´DataEmissao´).AsDateTime > Now then ShowMessage (´A data da emissão não pode ser maior do que a data atual.´); end;
Aparece a mensagem como eu quero mas só que a operação é realizada mesmo assim e eu queria que caso data informada fosse inválida o programa não permitisse a inserção deste dado e voltasse o foco para a célula onde a data foi digitada.
Gostei + 0
06/04/2009
Tatuweb
Gostei + 0
06/04/2009
Tatuweb
Gostei + 0
06/04/2009
Lehapan
coloque este código no evento OnBeforePost.
if DateOf(DataSet.FieldByName(´DataEmissao´).AsDateTime) > DateOf(Now) then
begin
FieldByName(´DataEmissao´).FocusControl; { Para colocar o foco no campo }
DatabaseError( ´A data da emissão não pode ser maior do que a data atual.´ ); { para dar uma mensagem de erro e não gravar, pois continua com o DataSet.State igual, ou seja, se estiver em dsInsert, continua em dsInsert, caso esteja em dsEdit, continua em dsEdit. }
end
;
espero ter ajudado.
Gostei + 0
06/04/2009
Tatuweb
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)