Fórum While complexo pra mim!!(Urgente colegas!) #190579
24/10/2003
0
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
Curtir tópico
+ 0
Responder
Posts
24/10/2003
Macario
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;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)