访问:以自定义表单打开现有记录以进行编辑
-
21-12-2019 - |
题
这是盛大的愿景。
我正在构建一个用于电子数据的零件数据库。
当最初从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 & "'"
.
我不确定我在筛选器语句之前有足够的逗号。你可能需要四个逗号。
不隶属于 StackOverflow