Microsoft
Software
Hardware
Network
Question : problem of do while loop iin foxpro
I have a table named "output", like below:
type sales Trank
small 100.00 0
small 55.5 0
small 213.10 0
large 76.12 0
large 12.00 0
medium 2133.1 0
medium 66.88 0
medium 424.11 0
while the result should be add the rank to the different types like:
type sales Trank
small 100.00 2
small 55.5 3
small 213.10 1
large 76.12 1
large 12.00 2
medium 2133.1 1
medium 66.88 3
medium 424.11 2
my program code:
SELECT 1
USE output
INDEX ON type TO key
SET INDEX TO key
GO top
rankno = 0
DO WHILE !EOF()
SEEK "SMALL"
IF FOUND()
REPLACE Trank WITH rankno
ENDIF
rankno = rankno + 1
IF !FOUND()
WAIT WINDOW "NO RECORD"
LOOP
ENDIF
SKIP
ENDDO
CLOSE ALL
but it prompted me with "no record..."
and I tried another code:
SELECT 1
USE output
SCAN
rankno = 1
FOR lnI = 1 TO FCOUNT()
IF ALLTRIM(EVALUATE(FIELD('ty
pe')))='SM
ALL' then
replace Trank WITH rankno
endif
rankno = rankno + 1
NEXT
ENDSCAN
but I got ALL fields under column "type" filled with 8.....
pls kindly help...
Answer : problem of do while loop iin foxpro
USE output
INDEX ON type+str(sales) tag typesales descending
do while not eof()
lcType=type
lnRank=0
SCAN WHILE lcType=type
lnRank=lnRank+1
REPLACE TRANK WITH lnRank
ENDSCAN
ENDDO
Random Solutions
datetime to ISOweek & ISOyear
Configure Report Server Error
Single quotation in strVariable causes error 2147217900
How Can I forward email from a mailbox to a distribution list in exchange 2003 using a forwarder?
Expr field in VFp9.0 report designer
ISA 2000 Specified service does not exist as an installed service
How to subscript and superscript on mySQL?
Mac Excel won't open files
Scan all machines to find which all machines has local admin rights
List box in inputbox?