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