
いつも大変お世話になっております。m(_ _)m
Accessの質問をさせてください。
マスタテーブルを作成し、マスタ情報を元に他テーブルで値を参照したいのですが、マスタのキーになるフィールドの情報が「数値範囲」の場合は、どのように参照できるのでしょうか?
例)
数字が
2~8の場合はA
9~15の場合はB
16~100の場合はC
というようなマスタがあり、他テーブルの情報は
(1)・・・5
(2)・・・12
(3)・・・80
という数値が入っています。
マスタ情報を参照して
(1)・・・5/A
(2)・・・12/B
(3)・・・80/C
というように参照したいのですが、マスタテーブルの作り方やクエリでの算出の仕方を教えてください。
2~8の場合は、2,3,4,5,6,7,8とすべてのパターンを作っておけばよいのでしょうが、もっと良い方法はありませんか?
お手数おかけします。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
<データ>
ID___数値
1____5
2____12
3____80
<クエリ1>
ID______数値__翻訳結果
1_____5_________A
2____12________B
3____80________C
このクエリをSQLビューで参照すると・・・
SELECT データ.ID, データ.数値, XferValue([数値]) AS 翻訳結果 FROM データ;
Public Function XferValue(ByVal N As Integer) As String
Dim R As String
Select Case N
Case 2 To 8
R = "A"
Case 9 To 15
R = "B"
Case 16 To 100
R = "C"
Case Else
End Select
XferValue = R
End Function
質問者は、この関数の条件文と戻り値をテーブルにしようとしているのでしょうか?
ならば、XferValue 関数をテーブル参照方式にすればいいでしょう。
しかし、こういうテーブル設計を要求されるケースに未だ遭遇したことがありません。
よっぽど特殊なアプリケーションの開発でもしているのでしょうかね。
回答ありがとうございます。
「特殊なアプリケーション」というわけではなく(^^;)
基準となるマスタが、「数値が2~8の場合は・・・A」とか数値範囲が指定されていて、困ってしまっています。
100や200くらいの数値なら、すべてのパターンでマスタを作っておこうかと思いましたが、何万もの量なので無理だと思いまして↑上記の質問をさせていただきました。
挑戦してみます。ありがとうございました。
No.3
- 回答日時:
私なら・・・って参考意見です
マスタは#1さんと同じ感じで
参照は、
DLookUp("値","マスタ",[数値] & " Between 下限 And 上限")
と、DLookUp関数を使うか?サブクエリにしますが・・・
回答ありがとうございます。
挑戦してみます。
再度不明な点が出ましたら、補足させていただくかもしれません。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel関数 情報引用する方法 4 2022/07/31 20:59
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- SQL Server AccessのInsertクエリのあとつづけてDeleteクエリを行いたいがSQLでどう書いたらいい 3 2023/05/27 14:12
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- Excel(エクセル) Excel M365 データチェックの仕掛けを作りたい 2 2023/06/03 23:54
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access レコードを追加できませ...
-
ACCESS 複数テーブル・複数フィ...
-
検索結果の列数を動的に変更したい
-
【Access】外部結合を行う前に...
-
INSERT文で発行したオートナン...
-
列が255以上のCSVファイルをAcc...
-
AccessのInsertクエリのあとつ...
-
複数あるAccessのテーブルを一...
-
AS/400のDBについて
-
データを削除しても表領域の使...
-
ORA-00959: 表領域'****'は...
-
異なるスキーマからデータを抽...
-
Viewにインデックスは張れ...
-
DELETE文でFROM句を省略した場合
-
Data Pump で大量データインポ...
-
viewのバックアップ
-
datapumpの実行方法について
-
SQL*Loaderで、データを加工し...
-
テーブルからのselectにおいて...
-
特定のスキーマのテーブルを一...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS 複数テーブル・複数フィ...
-
Access レコードを追加できませ...
-
検索結果の列数を動的に変更したい
-
【Access】外部結合を行う前に...
-
列が255以上のCSVファイルをAcc...
-
複数テーブルをひとつのテーブ...
-
INSERT文で発行したオートナン...
-
AccessのInsertクエリのあとつ...
-
AS/400のDBについて
-
お知恵をお貸しください。
-
データベースの正規化について
-
出勤管理のデータベース設計
-
コンボボックスの2段階絞込み
-
Access2002 マスタテーブル変更...
-
売価変更がある商品の売上金額
-
Access2000での複合検索について
-
Accessのテーブル内の文字の置...
-
複数あるAccessのテーブルを一...
-
データを削除しても表領域の使...
-
Viewにインデックスは張れ...
おすすめ情報