Microsoft Access Club >初心者講座 > CDアルバム管理ソフト >このページ


CDアルバム管理ソフト--SetValue/値の代入アクション



Access のフィールド、フォームのコントロール、またはプロパティのフォーム、データシート、またはレポートに値を代入します。

 

メモ   "SetValue/値の代入" アクションを使用して、オブジェクトを返す Access のプロパティの値を代入することはできません 。

 

 

設定値

"SetValue/値の代入" アクションでは、次の引数を使用します。

引数

内容

Item
アイテム

値を代入するフィールド、コントロール、またはプロパティの名前を指定します。マクロ ウィンドウの [アクションの引数] セクションの [Item/アイテム] ボックスに、フィールド、コントロール、またはプロパティの名前を入力します。アイテムを参照する場合は、完全な構文を使って指定する必要があります。たとえば、マクロを呼び出したフォームまたはレポートのコントロールを参照する場合、コントロール名または Forms!フォーム名!コントロール名の構文を使います。この引数は、省略できません。

Expression

"Item/アイテム" 引数のアイテムに値を代入する式指定します。式の中でオブジェクトを参照する場合は、完全な構文を使う必要があります。たとえば、[社員] フォームの [給与] コントロールの値を 10 % 増やす場合は、「Forms!社員!給与*1.1」と入力します。この引数は、省略できません。

メモ   この引数では式の前に等号 (=) を付けません。等号を付けると式が評価され、評価された結果の値がこの引数の式と見なされます。その場合、式が文字列式であると、予期しない結果になることがあります。

たとえば、この引数に「="String1"」と入力した場合は、まずこの式が String1 と評価されます。次に String1 がこの引数の式として使われ、マクロを呼び出したフォームやレポートに [String1] というコントロールまたはプロパティがあると解釈されます。

 

メモ   Access データベース (.mdb) で式ビルダを使ってこれらの引数に指定する式を作成するには、[Item/アイテム] ボックスまたは [Expression/式] ボックスの右側の ビルド をクリックします。

 

 

解説

このアクションは、フォームや、フォームのデータシート、レポートにあるフィールドやコントロールの値の代入に使います。
また、任意のビューで表示されたコントロール、フォーム、およびレポートのほとんどのプロパティの値を代入することもできます。
特定のプロパティがマクロを使って設定できるかどうか、またどのビューに値を代入できるかについては、オンライン ヘルプで各プロパティのトピックを参照してください。

フォームに連結コントロールがない場合でも、フォームの基になるテーブルのフィールドの値を設定することができます。
このようなフィールドに値を設定するときは、[Item/アイテム] ボックスでForms!フォーム名!フィールド名という構文を使います。レポートの基になるテーブルのフィールドの場合は、Reports!レポート名!フィールド名という構文を使います。
レポートでは、このフィールドに連結されたコントロールがあるか、または演算コントロールでこのフィールドが参照されている必要があります。

値を設定するコントロールがフォームにある場合、"SetValue/値の代入" アクションではコントロールのフォーム レベルの入力規則のチェックは行われません。
しかし、コントロールが連結コントロールの場合は、基になるフィールドのテーブル レベルの入力規則がチェックされます。"SetValue/値の代入" アクションでは、再計算も行われますが、再計算はすぐに行われるとは限りません。
再描画および再計算を強制的に行うには、"RepaintObject/オブジェクトの再描画" アクションを使います。"SetValue/値の代入" アクションでコントロールに設定する値は、コントロールまたは基になるフィールドの "InputMask/定型入力" プロパティに設定された定型入力の影響を受けません。

コントロールの値を変更するには、コントロールの "AfterUpdate/更新後処理" イベント プロパティに割り当てたマクロで "SetValue/値の代入" アクションを使います。
しかし、コントロールの "BeforeUpdate/更新前処理" イベント プロパティに割り当てたマクロでこのアクションを使って、コントロールの値を変更することはできません。
ただし、この場合でも、他のコントロールの値を設定することは可能です。フォームの "BeforeUpdate/更新前処理" プロパテや"AfterUpdate/更新後処理" プロパティに割り当てたマクロでは、"SetValue/値の代入" アクションを使って、カレント レコードのコントロールの値を変更することができます。

 

 

メモ 

  "SetValue/値の代入" アクションでは次のコントロールの値の設定はできません。

  • レポートの連結コントロールおよび演算コントロール
  • フォームの演算コントロール

 

 

ヒント  

  • "SetValue/値の代入" アクションで、フォーム ビューで表示されたフォームの表示/非表示を切り替えることができます。
  • [Item/アイテム] ボックスに「Forms!フォーム名.Visible」と入力し、[Expression/式] ボックスに「No/いいえ」または「Yes/はい」を入力します。作業ウィンドウ固定 (モーダル) フォームの "Visible/可視" プロパティに [No/いいえ] を設定すると、フォームは非表示になり、作業ウィンドウ固定ではなくなります。
  • [Yes/はい] を設定するとフォームは表示され、再び作業ウィンドウ固定となります。
  • マクロで "SetValue/値の代入" アクションを使って、コントロールにあるデータの値の変更や新しいデータの追加を行っても、BeforeUpdate、BeforeInsert、または Change などのイベントは発生しません。
  • これらのイベントは、ユーザー インターフェイスでコントロールのデータの変更や入力を行うと発生します。また、Visual Basic を使ってコントロールの値を設定した場合も、これらのイベントは発生しません。
  • このアクションは、Visual Basic では使用することはできません。Visual Basic では、値を直接代入してください。

 


CDアルバム管理ソフト--SetValue/値の代入アクション


 

--Microsoft Access Club--