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
Incorrect Hard Drive Space - Windows Home Server
Backend / Frontend
Disclaimers in Exchange 2007
date diff expression
windows server 2008 unattended install
WPF: Applying multiple styles
VBA INSERT Statement - Get MAX(Date/Time)
Does "DoCmd.TransferSpreadsheet<wbr /> acImport" allow you to append records to an Access table ?
DatePart - Week - Monday
How to get the rules out of a pst file