2016-03-25 7 views
0

まず、この質問に対する回答を検索しましたが、すべての検索でクエリでグローバル変数を使用する方法に対する回答が見つかりました。私はそれを行う方法を知っています。SQL文字列を使用してMS Accessグローバル変数を定義する方法

私がしたいことは、データが変更されたときに計算されているUseRatesを呼び出すクエリオブジェクトを作成することです。これは簡単です。その後

Public gUseRate1 = "SELECT qryUseRates.UseRate FROM qryUseRates WHERE lngAgeGrp = 1" 

:不明な答えは、グローバル変数の定義のようなものを(クエリオブジェクトの名前はqryUseRatesです)になりますことを、グローバル変数に(このクエリの結果または入力)このクエリを呼び出す方法ですもちろん、他の4つの使用率についても同様に4つのグローバル変数を定義します(それぞれのwhere節を変更します)。

理由:使用率は集計されたすべての地理的エリアで計算されますが、各地理的エリアに別々に適用されます。したがって、qryUseRatesは5行を返しますが、これらのレートを使用するクエリは100行に近く、2つのクエリを結合する方法は見当たりません。

フォローアップ。変数が定義されたら、私はどうなる:

Public Function GetUseRate1() 
getuserate1 = gUseRate1 

を次に、新しいクエリオブジェクトに移動し、私はそれを必要な場所、私はGetUseRate1()を使用します。グローバル変数が適切に定義されていると、これはうまくいくように思えます。

+0

だからあなたの質問は、私はクエリを実行し、変数に結果のフィールドを読むにはどうすればよい*です*? ? (実際には、配列を読み込んで、すべての変数をまとめておくことができますが、5つの別々の変数を使用することはできます)。*あなたが何を求めているのでなければ、私はできませんあなたが書いたことを理解する。 –

+0

ケン、それは私が探しているものです。ありがとう、私はGustavがDLookup()でそれを持っていることがわかります。 – random13

答えて

0

利用のDLookup:

Public gUseRate1 As Currency 
gUseRate1 = DLookup("UseRate", "qryUseRates", "lngAgeGrp = 1") 

「見つからない」場合に期待されることがあります。

gUseRate1 = Nz(DLookup("UseRate", "qryUseRates", "lngAgeGrp = 1"), 0) 
+0

まさに!本当にありがとう。私はDLookup()のパスを開始したが、グローバル変数に変わったので、必要な答えが得られる前にグローバルが別の用途に必要だったので、私はそれらの両方が好きで、今ではそれらを私の武器の中に持っています。再度、感謝します。 – random13

+0

素晴らしい!それから答えてください。 – Gustav

関連する問題