实际上,这些按钮应该在数据表视图中工作。但是,在运行时环境中以连续形式它们将不会被启用并且它们将不起作用。
这里的简单解决方案是向该菜单栏添加几个您自己的自定义按钮。
让这些按钮调用 VBA 代码,将排序设置为升序或降序。
因此,对于 a->z 按钮,将 on-action 更改为:
=MySortDown()
(请记住在此处添加一些新按钮,不要使用内置按钮,否则它们将被禁用 - 您可以使用自定义菜单编辑器从原始按钮中复制图形图像)
对于降序排序按钮,您可以使用:
=MySortUp()
然后在一个标准的代码模块中,将上面两个将要调用的函数,写成如下。
Public Function mySortDown()
Dim f As Form
Dim c As Control
Set f = Screen.ActiveForm
Set c = f.ActiveControl
f.OrderBy = c.ControlSource
f.OrderByOn = True
End Function
Public Function mySortUp()
Dim f As Form
Dim c As Control
Set f = Screen.ActiveForm
Set c = f.ActiveControl
f.OrderBy = c.ControlSource & " DESC"
f.OrderByOn = True
End Function
跟进:
我没有关于什么有效的参考。但是,在测试期间,您可以创建一个快捷方式,让您可以像在运行时模式下一样测试/运行您的代码。
只需使用:
"C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE"
"c:\program files\RidesXP\RidesXP.mdb" /runtime
以上内容在快捷方式中的一行(每行之间有一个空格)。
至于数据表排序按钮不起作用,没问题。我认为这可能取决于您从内置按钮中提取了哪些按钮。无论如何,我的示例/示例代码应该适用于任何一种情况。