1

我的 Microsoft Access 项目有问题。

该项目包括两种形式,称为,InfoFormSearchBox

信息表格

InfoForm表单是初级表单,具有以下内容:

  • 自定义导航按钮,它们是;NextPrev
  • 一个 custom Search button,它打开SearchBox表单。

搜索框表单

SearchBox表单用于浏览和打开单个记录,具有以下内容:

  • 可用列表individual records
  • Open按钮

个人记录

个人记录在InfoForm表格中打开。

我在 SearchBox` 表单上使用此代码Open' button of the,如下所示:

Private Sub Command1_Click()

Dim strLN As String
strLN = Me.SearchResults.Column(0)

Dim strGN As String
strGN = Me.SearchResults.Column(1)

Dim strMN As String
strMN = Me.SearchResults.Column(2)

DoCmd.OpenForm "InfoForm", acNormal, , _
              "[Last Name] = '" & strLN & "' And " & _
              "[Given Name] = '" & strGN & "' And " & _
              "[Middle Name] = '" & strMN & "'"

DoCmd.Close acForm, "SearchBox"

End Sub

首次打开表单时,此代码可以完美运行InfoForm,直到individual record打开为止。

此时,“InfoForm”表单上的导航按钮“Next”和“Prev”停止工作。

请帮忙。谢谢你。

4

1 回答 1

1

正如@Andre 所指出的,如果表单被过滤到单个记录,那么就没有可以导航到的后续或以前的记录。您的过滤条件是否会产生单个记录数据集?

另一种方法是打开未过滤的表单(或使用返回受限数据集但通常仍然有多个记录的过滤器)并“转到”所需的记录,然后将有后续和前面的记录进行导航。我的代码示例:

打开表格: DoCmd.OpenForm "Samples", , , , , acDialog, strLabNum

然后在打开的表单后面编码:

Private Sub Form_Open(Cancel As Integer)
Me.RecordsetClone.FindFirst "LabNum='" & Me.OpenArgs & "'"
Me.Bookmark = Me.RecordsetClone.Bookmark
End Sub
于 2017-06-05T19:20:03.567 回答