Microsoft Access 掲示板

連想配列のキーに、以上や以下の要素を使う方法(PDF内の表をAccessに取り込んで活用したい) / 4

9 コメント
views
4 フォロー
4

連想配列のキーに、以上・未満の条件式が使えれば良いのですが、可能なのでしょう?

連想配列のキーは完全一致しか無理です。完全一致なので高速に検索できるのです。


    If x  < 63000 Then
        gr = 1
      Else
        If x >= 63000 And x < 73000 Then
            gr = 2
       Else
         If x >= 73000 And x < 83000 Then
             gr = 3
      End if

このコードなら、xが10000間隔でgrが1増えていくという規則性があるので、下記のようなコードで可能です。

    If x < 63000 Then
        gr = 1
    Else
        gr = (x - 63000) \ 10000 + 2
    End If

間隔が不規則であるなら、下記のようなテーブルを作成してそれを参照すればいいでしょう。

grx_low
10
263000
373000
485000
592000
6107000

x_lowには範囲の下限値を入力しておきます。
また、インデックスを設定しておくと高速に検索できます。
下記のコードでgrを取得できます。

    gr = DMax("gr","tbl1","x_low<=" & x)
通報 ...