2012-12-14 31 views
0

循環是否可以遍歷一個表,然後從每行FoxPro 9.0中通過表

================= 
Contracts.dbf 
================= 
P01 
C04 
CH45 
T31 


counter = 1 
Do While 1 < 4 
    SomethingSomethingSomething 
counter = counter + 1 
ENDDO 

所以,當計數器= 1環形折返P01,計數器= 2回報C04等檢索值。

+0

呃,這是一個相當模糊的... ...問題。那麼,你想循環一個表並返回一個字段值? –

回答

1

試試這個:

SELECT contracts 
SCAN 
    x = contracts.fieldname1 
    MESSAGEBOX("Value -> " + x) 
ENDSCAN 
2
SELECT Contracts 

SCAN 

    m.Counter = 1 
    m.Something = "" 

    DO WHILE m.Counter <= FCOUNT() 
     m.Something = EVAL(FIELD(m.Counter)) 
     m.Counter = m.Counter +1 
    ENDDO 

ENDSCAN 
+0

爲什麼選擇EVAL?你能否充實你的回答來解釋_爲什麼它會起作用? – Ben

+0

謝謝!它按預期工作! – Orongo

+0

「循環遍歷合同表上的每一行,然後遍歷該行上的每個字段,在我們對它執行任何操作之前將」Something「變量設置爲每個字段的值,然後增加每個字段的計數器......」似乎比問題更復雜。 – DougM