这是盛大的愿景。

我正在构建一个用于电子数据的零件数据库。

当最初从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 & "'"
.

我不确定我在筛选器语句之前有足够的逗号。你可能需要四个逗号。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top