GARANTIR DESCONTO

Fórum Range Check Error Relatório #509608

05/02/2015

0

Bom dia a todos!!

Tenho um relatório em meu sistema que até a 4 dias atrás funcionou normalmente, agora esta apresentando o erro : Range Check Error, já refiz estrutura da tabela como indicou um colega em um outro post mas não resolveu. Esse meu relatório ele é montado em tempo de execução, segue abaixo o código do mesmo:

  vAno := StrToInt(FFiltroPeriodoMeses.cbAno.Text);
  vMes := StrToInt(FFiltroPeriodoMeses.cbMes.Text);

  // Gerar Cabeçalho de Dias Encontrados  e Montar SQL para Consulta
  tmpSQL := 'Select GE004.e04_nomeconv as Convenio, ';
  QFN001Data.First;
  vLeft := 190;
  for Cont := 0 to QFN001Data.RecordCount do
    begin
      tmpDia[Cont] := TQRLabel.Create(nil);
      tmpDia[Cont].Alignment := taRightJustify;
      tmpDia[Cont].ParentReport := QuickRep2;
      tmpDia[Cont].Parent := QRBand5;
      tmpDia[Cont].Name := 'Dia'+InttoStr(Cont);
      tmpDia[Cont].Left := vLeft;
      tmpDia[Cont].Top := 65;
      tmpDia[Cont].Width := 18;
      tmpDia[Cont].Height := 17;

      tmpShape[Cont] := TQRShape.Create(nil);
      tmpShape[Cont].ParentReport := QuickRep2;
      tmpShape[Cont].Parent := QRBand5;
      tmpShape[Cont].Name := 'Shape'+IntToStr(Cont);
      tmpShape[Cont].Shape := qrsHorLine;
      tmpShape[Cont].Height := 3;
      tmpShape[Cont].Top := tmpDia[Cont].Top + 15;

      if Cont < QFN001Data.RecordCount then
        begin
          tmpDia[Cont].Caption := QFN001DataDIA.AsString;
          tmpShape[Cont].Width := 22;
          tmpShape[Cont].Left := tmpDia[Cont].Left-5;
          tmpSQL := tmpSQL + '(Select Count(*) FROM fn001 where GE004.E04_CodConv = FN001.F01_CodConv and fn001.f01_codmed='+QuotedStr(DMGeral.GetDoctor(varUsuario,''))+' and EXTRACT(year FROM fn001.f01_dtdocum) = ' + IntToStr(vAno);
          tmpSQL := tmpSQL + ' AND EXTRACT(MONTH FROM fn001.f01_dtdocum) = '+ IntToStr(vMes) +' AND fn001.f01_codemp = '+QuotedStr(Inttostr(varEmpresa))+' AND EXTRACT(day FROM fn001.f01_dtdocum) = '+ QFN001DataDIA.AsString +') AS Dia'+ QFN001DataDIA.AsString +',';
          QFN001Data.Next;
        end
      else
        begin
          tmpDia[Cont].Caption := 'Total';
          tmpDia[Cont].Left := tmpDia[Cont-1].Left + 25;  --> O ERRO APARECE SEMPRE NESSA LINHA!!!!!
          tmpDia[Cont].Font.Style := [fsBold];
          tmpShape[Cont].Width := 35;
          tmpShape[Cont].Left := tmpDia[Cont].Left-2;
        end;

      vLeft := vLeft+25;
    end;

   tmpSQL := Copy(tmpSQL,1,Length(tmpSQL)-1)+ ' from ge004 where GE004.e04_codconv in (select fn001.f01_codconv from fn001 where fn001.f01_CodMed = '+QuotedStr(DMGeral.GetDoctor(varUsuario,''))+')';

   QRelFN001.Close;
   QRelFN001.SQL.Text := tmpSQL;
   QRelFN001.Fields.Clear;
   QRelFN001.Open;


Se alguém puder me dar uma ajuda eu agradeço muito

Junior
Lindolfo Junior

Lindolfo Junior

Responder

Posts

09/02/2015

Lindolfo Junior

Bom dia!!

Pessoal, continuo com o problema e não consigo descobrir, se alguém puder ajudar é URGENTE!!!!

vlw!!!
Responder

Gostei + 0

09/02/2015

Cauê Nishijima

Eu não sei quais componentes você esta usando, e só dei uma olhada rápida pelo código, mas aparentemente o erro esta em :

for Cont := 0 to QFN001Data.RecordCount do


Eu acho que deveria ser :

for Cont := 0 to QFN001Data.RecordCount - 1 do
Responder

Gostei + 0

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

Aceitar