2011-12-12 87 views
1

從單個數據庫表中使用自動生成的表單。該表格使用c:\Program Files\Microsoft Visual FoxPro 9\Wizards中包含的0123'類。該表單具有Top,Previous,Next和Bottom按鈕。FoxPro總計表格字段

儘管窗體只有文本框才能輸入表中字段的數據,但我已經從工具箱添加了一個自定義文本框,它基本上是爲了顯示一些字段的總和。我已將文本框的ControlSource綁定到在表單init上創建的PUBLIC變量costTotal

現在問題是更新文本框中的字段總數,或者只是更新costTotal的值。 在哪裏可以添加代碼?在窗體的Refresh方法中添加代碼會混合值costTotal,當我按下一步按鈕以使用新值更新所有字段時,自定義文本框將顯示最後一條神祕記錄的總和。

回答

1

我會添加一個方法到窗體來做計算。然後,從計算中涉及的每個文本框的有效方法中調用該方法。

+0

Next,Previous按鈕呢?它移動到表中下一條記錄的記錄指針 – yolo

+0

也可以從這些按鈕的Click方法中調用方法。 –

0

沒有什麼錯誤使用的刷新事件重新計算值,只是確保你調用刷新每個如果您正在使用導航按鈕在記錄之間移動,然後單擊事件的記錄更改

時間每個按鈕發出刷新請求的理想場所: -

假設文本框被稱爲txtSum,位於同一窗體上的導航按鈕,然後在每個按鈕單擊事件中添加以下代碼

dodefualt() 
with thisform 
.txtSum.refresh() 
endwith 
0

幾件事:

1)不要使用嚮導!製作你自己的基礎班。試圖弄清楚嚮導類所做的事情以及如何添加功能將需要更多時間來編寫自己的基類。另外,嚮導生成的代碼和類必須在10/20歲左右,自那以後發生了很大變化(一種有禮貌的方式稱他們吸吮)。

2)永遠不要在FoxPro中使用公共變量,除了可能是一個應用程序對象。

如果這是一個鏡頭,只需添加默認的文本框和按鈕,並自己設計表單。你將擁有完全的控制權,並且你會知道每件事都做了什麼。