OK、私はAccess 2003を使用していて、数日前にAccessとVBAを学び始めました。
モジュールにコードを記述しましたが、デバッガツールバーの上部にある再生ボタンを押してもエラーは発生しません。
実際にデータベースでこのコードを実行して、何かを実行する方法を教えてください。
言い換えれば、モジュールをどのように利用しますか?
私が一生懸命苦労しているので、締め切りは木曜日です。
ありがとう!
まあそれはあなたがこのコードをどのように呼びたいかに依存します。
フォームのボタンクリックから呼び出しますか?フォームのボタンのプロパティで、[イベント]タブに移動し、[クリック時]項目で[イベントプロシージャ]を選択します。これにより、そのボタンのVBAコードウィンドウが開きます。次に、Module.Routineを呼び出し、ボタンをクリックするとトリガーされます。
これに似ています:
Private Sub Command1426_Click()
mdl_ExportMorning.ExportMorning
End Sub
このボタンクリックイベントは、Module mdl_ExportMorning
およびPublic Sub ExportMorning
を呼び出します。
テスト目的で関数を実行するだけの場合は、Accessで Immediate Window を使用できます。
VBAエディターで_Ctrl + G
_を押して開きます。
その後、次のように関数を実行できます。
?YourFunction("parameter")
YourSub "parameter"
_?variable
_モジュールを実行していない-たまたまモジュールに格納されているサブルーチン/関数を実行している。
スタンドアロンモジュールにコードを配置し、サブルーチン/関数の定義でスコープを指定しない場合、それらはデフォルトでパブリックになり、アプリケーション内のどこからでも呼び出すことができます。つまり、マクロ内のRunCodeを使用して、フォーム/レポートのクラスモジュールから、スタンドアロンのクラスモジュールから、または関数の場合はSQLから(いくつかの注意点があります)呼び出すことができます。
SQLに対して複雑すぎると感じたものをVBAに実装しようとした場合、SQLはコードを実行するコンテキストとして考えられます。したがって、SQLステートメント内で関数を呼び出すことができるはずです。
SELECT MyTable.PersonID, MyTable.FirstName, MyTable.LastName, FormatAddress([Address], [City], [State], [Zip], [Country]) As Address
FROM MyTable;
そのSQLは、アドレスのコンポーネントを引数として取り、適切にフォーマットするFormatAddress()というパブリック関数を呼び出します。これはVBA関数を必要としない可能性が高いので簡単な例ですが、ポイントは、SQLステートメント内から関数を呼び出す方法です。
サブルーチン(つまり、値を返さないコード)は、SQLステートメント内から呼び出すことはできません。