1
我試圖弄清楚我在哪裏出錯了。使用VBA比較設置Access組合框的值
我有兩個表Request
和Parent
。 Request
只能有一個相關的Parent
記錄,但Parent
可以有很多相關的Request
記錄。所以我有Request
表包含Parent
的外鍵。
我有一個未綁定的組合框,使用查詢(包含公司名稱和ID綁定到列0和1,列1被隱藏以便用戶看不到數字ID)從Parent
表中提取數據。它沒有綁定,因爲表單的記錄集有很多複雜的連接,因此無法更新該表單上的任何內容。所以我在組合框中創建的「關於修改」活動,以填補在使用一個QueryDef SQL更新查詢外鍵:
Private Sub Combo217_Change()
Dim ComboID As String
Dim ReqID As Long
Dim dbs As DAO.Database
Dim qdfUpdateParentExisting As DAO.QueryDef
ReqID = Me.RequestID.Value
ComboID = Me.Combo217.Column(1)
Set dbs = CurrentDb
Set qdfUpdateParentExisting = dbs.QueryDefs("UpdateReqExistingParent")
qdfUpdateParentExisting.Parameters("VBParent").Value = ComboID
qdfUpdateParentExisting.Parameters("VBReqID").Value = ReqID
qdfUpdateParentExisting.Execute
qdfUpdateParentExisting.Close
DoCmd.Save acForm, "DT2"
Me.Requery
End Sub
這只是正常,但一旦你退出的形式和重新輸入,組合框中的值爲空,我希望它包含與所選的值相同的值。
我一直試圖做一個「加載事件」與下面的代碼,但它不是在得到這個工作將是非常美妙的工作
Dim ParID
ParID = Me.ParentID.Value
Me.Combo217.Column(1).Value = ParID
任何輸入!
我現在有列0綁定到「公司名稱」和第1列(隱藏)綁定到父表的ID。如果我使用你的方法,那麼組合框顯示數字ID而不是公司名稱。所以我想我想顯示列0的值,通過使用列1來選擇它 – mattlore
啊好吧..我改變了我的循環檢查 - 這是否更好? – dbmitch
到達某個地方。它提供了「Object required」錯誤,但它看起來像itemdata在列中看到了正確的值。現在排除故障 – mattlore