Olá amigos

Estou com um sério problema na minha aplicação delphi 7 + mysql + ADO.
Estava funcionando tudo perfeitinho numa rotina de registro de entrada a
anos, após uma alteração solicitada pelo meu usuário, eu coloquei apenas uma
mensagem de confirmação e
após a confirmação o mesmo mudou o estado de dsInset para dsInactive.
Estou tentando encontrar o problema e não consigo será que alguém já passou
por isso ?

Segue abaixo um trecho do código que parou de funcionar logo após a mensagem
de confirmação.

*procedure TFormEntradas.GravarEntradaContribuicao(vContaContabil : String);
begin
 try
  //Iniciar a inserção de dados na tabela de contribuição
  if (DBLookupFormaPagto.KeyValue = Null) or (DBLookupFormaPagto.KeyValue =
0) Then
  begin
   DBLookupFormaPagto.SetFocus;
   Application.MessageBox('O campo Forma de Pagamento é de preenchimento
OBRIGATÓRIO.','Aviso do Sistema',MB_OK + MB_ICONWARNING);
   Exit;
  end;

  vVlrEntrada := StrToFloat(BuscaTroca(dbevlrEntrada.Text,'.',''));
  if (Trim(dbevlrEntrada.Text) = '') or (vVlrEntrada = 0) Then
dbevlrEntrada.SelectAll;
//Até aqui o DataSet está com Inserção
  if (Application.MessageBox(Pchar('Confirma a CONTRIBUIÇÃO no valor de R$
'+FormatFloat('#,##0.00', vVlrEntrada)+' ?'), 'Entrada de Contribuição',
MB_ICONQUESTION + MB_YESNO) = IDYES) then
  begin
//Após a confirmação do valor o mesmo muda para dsInactive e não entra na
rotina abaixo
//Gostaria de entender o motivo dessa mudança..
    Screen.Cursor := crSQLWait;
//Aqui
    if (dtsEntradas.DataSet.State in [dsInsert, dsEdit])
and
       (dtsContaContabil.DataSet.FieldByName('cta_contabilred').Value <> 0)
and
       (dtsFormaPgto.DataSet.FieldByName('cod_formapgto').Value <> 0)
Then
    begin
     vVlrEntrada := StrToFloat(BuscaTroca(dbevlrEntrada.Text,'.',''));
     vDtaEntrada := FormatDateTime('yyyy/mm/dd',Now);
     vHraEntrada := FormatDateTime('HH:mm',Now);
     btnImprimir.Enabled := True;
*

Obrigado,

Jorge Ericsson
Brasília - DF


[As partes desta mensagem que não continham texto foram removidas]

Responder a