If Application.MessageBox

Delphi

03/05/2004

:x ESTOU USANDO O CÓDIGO ABAIXO PARA ATUALIZAR MINHA DE ´TBLCEDENTES´. O PROBLEMA É QUE NESSA PARTE DO CÓDIGO:
´ If Application.MessageBox(´O Limite de Crédito para este Cedente foi Excedido! Deseja continuar?´,
´Pergunta´,MB_YESNO + MB_ICONQUESTION) <> IDNO then ´

A MENSAGEM FICA SE REPETINDO PARA CADA REGISTRO NA TBLSAC_CED!
COMO POSSO FAZER PARA QUE A MENSAGEM APARECA APENAS UMA VEZ, VISTO QUE O CÓDIGO SÓ É EXECUTADO AO SAIR DO CAMPO VENCIMENTO!
OBS: É CLARO, ISSO SÓ ACONTECE QUANDO ESCOLHO A OPÇÃO ´IDYES´



AQUI ESTÁ O CÓDIGO COMPLETO!


procedure TFrmCed_Sac.DBEVencimentoExit(Sender: TObject);
var
LimiteCred, Saldo, CredUsado: Double;
begin
CredUsado := 0;
Saldo := DMFactoring.tblCedenteSALDO.AsFloat;
LimiteCred := DMFactoring.tblCedenteLIMITE_CRED.AsFloat;

DMFactoring.TblSac_Ced.First;

While Not (DMFactoring.TblSac_Ced.Eof) And (DMFactoring.TblSac_CedBAIXADO.AsString = ´N´) Do
Begin
CredUsado:= DMFactoring.TblSac_CedVALOR.Value + CredUsado;
Saldo := LimiteCred - CredUsado;
DMFactoring.TblCedente.Edit;
DMFactoring.tblCedenteCREDITO_EM_USO.Value := CredUsado;
DMFactoring.tblCedenteSALDO.Value := Saldo;
DMFactoring.TblCedente.Post;
DMFactoring.TblCedente.Refresh;

If DMFactoring.tblCedenteCREDITO_EM_USO.AsFloat > DMFactoring.tblCedenteLIMITE_CRED.AsFloat Then
Begin
If Application.MessageBox(´O Limite de Crédito para este Cedente foi Excedido! Deseja continuar?´,
´Pergunta´,MB_YESNO + MB_ICONQUESTION) <> IDNO then
DMFactoring.TblCedente.Edit;
DMFactoring.tblCedenteCREDITO_EM_USO.Value := CredUsado;
DMFactoring.tblCedenteSALDO.Value := Saldo;
DMFactoring.TblCedente.Post;
DMFactoring.TblCedente.Refresh;
DMFactoring.TblSac_Ced.Refresh;
DMFactoring.TblSac_Ced.Next;
End;

End;

If Application.MessageBox(´Deseja incluir um novo registro?´,
´Pergunta´,MB_YESNO + MB_ICONQUESTION) <> IDNO then
Begin
DMFactoring.TblSac_Ced.Insert;
FrmPrincipal.BtnProcurarClick(Sender);
End;

End;


Alexandretavares

Alexandretavares

Curtidas 0

Respostas

Wagnerpb

Wagnerpb

03/05/2004

If Application.MessageBox(´O Limite de Crédito para este Cedente foi Excedido! Deseja continuar?´...

Coloque o IF antes do WHILE... e se o resultado do MessageBox = No then Exit;


GOSTEI 0
POSTAR