我想創建一個更新查詢,接受需要更新的值的參數。我查詢:訪問2010年更新查詢錯誤
PARAMETERS FirstName Text (255), LastName Text (255), AccessLevel Short;
UPDATE
tblUser SET tblUser.FName = [FirstName],
tblUser.LName = [LastName],
tblUser.AccessLevelID = [AccessLevel]
WHERE (((tblUser.UserID)=[Forms]![frmEditUser]![subfrmUsers].[Form]![UserID]));
我的VBA代碼運行時的編輯按鈕被用戶推:
If valid Then
DoCmd.SetParameter "FirstName", Forms!frmEditUser!txtFName
DoCmd.SetParameter "LastName", Forms!frmEditUser!txtLName
DoCmd.SetParameter "AccessLevel", Forms!frmEditUser!cmbAccessLevel
DoCmd.OpenQuery ("qryEditUserRecord")
MsgBox "Success: Record edits have been applied", _
vbOKOnly, "Record Edits Success"
Me.Refresh
End If
有效的僅僅是一個布爾值,當所有的控件有數據,是真實的。錯誤是:
The object does not contain the Automation object "Drew"
其中Drew是當前記錄的FName值。此錯誤發生在第一個SetParameter命令,我不知道該問題或如何解決它。如果我在VBA代碼外面提示,查詢就會按預期運行,但這正是我需要的工作。
這似乎是一個非常漫長而複雜的方式,將子窗體中的值更改爲主窗體中的值,我看不出爲什麼要這樣做。 – Fionnuala 2012-07-30 18:25:59