1
魚尋找方向/建議不一定代碼(儘管這將是有益的)。我是一個以設計機器爲生的ME,我試圖自動化用於工程部件號的現有2010 Access數據庫。我希望用戶選擇項目編號,並讓下一個可用部件編號自動出現在部件編號字段中。從控制訪問查詢參數
我已經嘗試過使用不同來源的ADO和DAO示例來傳遞基於表單控件的值的參數給選擇查詢失敗。我的最新嘗試如下:
Private Sub ctlProject_AfterUpdate()
Dim dblProject As Double
dblProject = Me.ctlProject.Value
MsgBox "The curret project number is " & dblProject, vbOKOnly, "Project Number"
Const cstrQueryName As String = "qryDetails"
Dim dbs As DAO.Database
Dim qdf As DAO.QueryDef
Dim rst As DAO.Recordset
Set dbs = CurrentDb()
Set qdf = dbs.QueryDefs(cstrQueryName)
qdf.Parameters("Project") = dblProject
' Open recordset on the query
Set rst = qdf.OpenRecordset()
rst.MoveLast
Debug.Print ("Project ID: " & rst!Project)
rst.Close
qdf.Close
dbs.Close
End Sub
代碼產生「運行時錯誤‘3265’項目在此集合中沒有找到。」從這一行代碼莖:
qdf.Parameters("Project") = dblProject
原文出處代碼here
我有類似的故障使用ADO命令對象。我將不勝感激對參考資料/資源的任何幫助或建議。我一直使用WROX的「Access 2003 vba程序員手冊」和「Access 2010:缺少的手冊」作爲硬拷貝參考。
這裏是qryDetails的SQL視圖代碼:
SELECT tblDetails.Project, tblDetails.Number, tblDetails.Title, tblDetails.Initials,
tblDetails.IssuedOn
FROM tblDetails
WHERE (((tblDetails.Project)=[Project]));
愚蠢的問題真的,但你的錯誤判斷你確定查詢'qryDetails'期待一個名爲「項目」的參數? – Lankymart
請向我們展示'qryDetails'中的SQL。 – HansUp
@Lankymart簡短的回答是我這麼認爲。爲了響應@HansUp請求,我添加了來自'qryDetails'的SQL視圖。 – user3042766