2

Accessフォームの背後にVBAでコーディングされたいくつかのボタンがあります。これらのボタンがフッターにあるフォームがいくつかあります (新規、次、前、複製など)。これらのボタンは標準のマクロではありませんが、すべてのフォームで同じコードが機能するほど単純です。

すべてのフォームでコードをコピーして貼り付ける必要がないように、これらのボタン (すべてのフォームで同じ名前を持つ.. テンプレートのようなもの) をコーディングするにはどうすればよいですか? これらのボタンをモジュールに記述し、フォームにそのモジュールのテキストをインポートさせる方法はありますか (他のほとんどの言語と同様)。

ちょっと興味があるんだけど。プログラミングのビーフは私自身のものですが、他の人がフォームコードに小さな編集を加えることになるため、コードをよりクリーン/簡単にします。

4

2 に答える 2

3

Function最も簡単な方法は、標準コード モジュールで for each ボタンの機能を作成することです。次に、各ボタンの Click プロパティを、[Event Procedure]そのボタンに対応する関数の名前 ( など=MyPrevFunction([Form])) に変更します。

これが機能するためには、特にFunctionand ではなく使用する必要があることに注意してくださいSub。VBA では、関数が何かを返す必要はありません。そのため、単にFunctionforという単語を置き換えるだけSubで、変更を加えることができます。

On Click イベントで =MyButtonFunction([Form]) を示すプロパティ シートのスクリーン ショット

写真は千の言葉に値します。

于 2012-05-28T19:30:40.330 に答える
2

@mwolfe02 が提案したアイデアと同様に、ボタンをサブフォームに配置できます。つまり、編集する必要があるのは 1 セットのボタンだけです。さらに、独自のカスタム メニューを設定することもできます。これらは、フォームごとに、またはアプリケーションの「標準」メニューとして呼び出すことができます。独自の右クリック メニューを作成することもできます。

于 2012-05-28T19:51:42.650 に答える