SysCmd 方法

此頁(yè)沒有內(nèi)容條目
內(nèi)容

expandtri全部顯示

使用 SysCmd 方法可以:在狀態(tài)欄中顯示進(jìn)度表或可選的指定文本,返回有關(guān) Microsoft Access 及其關(guān)聯(lián)文件的信息,或返回指定數(shù)據(jù)庫(kù)對(duì)象的狀態(tài)(表明對(duì)象是打開的、是新對(duì)象,還是已進(jìn)行更改但沒有保存)。Variant 型。

expression.SysCmd(Action, Argument2, Argument3)

expression    必需。返回“應(yīng)用于”列表中的一個(gè)對(duì)象的表達(dá)式。

Action   必需 AcSysCmdAction。下列固有常量之一,標(biāo)識(shí)要執(zhí)行的操作類型。下面的常量集適用于進(jìn)度表。如果這些操作成功,SysCmd 方法將返回一個(gè) Null 值。否則,Microsoft Access 將產(chǎn)生運(yùn)行時(shí)錯(cuò)誤。

AcSysCmdAction 可以是下列 AcSysCmdAction 常量之一:

acSysCmdAccessDir。返回 Msaccess.exe 所在的目錄名

acSysCmdAccessVer。返回 Microsoft Access 的版本號(hào)。

acSysCmdClearHelpTopic

acSysCmdClearStatus。下列常量提供有關(guān)數(shù)據(jù)庫(kù)對(duì)象狀態(tài)的信息:

acSysCmdGetObjectState。返回指定數(shù)據(jù)庫(kù)對(duì)象的狀態(tài)。使用該 action 值時(shí),必須指定 argument1 和 argument2 參數(shù)。

acSysCmdGetWorkgroupFile。返回工作組文件 (System.mdw) 的路徑。

acSysCmdIniFile。返回與 Microsoft Access 關(guān)聯(lián)的 .ini 文件。

acSysCmdInitMeter。初始化進(jìn)度表。使用該操作時(shí),必須指定 argument1 和 argument2 參數(shù)。

acSysCmdProfile。在通過命令行打開 Microsoft Access 時(shí),返回由用戶指定的 /profile 設(shè)置。

acSysCmdRemoveMeter。刪除進(jìn)度表。

acSysCmdRuntime。如果正在運(yùn)行 Microsoft Access 的運(yùn)行時(shí)版本,返回 True (–1)。

acSysCmdSetStatus。將狀態(tài)欄文本設(shè)置為 text 參數(shù)。

acSysCmdUpdateMeter。用指定值更新進(jìn)度表。使用該操作時(shí),必須指定 text 參數(shù)。

Argument2     可選 Variant 型。字符串表達(dá)式,表示狀態(tài)欄中靠左顯示的文本。當(dāng) action   參數(shù)是 acSysCmdInitMeter、acSysCmdUpdateMeteracSysCmdSetStatus 時(shí),該參數(shù)為必需項(xiàng);該參數(shù)對(duì)其他 action 參數(shù)值無(wú)效。

注釋  在指定 Action 參數(shù)的 acSysCmdGetObjectState 值時(shí),必須指定相應(yīng)的 acObjectType

acTable

acQuery

acForm

acReport

acMacro

acModule

acDataAccessPage

acDefault

acDiagram

acServerView

acStoreProcedure

該參數(shù)對(duì)于其他 action 參數(shù)值無(wú)效。

Argument3     可選 Variant 型。數(shù)值表達(dá)式,用于控制進(jìn)度表的顯示。當(dāng) action   參數(shù)是 acSysCmdSetStatus 時(shí),該參數(shù)為必需項(xiàng);該參數(shù)對(duì)其他 action 參數(shù)值無(wú)效。

注釋  在指定 Action 參數(shù)的 acSysCmdGetObjectState 值時(shí),必須指定數(shù)據(jù)庫(kù)對(duì)象的名稱。

說明

例如,如果正建立一個(gè)創(chuàng)建新窗體的自定義向?qū)?,可以使?SysCmd 方法來(lái)顯示一個(gè)進(jìn)度表,指出向?qū)?gòu)建窗體時(shí)的進(jìn)度。

通過使用各種進(jìn)度表操作來(lái)調(diào)用 SysCmd 方法,可以在狀態(tài)欄中顯示一個(gè)已知持續(xù)時(shí)間或步驟數(shù)目的操作進(jìn)度表,并且可以對(duì)其更新以表示操作的進(jìn)度。

若要在狀態(tài)欄中顯示進(jìn)度表,首先必須使用 acSysCmdInitMeter action 參數(shù)、text 和 value 參數(shù)來(lái)調(diào)用 SysCmd 方法。當(dāng) action 參數(shù)為 acSysCmdInitMeter 時(shí),value 參數(shù)是進(jìn)度表的最大值或 100%。

若要更新進(jìn)度表以顯示操作的進(jìn)度,請(qǐng)用 acSysCmdUpdateMeter action 參數(shù)和 value 參數(shù)來(lái)調(diào)用 SysCmd 方法。當(dāng) action 參數(shù)是 acSysCmdUpdateMeter 時(shí),SysCmd 方法使用 value 參數(shù)來(lái)計(jì)算進(jìn)度表中顯示的百分比。例如,如果設(shè)置最大值為 200,然后用 100 的值更新此表,則進(jìn)度表只填滿了一半。

也可以通過調(diào)用帶有 acSysCmdSetStatus action 參數(shù)和 text 參數(shù)的 SysCmd 方法來(lái)更改狀態(tài)欄中顯示的文本。例如在排序期間,可能希望文本改為“正在排序...”。當(dāng)排序完成時(shí),還想通過刪除該文本來(lái)重置狀態(tài)欄。text 參數(shù)可以包含大約 80 個(gè)字符。因?yàn)闋顟B(tài)欄文本使用成比例的字體來(lái)顯示,可以顯示的實(shí)際字符數(shù)目取決于 text 參數(shù)指定的所有字符的總寬度。

在增加狀態(tài)欄文本寬度的同時(shí),也減少了該進(jìn)度表的長(zhǎng)度。如果文本比狀態(tài)欄還要長(zhǎng)而且 action 參數(shù)是 acSysCmdInitMeter,則 SysCmd 方法將忽略該文本,在狀態(tài)欄上無(wú)任何顯示。如果文本比狀態(tài)欄還要長(zhǎng)而且 action 參數(shù)為 acSysCmdSetStatus,則 SysCmd 方法將截取文本以填充狀態(tài)欄。

不能將狀態(tài)欄文本設(shè)置為零長(zhǎng)度字符串 (" ")。如果想從狀態(tài)欄中刪除現(xiàn)有的文本,請(qǐng)將 text 參數(shù)設(shè)置為一個(gè)空格。下面的示例說明了從狀態(tài)欄中刪除文本的方法:

varReturn = SysCmd(acSysCmdInitMeter, " ", 100)

varReturn = SysCmd(acSysCmdSetStatus, " ")

使用 acSysCmdSetStatus action 參數(shù)調(diào)用 SysCmd 方法來(lái)設(shè)置該文本時(shí),如果進(jìn)度表已經(jīng)顯示,則 SysCmd 方法將自動(dòng)刪除此表。

可以用其他操作調(diào)用 SysCmd 方法,以決定有關(guān) Microsoft Access 的系統(tǒng)信息,這些信息包括 Microsoft Access 正在運(yùn)行的版本號(hào)、是否是運(yùn)行時(shí)版本、Microsoft Access 可執(zhí)行文件的位置、命令行中指定的 /profile 參數(shù)設(shè)置和與 Microsoft Access 相關(guān)聯(lián)的 .ini 文件名。

注釋  Microsoft Access 的常規(guī)和自定義設(shè)置現(xiàn)在都存儲(chǔ)在 Windows 注冊(cè)表中,因此不能不再需要對(duì) Microsoft Access 應(yīng)用程序使用 .ini 文件。acSysCmdIniFile 使用 action 參數(shù)是為了與 Microsoft Access 的早期版本兼容。

acSysCmdGetObjectState action 參數(shù)和 objecttype 及 objectname 參數(shù)來(lái)調(diào)用 SysCmd 方法可以返回指定數(shù)據(jù)庫(kù)對(duì)象的狀態(tài)。對(duì)象可能為這四種狀態(tài)之一:沒有打開或不存在、打開、新建或更改但沒有保存。

例如,如果您正在設(shè)計(jì)一個(gè)在表中插入新字段的向?qū)?,則可能需要確定表的結(jié)構(gòu)是否已經(jīng)更改但尚未保存,以便在修改其結(jié)構(gòu)前保存它。檢查 SysCmd 方法返回的值就可以確定表的狀態(tài)。

使用 acSysCmdGetObjectState action 參數(shù)的 SysCmd 方法可以返回下列常量的任一組合:

常量

數(shù)據(jù)庫(kù)對(duì)象的狀態(tài)

acObjStateOpen

打開

1

acObjStateDirty

更改但未保存

2

acObjStateNew

新建

4

 

注釋  如果 objectname 參數(shù)引用的對(duì)象未打開或不存在,則 SysCmd 方法將返回零值。

將 ActiveX 控件添加到窗體后,可使用下列代碼在表達(dá)式中啟用 ActiveX 控件:

SysCmd 14, "<ActiveX Control GUID>"

注釋  請(qǐng)使用標(biāo)識(shí)要在表達(dá)式中啟用的 ActiveX 控件的全局唯一標(biāo)識(shí)符 (GUID) 替換 <ActiveX Control GUID>。

注釋  將 ActiveX 控件添加到許用控件列表后,就不能刪除它。