Fórum Range Check Error Relatório #509608
05/02/2015
0
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
Curtir tópico
+ 0Posts
09/02/2015
Lindolfo Junior
Pessoal, continuo com o problema e não consigo descobrir, se alguém puder ajudar é URGENTE!!!!
vlw!!!
Gostei + 0
09/02/2015
Cauê Nishijima
for Cont := 0 to QFN001Data.RecordCount do
Eu acho que deveria ser :
for Cont := 0 to QFN001Data.RecordCount - 1 do
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)