While complexo pra mim!!(Urgente colegas!)
Bom dia colegas!
Tenho uma rotina para gerar um [color=green:a04c7f5c47][b:a04c7f5c47]Relatorio de Clientes Inativos.[/b:a04c7f5c47][/color:a04c7f5c47]
Onde a listagem tem como parametros:
O meu problema esta nos parametros do representante, pois,
a rotina abaixo nao obedece corretamente (penso que seje a logica).
Se eu passo os parametros como descrito acima, ele me retorna os dados
corretamente, mas, se eu passar apenas um representante (ex. 402) ele
nao me retorna nenhum.
com os parametros acima ele me retorna 14 lançamentos para o representante 402.
Alguem pode me dar uma ideia do que esta ocorrendo?
Rotina
[color=green:a04c7f5c47]
Tenho uma rotina para gerar um [color=green:a04c7f5c47][b:a04c7f5c47]Relatorio de Clientes Inativos.[/b:a04c7f5c47][/color:a04c7f5c47]
Onde a listagem tem como parametros:
Ex:
Cliente Inicial : 00001
Cliente Final : 00200
[b:a04c7f5c47][color=red:a04c7f5c47]Representante Inicial : 001
Representante Final : 800[/color:a04c7f5c47][/b:a04c7f5c47]
Produto Inicial : 0010010001
Produto Final l : 0010011111
Número de Dias Inativos > que : 010
Maior Numero de Dias em Atraso : 120
O meu problema esta nos parametros do representante, pois,
a rotina abaixo nao obedece corretamente (penso que seje a logica).
Se eu passo os parametros como descrito acima, ele me retorna os dados
corretamente, mas, se eu passar apenas um representante (ex. 402) ele
nao me retorna nenhum.
com os parametros acima ele me retorna 14 lançamentos para o representante 402.
Alguem pode me dar uma ideia do que esta ocorrendo?
Rotina
[color=green:a04c7f5c47]
iCounter := 1;
iTotRec := Dm.TarqClie.RecordCount;
Dm.TArqClie.IndexName := ´ICODV1C´;
Dm.TArqClie.First;
Dm.TArqclie.SetKey;
Dm.TArqclie.FieldByName( ´V0´ ).AsSTring := sEmpresa;
Dm.TArqclie.FieldByName( ´V1´ ).AsString := mdtCliIni.text;
Dm.TArqclie.GotoNearest;
While ( Dm.TArqclie.FieldByName( ´V0´ ).AsSTring = sEmpresa ) and
( not Dm.TArqclie.eof ) do
Begin
FrmPrincip.IndiCator( iTotRec, icounter );
Inc( iCounter );
If ( Dm.TArqclie.FieldByName( ´V0´ ).AsString +
Dm.TArqclie.FieldByName( ´V1´ ).AsString > sEmpresa+mdtCliFim.text ) then
begin
FrmPrincip.IndiCator( iTotRec, iTotRec );
Screen.Cursor := crDefault;
tblTempClie.IndexName := ´IRANACLI´;
Dm.TArqDocr.EnableControls;
Dm.TArqNfis.EnableControls;
Dm.TArqPrnf.EnableControls;
Dm.TArqclie.EnableControls;
tbltempClie.EnableControls;
Dm.TtempName.EnableControls;
btnConfirma.Enabled:=true;
If tblTempClie.RecNo > 0 Then
Begin
btnImprime.enabled := True;
btnVoltar1.Enabled := True;
End
Else
Begin
btnImprime.enabled := False;
btnVoltar1.Enabled := False;
End;
exit;
end
else
If ( Dm.TArqclie.FieldByName( ´V0´ ).AsString + Dm.TArqclie.FieldByName( ´V1´ ).AsString < sEmpresa+mdtCliIni.text ) or
( Dm.TArqPrnf.FieldByName( ´nRE´ ).AsString < mdtRepIni.Text ) or
( Dm.TArqPrnf.FieldByName( ´nRE´ ).AsString > mdtRepFim.Text ) Then
Begin
Dm.TArqclie.Next;
Inc( icounter );
Continue;
End;
[/color:a04c7f5c47]Macario
Curtidas 0
Respostas
Macario
24/10/2003
Colegas creio que o problema esteje nesse if
If ( Dm.TArqclie.FieldByName( ´V0´ ).AsString + Dm.TArqclie.FieldByName( ´V1´ ).AsString < sEmpresa+mdtCliIni.text ) or
( Dm.TArqPrnf.FieldByName( ´nRE´ ).AsString < mdtRepIni.Text ) or
( Dm.TArqPrnf.FieldByName( ´nRE´ ).AsString > mdtRepFim.Text ) Then
Begin
Dm.TArqclie.Next;
Inc( icounter );
Continue;
End;
GOSTEI 0