我有一个用于数据输入的表格。我们必须返回并添加数据到这些记录中。有没有办法拉出按字段“A”对记录进行分组并按字段“B”排序的表单?这本质上会对表格 A1-1、A1-2 等进行排序,从而使添加数据变得更加容易。
现在我使用 DoCmd.OpenForm 仅显示某些字段中具有某些值的记录。我只需要稍微修改一下吗?
谢谢您的帮助!
[Edit]
我希望在单击按钮时加载表单,这样我就有了
Private Sub btnDataEntry_Click()
DoCmd.OpenForm "Data Sheet", acNormal, , , acFormEdit, , OpenArgs:="MapNumber"
End Sub
然后按照建议
Private Sub Form_Load()
If Not IsNull(Me.OpenArgs) Then
Main.OrderBy = Me.OpenArgs
Main.OrderByOn = True
End If
End Sub
这对我不起作用。如果可能的话,我还希望它将所有地图编号分组在一起,然后让所有项目编号升序。因此可能有 10 个条目,地图编号为 1,项目编号为 1-10。
OpenForm
不包含指定排序顺序的选项。但是你可以使用它的OpenArgs选项传递排序信息,然后在表单加载期间应用该信息。
Private Sub Form_Load()
If Not IsNull(Me.OpenArgs) Then
Me.OrderBy = Me.OpenArgs
Me.OrderByOn = True
End If
End Sub
然后打开YourForm按名为的字段排序id按升序排列...
DoCmd.OpenForm "YourForm", OpenArgs:="id"
Include DESC
对于降序排列...
DoCmd.OpenForm "YourForm", OpenArgs:="id DESC"
使用这个版本的Form_Load
解决为什么表单打开时没有按您期望的排序的原因。
Private Sub Form_Load()
MsgBox "Me.OpenArgs: " & Nz(Me.OpenArgs, "Null")
If Not IsNull(Me.OpenArgs) Then
Me.OrderBy = Me.OpenArgs
Me.OrderByOn = True
End If
MsgBox "Me.OrderBy : '" & Me.OrderBy & "'"
MsgBox "Me.OrderByOn: " & Me.OrderByOn
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)