2012-11-06 101 views
1

如何將計算值從文本框保存到表中? 我試圖使我的計算作爲默認值,它是儲蓄,但如果我改變輸入我的計算不會改變。如果我把它放到我的控制源中,我不能保存它。如何將計算值從文本框保存到表中

是否可以將計算保存到表中?

親切的問候, Lukso

回答

4

在大多數情況下,你需要使用一個事件。控件的After Update事件通常是合適的。例如

Form 
--------------------------- 
Amount : 10 
Tax : 2 
Total : 12 'Amount + Tax 

通過上述形式,在更新事件稅和金額後,您可以更新綁定控件以總金額+稅收。

Private Sub Amount_AfterUpdate() 
    Me.Total = Me.Amount + Me.Tax 
End Sub 

像往常一樣計算,你必須問自己是存儲此計算還是可以從查詢中獲得?

最後,隨着Access 2010來到data macroscalculated columns,這也可能適合。

1

INSERT INTO如果您創建新記錄 或 UPDATE如果您正在更新現有記錄。

您可能需要隱藏一個單獨的未綁定文本框,這取決於您正在執行的操作。

這會將字段fieldName更新爲值fieldNameTextBox,其中記錄ID自動編號字段=表單上的自動編號字段。

Insert Into具有非常相似的語法。

Dim db As DAO.Database 
Dim RecordList As DAO.Recordset 
Set db = CurrentDb() 
Set RecordList = db.OpenRecordset("qryClientSearch") 
db.execute "UPDATE table1 SET table1.fieldName = """ & Me.fieldNameTextBox.Value & """ WHERE Table1.ID = " & Forms![FormName]![ID] & "" 
+0

如果你在窗體上運行這個VBA,你很可能會遇到更新窗體和代碼上的記錄的問題。這是幾個錯誤的常見原因。 – Fionnuala

+0

如果你只是點擊了按鈕控件,添加一個查詢,並且使用一個未綁定的文本框作爲你正在使用的控件(設置等於一個隱藏的綁定控件的值),它是否仍然可能更新兩次?所有的數據都會進入未綁定的控件,所以表單不應該更新它,只能是代碼。 –

+0

更新控件和更新單獨的實例有很大的區別。如果您添加更新按鈕等,您會向用戶詢問很多。 – Fionnuala

相關問題