Fórum Delphi com Access dando EOLEException #394966

02/02/2011

0

Tenho o seguinte trecho de código:
procedure TfrmImportaInfoCordilheira.Importar;begin  dtmCordilheira.cnnCordilheira.Close;  dtmCordilheira.cnnCordilheira.ConnectionString := Format(sAccessConnectionString, [dtmRH.qryCordilheiraArquivo.AsString, dtmRH.qryCordilheiraSenha.AsString]);  dtmCordilheira.cnnCordilheira.Open;
  memEventos.DisableControls;  try    memEventos.First;    cxProgressBar.Properties.Max := memEventos.RecordCount;    cxProgressBar.Properties.Min := 0;    cxProgressBar.Position := 0;    cxProgressBar.Visible := True;
    try
    while not memEventos.Eof do    begin      //Ajusta a conexão      //dtmCordilheira.cnnCordilheira.Open;      try        dtmCordilheira.qryMovEventoSel.Parameters.ParamByName('Cd_Empresa').Value := EmpresaID;        dtmCordilheira.qryMovEventoSel.Parameters.ParamByName('Mes').Value := cbxMes.ItemIndex + 1;        dtmCordilheira.qryMovEventoSel.Parameters.ParamByName('Ano').Value := spnAno.Value;        dtmCordilheira.qryMovEventoSel.Parameters.ParamByName('Cd_Funcionario').Value := memEventosMatricula.AsInteger;        dtmCordilheira.qryMovEventoSel.Parameters.ParamByName('Cd_Evento').Value := memEventosEvento.AsInteger;        dtmCordilheira.qryMovEventoSel.Open;        try          if dtmCordilheira.qryMovEventoSel.RecordCount = 0 then          begin            dtmCordilheira.qryMovEventoIns.Parameters.ParamByName('Cd_Empresa').Value := EmpresaID;            dtmCordilheira.qryMovEventoIns.Parameters.ParamByName('Mes').Value := cbxMes.ItemIndex + 1;            dtmCordilheira.qryMovEventoIns.Parameters.ParamByName('Ano').Value := spnAno.Value;            dtmCordilheira.qryMovEventoIns.Parameters.ParamByName('Cd_Funcionario').Value := memEventosMatricula.AsInteger;            dtmCordilheira.qryMovEventoIns.Parameters.ParamByName('Cd_Evento').Value := memEventosEvento.AsInteger;            dtmCordilheira.qryMovEventoIns.Parameters.ParamByName('Referencia').Value := memEventosValor.AsFloat;            dtmCordilheira.qryMovEventoIns.ExecSQL;          end          else          begin            dtmCordilheira.qryMovEventoUpd.Parameters.ParamByName('Cd_Empresa').Value := EmpresaID;            dtmCordilheira.qryMovEventoUpd.Parameters.ParamByName('Mes').Value := cbxMes.ItemIndex + 1;            dtmCordilheira.qryMovEventoUpd.Parameters.ParamByName('Ano').Value := spnAno.Value;            dtmCordilheira.qryMovEventoUpd.Parameters.ParamByName('Cd_Funcionario').Value := memEventosMatricula.AsInteger;            dtmCordilheira.qryMovEventoUpd.Parameters.ParamByName('Cd_Evento').Value := memEventosEvento.AsInteger;            dtmCordilheira.qryMovEventoUpd.Parameters.ParamByName('Referencia').Value := memEventosValor.AsFloat;            dtmCordilheira.qryMovEventoUpd.ExecSQL;          end;         finally           dtmCordilheira.qryMovEventoSel.Close;         end;      finally        //dtmCordilheira.cnnCordilheira.Close;      end;
      cxProgressBar.Position := cxProgressBar.Position + 1;      memEventos.Next;
      Application.ProcessMessages;    end;  finally    memEventos.EnableControls;  end;
  except    on E:EOleException do MessageDlg(E., mtInformation, [mbOK], 0);  end;
  MessageDlg('Importação realizada com sucesso.', mtInformation, [mbOk], 0);  cxProgressBar.Visible := False;end;

Isso é para processar um arquivo e fazer a inclusão de lançamentos em um banco do Access. Ele processa umas 3 linhas do arquivo e depois aparece a mensagem "SOBRECARGA". Alguém já passou por isso? Alguma ideia do que pode ser?
Rogério Jun

Rogério Jun

Responder

Posts

16/05/2013

José

Este tópico esta sendo fechado por inatividade. Se necessário, sinalizar para que seja reaberto ou abrir um novo.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar