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:

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

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

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

Aceitar