Fórum If Application.MessageBox #229562
03/05/2004
0
: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;
´ 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
Curtir tópico
+ 0
Responder
Posts
03/05/2004
Wagnerpb
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;
Coloque o IF antes do WHILE... e se o resultado do MessageBox = No then Exit;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)