Access 2003完整教程:SysCmd 方法

使用SysCmd方法可以在状态栏上显示一个进度表或可选的指定文本,返回有关 Microsoft Access 及其相关联文件的信息或者返回指定数据库对象的状态(以指示该对象是否已打开,是否是一个新对象或是否已被更改但还没有保存)。Variant

expression.SysCmd(Action,Argument2,Argument3)

expression?必需。此表达式返回“应用于”列表中的其中一个对象。

Action必需AcSysCmdAction。下列固有常量之一,用于标识要采取操作的类型。下列常量集适用于进度表。如果这些操作执行成功,SysCmd方法将返回一个Null。否则,Microsoft Access 会产生运行时错误。

AcSysCmdAction 可以是下列这些 AcSysCmdAction 常量之一。
acSysCmdAccessDir。返回 Msaccess.exe 所在目录的名称。
acSysCmdAccessVer。返回 Microsoft Access 的版本号。
acSysCmdClearHelpTopic
acSysCmdClearStatus。下列常量提供了有关数据库对象状态的信息。
acSysCmdGetObjectState。返回指定数据库对象的状态。当使用该 action 值时,您必须指定 argument1 和 argument2。
acSysCmdGetWorkgroupFile。返回工作组文件 (System.mdw) 的路径。
acSysCmdIniFile。返回与 Microsoft Access 相关联的 .ini 文件的名称
acSysCmdInitMeter。初始化进度表。当使用该操作时,您必须指定 argument1 和 argument2 参数。
acSysCmdProfile。当用户从命令行启动 Microsoft Access 时,返回其指定的/profile设置。
acSysCmdRemoveMeter。删除进度表。
acSysCmdRuntime。如果运行时版本的 Microsoft Access 正在运行,将返回True(–1)。
acSysCmdSetStatus。将状态栏文字设置为 text 参数。
acSysCmdUpdateMeter。使用指定值更新进度表。当使用该操作时,您必须指定 text 参数。

Argument2可选Variant。字符串表达式,用于标识要在状态栏以左对齐方式显示的文字。当action?参数是acSysCmdInitMeteracSysCmdUpdateMeteracSysCmdSetStatus时,该参数是必需的;对于其他 action 参数值,该参数是无效的。

注释在为 Action 参数指定acSysCmdGetObjectState值时,必须指定相应的acObjectType

acTable
acQuery
acForm

acReport

acMacro

acModule

acDataAccessPage

acDefault

acDiagram

acServerView

acStoreProcedure

对于其他 action 参数值,该参数是无效的。

Argument3可选Variant。数值表达式,用于控制进度表的显示。当action?参数是acSysCmdInitMeter时,该参数是必需的;对于其他 action 参数值,该参数是无效的。

注释在为 Action 参数指定acSysCmdGetObjectState值时,必须指定数据库对象的名称。

说明

例如,如果您正在创建一个向导,该向导可创建新的窗体,那么可以使用SysCmd方法显示进度表,以便在向导建立窗体时指示其进度。

通过调用各种进度表操作的SysCmd方法,您可以在状态栏中为具有已知持续时间或步骤数的操作,显示进度表,并将其更新为指示操作的进度。

若要显示状态栏中的进度表,您必须首先调用acSysCmdInitMeter action 参数以及 text 和 value 参数的SysCmd方法。当 action 参数是acSysCmdInitMeter时,value 参数将是进度表的最大值,100 %。

若要将进度表更新为显示操作的进度,请调用acSysCmdUpdateMeter action 参数以及 value 参数的SysCmd方法。当 action 参数是acSysCmdUpdateMeter时,SysCmd方法将使用 value 参数计算由进度表显示的百分比。例如,如果您将最大值设置为 200,然后使用值 100 更新该进度表,那么将只填充该表的前半部分。

您也可以更改显示在状态栏上的文字,方法是调用acSysCmdSetStatus action 参数和 text 参数的SysCmd方法。例如在排序过程中,您可以将文字更改为“正在排序中...”。当排序完成后,您可以通过删除该文字重置状态栏。text 参数可以包含大约 80 个字符。因为状态栏文字是通过使用非等宽字体显示的,因此,您能够显示的实际字符数将由 text 参数指定的所有字符的总宽度决定。

当您增大状态栏文字的宽度时,将会减小表的长度。如果文字的长度超过状态栏,并且 action 参数是acSysCmdInitMeter,那么SysCmd方法将忽略文字,而不会在状态栏上显示任何内容。如果文字的长度超过状态栏,并且 action 参数是acSysCmdSetStatus,那么SysCmd方法将截断文字以适合状态栏。

您不能将状态栏文字设置为零长度字符串(" ")。如果要从状态栏删除现有文字,请将 text 参数设置为单个空格。下例说明了如何从状态栏删除文字:

varReturn = SysCmd(acSysCmdInitMeter, " ", 100)
varReturn = SysCmd(acSysCmdSetStatus, " ")

如果在通过调用acSysCmdSetStatus action 参数的SysCmd方法设置文字时,已显示进度表,那么SysCmd方法将自动删除该表。

调用其他操作的SysCmd方法,以便确定有关 Microsoft Access 的系统信息,其中包括正在运行的 Microsoft Access 的版本号、它是否是运行时版本、Microsoft Access 可执行文件的位置、在命令行中指定的/profile参数的设置以及与 Microsoft Access 相关联的 .ini 文件的名称。

注释现在,Microsoft Access 的常规设置和自定义设置被保存在 Windows 注册表中,因此您可能不需要 Microsoft Access 应用程序带有 .ini 文件。acSysCmdIniFile action 参数的存在是为了与早期版本的 Microsoft Access 兼容。

调用acSysCmdGetObjectState action 参数和 objecttype 及 objectname 参数的SysCmd方法,以便返回指定数据库对象的状态。一个对象可以是以下四种可能的状态之一:未打开或不存在、打开、新或者更改后尚未保存。

例如,如果您正在设计将新字段插入表中的向导,则需要确定表结构是否在更改后没有保存,以便您可以在修改它的结构之前进行保存。您可以检查由SysCmd方法返回的值以确定表的状态。

acSysCmdGetObjectState action 参数的SysCmd方法可以返回下列常量的任意组合:

常量数据库对象的状态
acObjStateOpen打开1
acObjStateDirty更改后未保存2
acObjStateNew新建4

注释如果由 objectname 参数引用的对象未打开或不存在,那么SysCmd方法将返回零值。

在窗体中添加 ActiveX 控件后,下列代码可用于在表达式中启用 ActiveX 控件:

SysCmd 14, "<ActiveX Control GUID>"

注释使用标识需要在表达式中启用的 ActiveX 控件的全局唯一标识符 (GUID) 替换 <ActiveX Control GUID>。

注释将 ActiveX 控件添加到许用控件列表后,就不能删除 ActiveX 控件。

上页:Access 2003完整教程:Nz 函数 下页:Access 2003完整教程:将数据透视表视图内容的格式设置成从右到左读取或从左到右读取

Access 2003完整教程:SysCmd 方法

Access 2003完整教程:将数据透视表视图内容的格式设置成从右到左读取或从左到右读取Access 2003完整教程:窗体的“数据透视表”和“数据透视图”视图中可用的函数
Access 2003完整教程:关于在“Visual Basic 编辑器”中获取 Access 产品帮助Access 2003完整教程:获得有关 Access 事件和属性的帮助
Access 2003完整教程:页面中控件的 HTML 元素和类Access 2003完整教程:从 Microsoft Windows SharePoint Services 列表导入
Access 2003完整教程:改进 Access 项目的性能Access 2003完整教程
Access 2003完整教程:Microsoft Access 项目设计器中的消息汇总Access 2003完整教程:字段列表中没有这样的字段
Access 2003完整教程:无效的排序和分组Access 2003完整教程:词汇表
Access 2003完整教程:找不到关键字 (MDB)Access 2003完整教程:朝鲜文字转换为朝鲜文汉字
Access 2003完整教程:关于“更正键盘设置”Access 2003完整教程:将表链接到 Windows SharePoint Services 列表
Access 2003完整教程:使脱机数据访问页联机 (ADP)Access 2003完整教程:DMin、DMax 函数
Access 2003完整教程:修改筛选Access 2003完整教程:修改查询中的联接
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号