Valeu Adriano Santos pelo código exemplo, suas dicas são valiosas.
Mais uma dúvida!! Amigos Estou precisando testar alguns campos, então declarei as procedure: procedure Alteracao1; procedure Alteracao2; E tenho o meu código: procedure TfrmAlteracao.Alteracao1; begin //1º teste if DBEditInicialAlteracao1.Text = DBEditInicioEfetivada.Text then begin if Application.MessageBox('A Data Inicial Efetivada está igual a anterior, Deseja Alterar?','Confirme',MB_YESNO+ MB_ICONQUESTION)= MRYES then begin DBEditInicialAlteracao1.SetFocus; Exit; end; end end; procedure TfrmAlteracao.Alteracao2; begin //2º teste if DBEditFinalAlteracao1.Text = DBEditFinalEfetivada.Text then begin if Application.MessageBox('A Data Final Efetivada está igual a anterior, Deseja Alterar?','Confirme',MB_YESNO+ MB_ICONQUESTION)= MRYES then begin DBEditFinalAlteracao1.SetFocus; Exit; end; end end; O problema e que precisava fazer os dois testes dentro de uma só procedure pois da forma que está o sistema não da tempo para alteração e já vai testando o outro campo na seqüência., o correto seria jogar o foco no campo e parar caso a alternativa seja sim, se a alternativa for não, então ele testa o outro campo seguindo a mesma seqüência. Alguém poderia dizer o que está errado ou faltando neste código? Agradeço..