Доступ: открыть существующую запись в пользовательской форме для редактирования
-
21-12-2019 - |
Вопрос
Вот великое видение.
Я создаю базу данных деталей, которые будут использоваться для электроники Dis-Assembly.
Когда часть изначально удаляется с PCB, это справочный дизайн и измеренное значение будет записано (каждый тип детали имеет пользовательскую форму ввода, например резисторы, капторы, IC, и т. Д.).Позже мы вернемся в каждую часть и добавьте подробнее.
На данный момент я могу выбрать существующие части с комбо в поле, используйте функцию FindFirst, чтобы найти его запись в основной таблице, извлечь соответствующую информацию о типе детали и откройте соответствующую форму ввода данных.
Что я не могу понять, это как затем отображать эту запись в недавно открытой форме.Типичный Me.Bookmark= Rs.bookmark Стратегия не работает с тех пор, как я открываю новую форму
Private Sub cmdEditPart_Click()
Dim rs As Recordset
Dim qdf As QueryDef
Dim prm As Parameter
Dim partType As String
Set qdf = CurrentDb.QueryDefs("Parts_SingleBoard")
qdf.Parameters(0) = Forms![Start Page (Boards)]![ComboPartNumber]
'Lookup record
If Not IsNull(Me.cmbRefDes) Then
'Save before move.
If Me.Dirty Then
Me.Dirty = False
End If
'Search in the clone set.
Set rs = qdf.OpenRecordset.Clone
rs.FindFirst "[Reference Designator] = '" & Me.cmbRefDes & "'"
If rs.NoMatch Then
MsgBox "Part not found"
Else
'Display the found record in the appropriate form.
partType = rs.Fields("Part Type")
DoCmd.OpenForm (partType)
'Some sort of bookmark wizardy ****THIS IS WHAT I NEED HELP WITH *****
End If
Set rs = Nothing
End If
End Sub
.
<Сильные> 4 шага Рекомендация:
Просмотр списка существующих деталей -> Выберите часть -> Динамически открыть правильную форму ввода данных -> заполнить форму с записью, которую я хочу редактировать
Решение
Используйте механизм фильтра, встроенного в метод DOCMD.OpenForm, что-то подобное:
DoCmd.OpenForm (partType), , , "[Reference Designator] = '" & Me.cmbRefDes & "'"
.
Я не уверен, что у меня достаточно запятых до моего фильтра.Возможно, вам понадобятся четыре запятые.