Ms access 对于某些操作值,Access SysCmd函数未按预期工作

Ms access 对于某些操作值,Access SysCmd函数未按预期工作,ms-access,vba,ms-access-2010,statusbar,Ms Access,Vba,Ms Access 2010,Statusbar,我读过这本书,但这与其他人的问题不同。添加DoEvents无效 第一个问题 RetVal=SysCmd(4,“这里有更新!”)清除状态栏文本和仪表,而不是更新文本。我已经在sub和即时窗口中使用SysCmd(4,“一些文本”)对此进行了测试 第二个问题 更令人困惑的是SysCmd(3)和SysCmd(5)两者都将完全删除状态栏、文本和仪表SysCmd(3)描述如下: 参数为3时,进度表将从状态栏中删除 对于SysCmd(5)on: 当action参数为5时,由上一个SysCmd()函数设置的状态

我读过这本书,但这与其他人的问题不同。添加
DoEvents
无效

第一个问题
RetVal=SysCmd(4,“这里有更新!”)
清除状态栏文本和仪表,而不是更新文本。我已经在sub和即时窗口中使用SysCmd(4,“一些文本”)对此进行了测试

第二个问题 更令人困惑的是
SysCmd(3)
SysCmd(5)
两者都将完全删除状态栏、文本和仪表
SysCmd(3)
描述如下:

参数为3时,进度表将从状态栏中删除

对于
SysCmd(5)
on:

当action参数为5时,由上一个SysCmd()函数设置的状态栏文本将被删除

与这些描述相反,将删除整个状态栏

我甚至试过测试:

测试结果仅显示消息框

其他一切都有效 据我所知,其他一切都很好。这些工作如预期的那样:

RetVal = SysCmd(1, "Beginning Queries...", 10) 'adds the status bar 
RetVal = SysCmd(2,1) 'moves the meter

添加常量名称(即acSysCmdSetStatus)在Access 2010中似乎没有任何效果(因为这是Access VBA,而不是VBS)。

很难说。在A2013中,您的代码可以很好地工作,简化版也可以:

Public Function StatusBar()
    SysCmd acSysCmdSetStatus, "The rain in Spain falls mainly ..."
    MsgBox "Press OK when you are ready to finish!"
    SysCmd acSysCmdClearStatus
End Function

显示状态文本,消息框向前弹出,状态栏被清除。

我遇到的问题都是关于一个糟糕的误解。SysCmd的
SysCmd
方法确实如此,而且它有点难以承受

在Access的最底部,我们有状态栏。左下角上的文本是。这是通过
acSysCmdSetStatus
(值
4
)和
acsyscmdclearsttatus
(值
5
)控制的

此文本不能与状态栏右下角的同时使用。它有自己的文本

上面的误解是,状态栏文本操作会更改状态栏进度表的文本。他们没有

有关
SysCmd
操作值的参考,请参阅

Public Function StatusBar()
    SysCmd acSysCmdSetStatus, "The rain in Spain falls mainly ..."
    MsgBox "Press OK when you are ready to finish!"
    SysCmd acSysCmdClearStatus
End Function