You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MS Access中如何通过未绑定窗体选项组排序数据表视图子窗体?

MS Access:通过选项组实现子窗体排序

场景说明

我有一个未绑定数据的MS Access主窗体,里面有个名为frSortBy的选项组控件,用来选择字段,对数据表视图的子窗体(控件名Age)进行排序。以下是实现该功能的VBA代码及修正说明:

修正后的可用代码

Private Sub frSortBy_DblClick(Cancel As Integer)
    On Error GoTo ErrorHandler
 
    Select Case frSortBy
        Case 1
            ' 按Age字段升序排序
            Me![Age].Form.OrderBy = "Age"
            Me![Age].Form.OrderByOn = True
        Case 2
            ' 按HT字段升序排序
            Me![Age].Form.OrderBy = "HT"
            Me![Age].Form.OrderByOn = True
        Case 3
            ' 按WT字段升序排序
            Me![Age].Form.OrderBy = "WT"
            Me![Age].Form.OrderByOn = True
        Case 4
            ' 按Salary字段降序排序
            Me![Age].Form.OrderBy = "Salary DESC"
            Me![Age].Form.OrderByOn = True
    End Select
 
    Exit Sub
 
ErrorHandler:
    MsgBox "错误编号: " & Err.Number & vbCrLf & vbCrLf & Err.Description
End Sub

原代码问题修正点

  • 对象混淆:原代码仅Case1操作子窗体Me![Age].Form,其余Case错误操作未绑定的主窗体Me,排序主窗体无意义,统一修正为操作目标子窗体
  • 语法错误:原代码中Me![Age].Form.OrderBy = True是错误写法,启用排序需设置OrderByOn = True
  • 注释错误:原注释描述(如“按两个字段排序”“按日期降序”)与实际代码逻辑不符,已修正为准确注释
  • 错误处理启用:取消注释错误处理代码,运行出错时可直观查看错误信息

内容的提问来源于stack exchange,提问作者FreddyBoy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 15:05:18