表格字段我想建立一個表格來更新表格中的字段在表格中根據客戶輸入。該表單有一個標準字段,用於搜索匹配的條目,然後是更新字段以更新另一個表字段。我的問題是,當我引用表單中的字段時,無法使更新工作。下面是代碼:VBA代碼將不會更新從表格輸入
Dim db As Database
Dim strSQL As String
Set db = CurrentDb
Dim uiTAGNAME As String
Dim uoX_NAM As String
Forms![Prefill Xmtr Data]!TxtCPointTagname.SetFocus
uiTAGNAME = Forms![Prefill Xmtr Data]!TxtCPointTagname.Text
Forms![Prefill Xmtr Data]!TxtQTransmitter.SetFocus
uoX_NAM = Forms![Prefill Xmtr Data]!TxtQTransmitter.Text
Debug.Print uiTAGNAME
Debug.Print uoX_NAM
'no error, but no update
db.Execute "UPDATE [IO Data] SET [io data].x_nam = ' uoX_NAM ' " & _
"WHERE [IO Data].tagname Like 'bkr7*';"
當我設置休息,我可以查看的uoX_NAM
的值,它是從形式正確地更新。
我很確定我的表單字段引用不正確,但我嘗試了各種其他方法,其中沒有一個更新表。
如果我嘗試下面的代碼,正確的字段更新,但它不是從表單條目:
'this updates the correct fields
db.Execute "UPDATE [IO Data] SET [io data].x_nam = 'BRKRCMD'" & _
"WHERE [IO Data].tagname Like 'bkr7*';"
所以我的問題似乎是我如何引用uoX_NAM
變量。
必須有別的我做錯了。我已經對你的建議嘗試了幾個變化,但桌子仍然沒有更新 - 我對最後一行寄予很高的期望,我沒有嘗試過。 – 2015-02-09 13:49:41
另外,如果我試圖直接按照您的建議設置變量,我仍然會收到錯誤信息。「除非控件具有焦點,否則不能引用控件的屬性或方法。」表單域是未綁定的。我知道我之前就把它排除了,但是代碼是從一個按鈕開始的。 – 2015-02-09 14:01:54
現在您已將SQL打印到調試窗口中,將其複製到剪貼板中。創建一個新的查詢,將其切換到SQL視圖,並將SQL粘貼到窗口中。如果您然後運行更新查詢,您可能會收到更具體的錯誤消息。如果沒有錯誤消息,但也沒有結果,請將SQL更改爲SELECT查詢(不含UPDATE部分),並確認與where條件匹配的行數。沒有選擇由哪裏行意味着目標表中沒有更改,也沒有錯誤消息。 – pteranodon 2015-02-09 19:33:17