Fórum Delphi com Access dando EOLEException #394966
02/02/2011
0
Tenho o seguinte trecho de código:
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?
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
Curtir tópico
+ 0
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
Clique aqui para fazer login e interagir na Comunidade :)