While complexo pra mim!!(Urgente colegas!)

Delphi

24/10/2003

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:

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

Macario

Curtidas 0

Respostas

Macario

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
POSTAR