SysCmd メソッド (Access)Application.SysCmd method (Access)

SysCmdメソッドを使用すると、進行状況インジケーターまたはオプションで指定したテキストをステータスバーに表示したり、Microsoft access とそれに関連付けられたファイルについての情報を返したり、指定したデータベースオブジェクトの状態を返したり (オブジェクトがあるかどうかを示す) したりできます。を開く、新しいオブジェクト、または変更されましたが、保存されていません。You can use the SysCmd method to display a progress meter or optional specified text in the status bar, return information about Microsoft Access and its associated files, or return the state of a specified database object (to indicate whether the object is open, is a new object, or has been changed but not saved). Variant 型です。Variant.

構文Syntax

SysCmd(ActionArgument2Argument3)expression.SysCmd (Action, Argument2, Argument3)

expression**Application** オブジェクトを 表す変数。expression A variable that represents an Application object.

パラメーターParameters

名前Name 必須 / オプションRequired/Optional データ型Data type 説明Description
ActionAction 必須Required AcSysCmdActionAcSysCmdAction 実行するアクションの種類を識別するAcSysCmdAction定数。An AcSysCmdAction constant that identifies the type of action to take. これらの定数は進行状況インジケーターに適用されます。This set of constants applies to a progress meter. これらの操作が正常に実行された場合、 SysCmdメソッドはNull値を返します。The SysCmd method returns a Null if these actions are successful. それ以外の場合、Access は実行時エラーを生成します。Otherwise, Access generates a run-time error.
Argument2Argument2 省略可能Optional VariantVariant ステータスバーに左揃えで表示するテキストを指定します。The text to be displayed left-aligned in the status bar. この引数は、引数_Action_が定数 acsyscmdinitmeteracSysCmdUpdateMeter、または定数 acsyscmdsetstatusの場合に必須です。この引数は、他の_アクション_の引数の値に対しては無効です。This argument is required when the Action argument is acSysCmdInitMeter, acSysCmdUpdateMeter, or acSysCmdSetStatus; this argument isn't valid for other Action argument values.

: _Action_パラメーターの定数 acsyscmdgetobjectstate値を指定する場合は、適切な**acobjecttype** 定数を指定する必要があります。NOTE: When you specify the acSysCmdGetObjectState value for the Action parameter, you must specify the appropriate AcObjectType constant.
Argument3Argument3 省略可能Optional VariantVariant 進行状況インジケーターの表示を制御する数値式を指定します。A numeric expression that controls the display of the progress meter. この引数は、 _Action_引数が定数 acsyscmdinitmeterの場合に必須です。この引数は、他の_アクション_の引数の値に対しては無効です。This argument is required when the Action argument is acSysCmdInitMeter; this argument isn't valid for other Action argument values.

: _Action_パラメーターの定数 acsyscmdgetobjectstate値を指定する場合は、データベースオブジェクトの名前を指定する必要があります。NOTE: When you specify the acSysCmdGetObjectState value for the Action parameter, you must specify the name of the database object.

戻り値Return value

バリアント型Variant

注釈Remarks

たとえば、新しいフォームを作成するカスタム ウィザードで、、SysCmd メソッドを使用して、フォーム作成の進行を進行状況インジケーターに表示できます。For example, if you are building a custom wizard that creates a new form, you can use the SysCmd method to display a progress meter indicating the progress of your wizard as it constructs the form.

さまざまな進行状況インジケーター アクションで SysCmd メソッドでを呼び出すと、所要時間やステップ数のわかっている操作の進行状況を、ステータス バーの進行状況インジケーターに表示できます。By calling the SysCmd method with the various progress meter actions, you can display a progress meter in the status bar for an operation that has a known duration or number of steps, and update it to indicate the progress of the operation.

ステータスバーに進行状況インジケーターを表示するには、最初に、定数 acsyscmdinitmeter _Action_引数と_Text_と_Value_の引数を指定してSysCmdメソッドを呼び出す必要があります。To display a progress meter in the status bar, you must first call the SysCmd method with the acSysCmdInitMeter Action argument, and the Text and Value arguments. 引数_Action_が定数 acsyscmdinitmeterの場合、引数_Value_には、メーターの最大値、つまり100パーセントを指定します。When the Action argument is acSysCmdInitMeter, the Value argument is the maximum value of the meter, or 100 percent.

メーターを更新して操作の進行状況を表示するには、 acSysCmdUpdateMeter _Action_引数と Value 引数を_指定_してSysCmdメソッドを呼び出します。To update the meter to show the progress of the operation, call the SysCmd method with the acSysCmdUpdateMeter Action argument and the Value argument. 引数_Action_がacSysCmdUpdateMeterの場合、 SysCmdメソッドは引数_Value_を使用して、メーターに表示されるパーセンテージを計算します。When the Action argument is acSysCmdUpdateMeter, the SysCmd method uses the Value argument to calculate the percentage displayed by the meter. たとえば、最大値が 200 のときに引数 value に 100 を指定すると、進行状況インジケーターが半分まで進みます。For example, if you set the maximum value to 200 and then update the meter with a value of 100, the progress meter will be half-filled.

定数 acsyscmdsetstatus _Action_引数と_text_引数を指定してSysCmdメソッドを呼び出すことで、ステータスバーに表示されるテキストを変更することもできます。You can also change the text that's displayed in the status bar by calling the SysCmd method with the acSysCmdSetStatus Action argument and the Text argument. たとえば、並べ替えの際に、テキストを "並べ替え" に変更する場合があります。For example, during a sort you might change the text to "Sorting...". 並べ替えが完了したら、テキストを削除してステータスバーをリセットします。When the sort is complete, you would reset the status bar by removing the text. 引数_Text_には、約80文字を含めることができます。The Text argument can contain approximately 80 characters. ステータスバーのテキストはプロポーショナルフォントを使用して表示されるので、表示できる実際の文字数は、引数_text_で指定されたすべての文字の合計幅によって決まります。Because the status bar text is displayed by using a proportional font, the actual number of characters you can display is determined by the total width of all the characters specified by the Text argument.

ステータス バーに表示する文字数を増やすと、インジケーターはその分短くなります。As you increase the width of the status bar text, you decrease the length of the meter. テキストがステータスバーよりも長く、引数_Action_が定数 acsyscmdinitmeterの場合、 SysCmdメソッドは、テキストを無視し、ステータスバーには何も表示しません。If the text is longer than the status bar and the Action argument is acSysCmdInitMeter, the SysCmd method ignores the text and doesn't display anything in the status bar. テキストがステータスバーよりも長く、引数_Action_が定数 acsyscmdsetstatusの場合、 SysCmdメソッドは、ステータスバーに合うようにテキストを切り捨てます。If the text is longer than the status bar and the Action argument is acSysCmdSetStatus, the SysCmd method truncates the text to fit the status bar.

長さ 0 の文字列 ("") は、ステータス バーに表示する文字として指定できません。You can't set the status bar text to a zero-length string (" "). ステータスバーから既存のテキストを削除する場合は、引数_text_を1つのスペースに設定します。If you want to remove the existing text from the status bar, set the Text argument to a single space. 次の例は、ステータス バーから文字を消去する方法を示しています。The following examples illustrate ways to remove the text from the status bar:

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

定数 acsyscmdsetstatus _Action_引数を指定してsyscmdメソッドを呼び出すことによってテキストを設定したときに進行状況インジケーターが既に表示されている場合、 syscmdメソッドは自動的にメーターを削除します。If the progress meter is already displayed when you set the text by calling the SysCmd method with the acSysCmdSetStatus Action argument, the SysCmd method automatically removes the meter.

その他のアクションを使用してSysCmdメソッドを呼び出して、access のバージョン番号、実行時バージョン、access 実行ファイルの場所、/profile の設定など、access に関するシステム情報を調べます。コマンドラインで指定された引数と、Access に関連付けられている .ini ファイルの名前です。Call the SysCmd method with other actions to determine system information about Access, including which version number of Access is running, whether it is a run-time version, the location of the Access executable file, the setting for the /profile argument specified in the command line, and the name of an .ini file associated with Access.

注意

Access の全般およびカスタマイズされた設定は、Windows レジストリに保存されるようになったため、Access アプリケーションで .ini ファイルが必要になることはほとんどありません。Both general and customized settings for Access are now stored in the Windows Registry, so you probably won't need an .ini file with your Access application. AcSysCmdIniFile _Action_引数は、以前のバージョンの Access との互換性を維持するために存在します。The acSysCmdIniFile Action argument exists for compatibility with earlier versions of Access.

定数 acsyscmdgetobjectstate _Action_引数と_ObjectType_および_ObjectName_引数を指定してSysCmdメソッドを呼び出すと、指定したデータベースオブジェクトの状態を取得できます。Call the SysCmd method with the acSysCmdGetObjectState Action argument and the ObjectType and ObjectName arguments to return the state of a specified database object. オブジェクトは、開いていないか存在しない、開いている、新しい、または変更後保存されていない、の 4 つのいずれかの状態が考えられます。An object can be in one of four possible states: not open or nonexistent, open, new, or changed but not saved.

たとえば、テーブルに新しいフィールドを挿入するウィザードをデザインする場合に、テーブルの構造に加えられた変更の保存が済んでいないことが確認できたら、挿入する前に保存できるようにします。For example, if you are designing a wizard that inserts a new field in a table, you need to determine whether the structure of the table has been changed but not yet saved, so that you can save it before modifying its structure. SysCmd メソッドが返す値で、テーブルの状態が確認できます。You can check the value returned by the SysCmd method to determine the state of the table.

定数 acsyscmdgetobjectstate _Action_引数を指定したSysCmdメソッドは、次の定数の任意の組み合わせを返すことができます。The SysCmd method with the acSysCmdGetObjectState Action argument can return any combination of the following constants.

定数Constant データベース オブジェクトの状態State of database object Value
acObjStateOpenacObjStateOpen 開いているOpen 1-d1
acObjStateDirtyacObjStateDirty デザインの変更後保存されていないDesign changed but not saved pbm-22
acObjStateNewacObjStateNew 新しいNew 2/44

注意

_ObjectName_引数によって参照されるオブジェクトが開かれていないか、存在しない場合、 SysCmdメソッドは0の値を返します。If the object referred to by the ObjectName argument is either not open or doesn't exist, the SysCmd method returns a value of zero.

次のコードを使用すると、activex コントロールがフォームに追加されたときに、式で ActiveX コントロールの使用を有効にすることができます。The following code can be used to enable the use of your ActiveX control in expressions when the ActiveX control has been added to a form.

SysCmd 14, "<ActiveX Control GUID>" 

注意

  • <ActiveX Control GUID> 、式で有効にする ActiveX コントロールを識別するグローバル一意識別子 (GUID) に置き換えます。Replace <ActiveX Control GUID> with the globally unique identifier (GUID) that identifies the ActiveX control that you want to enable in expressions.
  • 許可されたコントロールの一覧に追加された ActiveX コントロールを削除することはできません。You cannot remove an ActiveX control after it has been added to the list of allowed controls.

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.