前提
Accessで選択クエリを作成する過程で、DLookUp関数でエラーが発生しており困っています。
・テーブル1
商品コード
ジャンル
ランク
ジャンル&ランクの複合キー
・テーブル2
ジャンル
ランク
ジャンル&ランクの複合キー
1週目の売上平均
2週目の売上平均
3週目の売上平均
…
52週目の売上平均
・テーブル3
商品コード
発売経過週
テーブル1とテーブル2は複合キーで結合、テーブル1とテーブル3は商品コードで結合されています。
コード及び実現したいこと
同週売上平均: DLookUp([発売経過週] & "週目の売上平均","テーブル2","ジャンル&ランクの複合キー = " & [テーブル2].[ジャンル&ランクのキー])
上記の構文を持って、クエリに商品のジャンル、ランク、発売経過週に合った売上平均の値が抽出されたフィールドを作りたいです。
発生している問題・エラーメッセージ
クエリ パラメータとして指定した式でエラー '式に指定した名前 'ジャンル&ランクの複合キ―' が見つかりません。' が発生しました
上記のエラーが全件に渡って発生します。
テーブル2で該当するジャンル&ランクの複合キ―がない可能性も探りましたが、あるためテーブル側に問題はないように見受けます。
もしDLookUpじゃなくても別の方法で対応可能ならば、ご教示いただけると嬉しいです。
よろしくお願いいたします。
"ジャンル&ランクの複合キー"という名前のフィールドがあるということでしょうか?もしそうならそのフィールドのデータ型はなんでしょう。
それとテーブルの正規化ができてないですが、できない理由はありますか?
各テーブルの主キーを明示して下さい。
・テーブル1
商品コード 短いテキスト型 主キー
ジャンル 短いテキスト型
ランク 短いテキスト型
ジャンル&ランクの複合キー 短いテキスト型
・テーブル2
ジャンル 短いテキスト型
ランク 短いテキスト型
ジャンル&ランクの複合キー 短いテキスト型 主キー
1週目の売上平均 数値型
2週目の売上平均 数値型
3週目の売上平均 数値型
…
52週目の売上平均 数値型
・テーブル3
商品コード 短いテキスト型 主キー
発売経過週 短いテキスト型(例えば52週目ならば、「52」ではなく諸事情あって「W52」としています)
テーブル3は
テーブルの正規化は私がAccess及びデータベース初心者であるため、できていないというのが実態です。
よろしくお願いいたします。

回答2件
あなたの回答
tips
プレビュー