1
我有一個分配循環通過單個列表「合同」,併爲每個循環使用合同中的值調用程序「MyProgram」。最後將結果呈現在所有循環的表格中。FoxPro 9.0如何通過程序循環
Indata:
=================
Contracts.dbf
=================
P01
C04
CH45
T31
Result:
===========================
ResultFile.dbf
===========================
P01 C04 CH45 T31
---------------------------
100 11 302 -872
9.63 0 45.2 342
每個合同中的值在MyProgram,在合同取作爲參數,併產生具有相同契約作爲標題的結果的一列被生成。因此,使用MyProgram合同P01給
======
P01
------
100
9.63
到目前爲止,我的程序看起來像
SELECT distinct contract FROM bs_case
COPY TO contracts.dbf
NbContracts =RECCOUNT()
CLOSE TABLES
counter = 1
DO WHILE counter < NbContracts
&& calling MyProgram()
counter = counter + 1
ENDDO
我一直無法從「Contracts.dbf」提取合同名稱,真的不知道該怎麼以創建最終的結果文件「ResultFile.dbf」
其工作很棒!有沒有辦法讓MyResults具有一般的行數? – Orongo
在foxpro中,可以用?RECNO()檢索每一行的編號。所以你可以這樣做:SELECT RECNO()作爲rownum,* FROM MyResults INTO CURSOR MyResults。或者在定義光標時創建一個AUTOINC列。 CREATE CURSOR MyResults(myField i AUTOINC NEXTVALUE 1 STEP 1,myfield2 C(10)等)。如果這有幫助,一定要標記爲答案。 – Jerry
嗨,我的回覆有些倉促。在第一次循環之後,我的程序不會拿起C04行的第二個值。 Field()給出了字段名稱,而我只有一個字段契約。如何通過迭代獲得每行的值?使用RECNO()給出行號,但我想要的行的內容,而不是行號 – Orongo