【发布时间】:2020-07-13 23:06:12
【问题描述】:
这是宏伟的愿景。
我正在构建一个零件数据库,用于电子设备的拆卸。
当一个部件最初从 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 步回顾:
查看现有部件列表 -> 选择部件 -> 动态打开正确的数据输入表单 -> 使用我要编辑的记录填充表单
【问题讨论】:
标签: forms ms-access vba recordset