
Access97でグローバル変数を持ちたいと思ったのですが、
それらしきものが見つかりません。
Public変数というものがあるのですが、これはプロシージャ-単位で
しか定義できないようです。
ひとつのデータベース全体でグローバルに定義できる定数を持ちたいのです。
たとえば、データベース内で頻繁に読み込む必要があるファイルのPATH
"C:\Program Files\Netscape\Communicator\"を
固定で持っておきたい。
何か方法はないでしょうか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
もし、定数でいいのであれば、
標準モジュールに、
Const DATAPATH = "C:\Program Files\Netscape\Communicator\"
のように書けば、どこからでもDATAPATHと言う名前で参照することができます。
変数である必要があるのなら、同じく標準モジュールに、
Global glbDataPath as String
Public Sub PathSet()
glbDataPath = "C:\Program Files\Netscape\Communicator\"
Exit
と書いておき、AutoExecマクロのモジュールを開くでPathSetサブルーチンを呼び出せばよいと思います。
この回答への補足
すみません。基本的なことも分からずちょっと混乱しています。
プロシージャとモジュールの概念を間違っていましたので整理します。
aptivaさんのご指摘は、モジュール内で有効な手法なのでしょうか?
それとも、データベース全体(すべてのモジュール)から
参照可能なのでしょうか?
データベースの「モジュール」タブで新規にモジュールを作成しても
他のクラスモジュールから参照することができません。
基本的に標準モジュールの作成方法が間違っているような気もします!?
クラスモジュールはたくさん作成しているのですが、
標準モジュールは作ったことがありません。
基本的な質問で申し訳ありませんが、ご助言お願いします。
No.2
- 回答日時:
aptivaさんからすでに回答が出ていますが、まだ補足がないようですので代わりに私が、
標準モジュールで定義してやれば、データベース全体から参照が可能です。
具体的には、
まず、モジュールタブで新規作成をクリックして、標準モジュールを開きます。
定数として定義するなら、標準モジュールのモジュール レベルで (宣言セクション:Option Explicitの次の行に)、
Public Const DataPath As String = "C:\Program Files\Netscape\Communicator\"
と記述してやれば、定数 DataPath が使えます。
変数として定義するなら、宣言セクションに
Public DataPath As String
と記述して、Public変数を定義してやり、
さらに、以下のような Functionプロシージャをつくり、
Public Function PathSet()
DataPath = "C:\Program Files\Netscape\Communicator\"
End Function
これを AutoExecマクロで実行(プロシージャの実行でプロシージャ名に PathSet() と記述、マクロ名を“AutoExec”とする。)してやれば、データベースを開く際に、変数にパスの内容が代入されます。
HELP で、Const ステートメント、Public ステートメント、AutoExec マクロ を確認してみてください。
具体的に分かりやすくご説明していただきありがとうございました。
しかし、まったく同じようにしてもできませんでした。
でも、お蔭様で解決しました。
単純に定数名(変数名)を既にクラスモジュールでpublic宣言して使用していた
ものを使ってしまっていただけでした。
お騒がせいたしました。
そして、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
- 数学 モデルのパラメータの定義がいまいちわかりません。 3 2022/10/11 15:16
- 数学 正規数の定義で分からないことがあります。 正規数の定義について専門書において 「xがr進正規であると 1 2023/07/17 20:50
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- IT・エンジニアリング IT開発、ソフトウェア開発、アプリ開発において、要件定義は受注の前か、後か? 見積額に含むか否か? 1 2022/06/20 19:02
- Access(アクセス) accessでexcelを読み込む時のデータ型 1 2022/03/28 19:45
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- FTTH・光回線 グローバルIPアドレスの変更について 1 2022/04/23 05:32
- 数学 代数学 環 1 2022/10/12 17:29
- Access(アクセス) Access VBA を利用して、フォルダ内のファイルの名称を変更したい 1 2023/08/03 08:27
このQ&Aを見た人はこんなQ&Aも見ています
-
Access-VBAのPublic変数について =基本的な事です=
Visual Basic(VBA)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
-
4
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
5
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
6
アクセスで定数を利用したい。
Visual Basic(VBA)
-
7
Access終了時にマクロまたはVBAの実行したい
その他(Microsoft Office)
-
8
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
9
Accessでフォームから別フォームのテキストボックスの値を設定する
Visual Basic(VBA)
-
10
前のレコードの値を自動で入れたい
PowerPoint(パワーポイント)
-
11
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
12
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
13
ACCESSのフォームからレポートへの変数の引渡し
Excel(エクセル)
-
14
access vbaにてテンポラリーテーブルが作りたいです。
Access(アクセス)
-
15
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
16
ACCESSで値を代入できないとは?
Visual Basic(VBA)
-
17
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
18
<ACCESS>別テーブルのレコードのテキストデータが中に含まれるレコードを抽出する方法を教えてください
Access(アクセス)
-
19
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
20
access テキストボックスの値取得
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのマクロでモジュールを...
-
Access VBAで行ラベルが定義さ...
-
エクセルVBAでUserFormを起動し...
-
Excel VBAで「プログラム実行」...
-
VBA プロシージャの名前の取得
-
callで順に実行されるプロシー...
-
【Excel VBA】 WorksheetやRa...
-
VBAのプロシージャー間で、変数の受...
-
ACCESS2007インポート時の空白...
-
或るプロシージャの呼び出し元判定
-
OutlookVBAで作成したマクロに...
-
フォームモジュール イベント...
-
excel/vba/public変数
-
ブックオープン時にテキストボ...
-
Accessのプロシージャ名が勝手...
-
Accessでグローバル変数を宣言...
-
Statement ignored というエラー
-
ODBCリンクの際にACCESSでは読...
-
SQLserver算術オーバーフロ...
-
PL/SQLカーソルの2重FORループ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのマクロでモジュールを...
-
Access VBAで行ラベルが定義さ...
-
エクセルVBAでUserFormを起動し...
-
callで順に実行されるプロシー...
-
【Excel VBA】 WorksheetやRa...
-
Excel VBAで「プログラム実行」...
-
或るプロシージャの呼び出し元判定
-
OutlookVBAで作成したマクロに...
-
VBA プロシージャの名前の取得
-
Accessでグローバル変数を宣言...
-
DBMS_OUTPUT.PUT_LINEを実行し...
-
excel/vba/public変数
-
エクセルVBAが対応できるプログ...
-
Excel:ThisWorkbookオブジェク...
-
ACCESS マクロをモジュールに変...
-
ACCESS2007インポート時の空白...
-
ブックオープン時にテキストボ...
-
PL/SQLのエラーについて
-
sp_executesqlを実行してもテー...
-
ExcelVBAでしりとりのやり方を...
おすすめ情報