Рыба из воды в поисках направления/рекомендации не обязательно кода (хотя это было бы полезно). Я ME, который проектирует машины для жизни, и я пытаюсь автоматизировать существующую базу данных Access 2010, используемую для технических номеров деталей. Я хочу, чтобы пользователь выбирал номер проекта, а следующий номер доступной детали автоматически отображался в поле номера детали.Доступ к параметру запроса от элемента управления
Я попытался безуспешно использовать примеры 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
код производит «Run-Time Error„3265“Элемент не найден в этой коллекции.», Вытекающей из этой строки кода:
qdf.Parameters("Project") = dblProject
Первоисточник код here
У меня были аналогичные сбои с использованием объекта команды ADO. Я был бы очень признателен за любую помощь или рекомендации за ссылки/ресурсы. Я использую «Руководство для программистов VBA 2003» от WROX и «Access 2010: недостающее руководство» в качестве справочных материалов.
Вот код, с точки зрения SQL из qryDetails:
SELECT tblDetails.Project, tblDetails.Number, tblDetails.Title, tblDetails.Initials,
tblDetails.IssuedOn
FROM tblDetails
WHERE (((tblDetails.Project)=[Project]));
Глупый вопрос, но, судя по вашей ошибке, вы уверены, что запрос 'qryDetails' ожидает параметра« Проект »? – Lankymart
Пожалуйста, покажите нам SQL из 'qryDetails'. – HansUp
@ Lankymart Короткий ответ - я так думаю. В ответ на запрос @HansUp я добавил представление SQL из 'qryDetails'. – user3042766