首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Access VBA OpenForm分组和排序

Access VBA OpenForm分组和排序
EN

Stack Overflow用户
提问于 2013-07-17 20:55:13
回答 1查看 6.5K关注 0票数 3

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

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

谢谢你的帮助!

编辑

我想这是加载的按钮点击表单,所以我有

代码语言:javascript
复制
Private Sub btnDataEntry_Click() 
    DoCmd.OpenForm "Data Sheet", acNormal, , , acFormEdit, , OpenArgs:="MapNumber"
End Sub

然后如建议的那样

代码语言:javascript
复制
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。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-17 21:26:34

OpenForm不包含指定排序顺序的选项。但是,您可以使用它的OpenArgs选项传入排序信息,然后在表单加载期间应用该选项。

代码语言:javascript
复制
Private Sub Form_Load()
    If Not IsNull(Me.OpenArgs) Then
        Me.OrderBy = Me.OpenArgs
        Me.OrderByOn = True
    End If
End Sub

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

代码语言:javascript
复制
DoCmd.OpenForm "YourForm", OpenArgs:="id"

包含降序的DESC ...

代码语言:javascript
复制
DoCmd.OpenForm "YourForm", OpenArgs:="id DESC"

使用此版本的Form_Load解决表单打开时未按预期排序的问题。

代码语言:javascript
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17700366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档