gpt4 book ai didi

sorting - Access VBA OpenForm 分组和排序

转载 作者:行者123 更新时间:2023-12-04 21:22:14 26 4
gpt4 key购买 nike

我有一个用于数据输入的表单。我们必须返回并向这些记录添加数据。有没有办法提取按字段“A”对记录进行分组并按字段“B”排序的表单?这实质上将对表格 A1-1、A1-2 等进行排序,从而使添加数据更加容易。

现在我正在使用 DoCmd.OpenForm 仅显示在某些字段中具有某些值的记录。我只需要稍微修改一下吗?

感谢您的帮助!

[编辑]

我希望在单击按钮时加载表单,所以我有

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

这对我不起作用。如果可能的话,我还希望它将所有 map 编号组合在一起,然后让所有项目编号升序。因此可能有 10 个条目, map 编号为 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

然后打开按名为 id 的字段按升序排序的 YourForm ...

DoCmd.OpenForm "YourForm", OpenArgs:="id"

包括 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

关于sorting - Access VBA OpenForm 分组和排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17700366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com