实用方法介绍,第1张

实用方法介绍,第2张

使用SysCmd方法可以:在状态栏中显示日程或可选的指定文本,返回有关Microsoft Access及其相关文件的信息,或返回指定数据库对象的状态(指示对象是打开的、新的还是已更改但未保存)。变体。

表情。SysCmd(操作,参数2,参数3)

表达式是必需的。返回“应用于”列表中对象的表达式。

需要操作AcSysCmdAction。下列固有常数之一,它标识要执行的操作的类型。以下常量集适用于该计划。如果这些操作成功,SysCmd方法将返回一个空值。否则,Microsoft Access将生成运行时错误。

AcSysCmdAction可以是下列AcSysCmdAction常量之一:
acSysCmdAccessDir。返回Msaccess.exe所在的目录名
acSysCmdAccessVer。返回Microsoft Access的版本号。
acSysCmdClearHelpTopic
acSysCmdClearStatus .下列常量提供有关数据库对象状态的信息:
acsyscmdgeobjectstate。返回指定数据库对象的状态。使用此操作值时,必须指定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 .用指定的值更新计划。使用此操作时,必须指定文本参数。

argument 2 Variant类型,可选。一个字符串表达式,表示状态栏左侧显示的文本。当action
参数为acSysCmdInitMeter、acSysCmdUpdateMeter或acSysCmdSetStatus时,它是必需的。此参数对其他操作参数值无效。

注意当指定Action参数的acSysCmdGetObjectState值时,必须指定相应的acObjectType。

可操作的[/ br/]获取[/ br/]交流[/ br/]报告

acMacro

AC模块

acDataAccessPage

AC默认

AC图表

acServerView

acstoreproperation

此参数对其他操作参数值无效。

argument 3 Variant类型,可选。用于控制明细表显示的数字表达式。当action参数为acSysCmdSetStatus时,它是必需的;此参数对其他操作参数值无效。

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

解释

例如,如果您正在构建自定义向导来创建新窗体,则可以使用SysCmd方法来显示进度图表,指示向导在构建窗体时的进度。

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

若要在状态栏中显示计划,必须首先使用acSysCmdInitMeter操作参数、文本和值参数调用SysCmd方法。当action参数为acSysCmdInitMeter时,value参数为计划值或100%。

若要更新计划以显示操作进度,请使用acSysCmdUpdateMeter操作参数和值参数调用SysCmd方法。当action参数为acSysCmdUpdateMeter时,SysCmd方法使用value参数来计算计划中显示的百分比。例如,如果您将值设置为200,然后用值100更新此表,则计划只有一半是满的。

还可以通过使用acSysCmdSetStatus操作参数和text参数调用SysCmd方法来更改状态栏中显示的文本。例如,在排序过程中,您可能希望将文本更改为“排序...”。排序完成后,您还想通过删除文本来重置状态栏。文本参数可以包含大约80个字符。因为状态栏文本以成比例的字体显示,所以可以显示的实际字符数取决于text参数指定的所有字符的总宽度。

在增加状态栏文字宽度的同时,也减少了明细表的长度。如果文本比状态栏长,并且操作参数为acSysCmdInitMeter,则SysCmd方法将忽略该文本,状态栏上不会显示任何内容。如果文本比状态栏长,并且操作参数为acSysCmdSetStatus,则SysCmd方法会截取文本以填充状态栏。

不能将状态栏文本设置为零长度字符串(" ")。如果要从状态栏中删除现有文本,请将text参数设置为空单元格。以下示例显示如何从状态栏中删除文本:

Var = SysCmd (acSysCmdinitmeter,"",100)var return = SysCmd(acsyscmdsetstatus," ")
当使用acSysCmdSetStatus操作参数调用syscmd方法来设置文本时,如果已经显示了计划,sys cmd方法将自动删除此表。
您可以使用其他操作调用SysCmd方法来确定有关Microsoft Access的系统信息,包括Microsoft Access正在运行的版本号、它是否是运行时版本、Microsoft Access可执行文件的位置、命令行中指定的/profile参数的设置以及。与Microsoft Access关联的ini文件名。

注意Microsoft Access的常规和自定义设置现在存储在Windows注册表中,因此不再需要使用。Microsoft Access应用程序的ini文件。AcSysCmdIniFile使用action参数与早期版本的Microsoft Access兼容。

使用acsyscmdgeobjectstateaction参数以及objecttype和objectname参数调用SysCmd方法可以返回指定数据库对象的状态。对象可能处于以下四种状态之一:未打开或不存在、已打开、新创建或已更改但未保存。

例如,如果您正在设计一个向表中插入新字段的向导,您可能需要确定表的结构是否已经更改但尚未保存,以便您可以在修改其结构之前保存它。检查SysCmd方法返回的值,以确定表的状态。

使用acsyscmdgeobjectstateaction参数的SysCmd方法可以返回下列常量的任意组合:

常量数据库对象的状态值
acObjStateOpen Open 1
acobjstatedish已更改但未保存2
acObjStateNew New 4

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

将ActiveX控件添加到表单后,可以使用以下代码在表达式中启用ActiveX控件:

SysCmd 14," "
注意请使用全局标识符(GUID)来标识要在表达式中启用的ActiveX控件。

注意一旦ActiveX控件被添加到允许的控件列表中,它就不能被删除。

使用示例:

决定一个窗体是否打开的函数。

函数fis loaded(ByVal strFormName As String)As Integer
If sys cmd(acSysCmdGetObjectState,acForm,strFormName)0 Then
If Forms(strFormName)。current view 0 Then
fis loaded = True
End If
End If
End Function

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 实用方法介绍

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情