- 締切済み
Accessで、フィールドにルックアップリストを設定した場合に表示される数値について
Accessで、フィールドにルックアップリストを設定したときに、 表示される数値について不明な点があります。 詳細は以下のとおりです。 【詳細】 次のようなテーブルがあります。(「顧客名簿」テーブルと「地域ID」テーブル) ■テーブル名「顧客名簿」 顧客ID 顧客名 地域ID 住所 001 佐藤一郎 8 大阪府堺市 002 鈴木二郎 8 大阪府八尾市 003 山口三郎 8 兵庫県姫路市 004 野中四郎 9 広島県広島市 005 早川博史 4 千葉県習志野市 006 山本剛史 3 福島県福島市 ------------------------------------------------------------------------------- ■テーブル名「地域リスト」 No 都道府県名 地域ID 1 北海道 1 2 青森県 2 3 秋田県 2 4 岩手県 2 5 宮城県 3 6 山形県 3 7 福島県 3 8 茨城県 4 9 栃木県 4 10 群馬県 4 11 埼玉県 4 12 千葉県 4 ・ ・ ・ ・ 29 大阪府 8 30 兵庫県 8 ※途中、No.13からNo.28までの表示を省略しました。 ------------------------------------------------------------------------------ 次の操作を行います。 【操作手順】 (1)テーブル「顧客名簿」のデザインビューを表示する。 (2)「地域IDフィールド」の、「データ型」を変更するために、 「地域IDフィールド」の「データ型」をクリックし、 一覧から「ルックアップウィザード」を選択する。 (3)「テーブルまたはクエリの値をルックアップ列に表示する」を選択する。 (4)「次へ」をクリック。 (5)「表示」エリアから「テーブル」を選択し、リストの一覧から 「テーブル:地域リスト」を選択する。 (6)「次へ」をクリック。 (7)ルックアップ列に表示するフィールドを表示順に選択する。 まず、キー列「No」を選択、次に「地域ID」、続いて「都道府県」を選択する。 (8)「次へ」をクリック。 (9)「キー列を表示しない(推奨)」のチェックボックスがオンになっていることを確認し、 「次へ」をクリック (10)ラベルの表示が「地域ID」となっていることを確認し、「完了」をクリック (11)保存を確認するダイアログボックスが表示されるので、「はい」をクリック 以 上 ------------------------------------------------------------------------------- 【疑問点】 上記操作を実施後、 テーブル「顧客名簿」を表示した時に、 次のように表示されている。(地域IDの数字が変更されている。) ■テーブル名「顧客名簿」 顧客ID 顧客名 地域ID 住所 OO1 佐藤一郎 4 大阪府堺市 002 鈴木二郎 4 大阪府八尾市 003 山口三郎 4 兵庫県姫路市 004 野中四郎 4 広島県広島市 005 早川博史 2 千葉県習志野市 006 山本剛史 2 福島県福島市 このとき、地域IDの数値が、 何故、このように、「4」や「2」に変わるのかがわかりません。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- CHRONOS_0
- ベストアンサー率54% (457/838)
>はじめに設定されていた数値と異なる値が表示されることになり、 >再度、ルックアップリストで数値を修正しなければならなくなるのは、 >不自然な感じがします。 ????なんか思いっきり勘違いしていません? AテーブルがBテーブルを参照しているとき Aテーブルのフィールドでルックアップを使いBテーブルの値を表示させようとしたとき 両者を結ぶのが連結列ですよ あなたのやったことがおかしな結果を返している原因は 地域IDと関係のないNOなんてフィールドを連結しているからです だから本当は何がしたいの?と聞いたのです 普通は顧客リストの地域IDフィールドのところに地域リストの都道府県名を表示させたいときに ルックアップを使用します
- CHRONOS_0
- ベストアンサー率54% (457/838)
>このとき、地域IDの数値が、 >何故、このように、「4」や「2」に変わるのかがわかりません。 >(7)ルックアップ列に表示するフィールドを表示順に選択する。 > まず、キー列「No」を選択、次に「地域ID」、続いて「都道府県」を選択する。 とすると連結列はNo、表示されるのは地域IDになります 元の値が8と9の顧客の分は地域リストNo8,9、茨木・栃木の地域ID4が表示されます 元の値が4と3は地域リストNo4,3の秋田・岩手の地域ID2が表示されるのです 本当は何がしたいの?
お礼
CHRONOS_0様 ご返答ありがとうございました。 教えていただいたことにつきまして確認させていただきます。 フィールドに、ルックアップウィザードでルックアップリストを設定した場合は、 そのフィールドには、元の値と一致する連結列の値の、元のテーブルと 同じフィールドの値が設定されるということですね? (ちょとわかりにくいですので以下のとおり例をあげます。) 例えば、 (1)「元の値」・・・・8 ←顧客名簿の「地域ID」フィールド (2)「元の値と一致する連結列の値」・・・・8 ←地域リストの「No」フィールド (3)「元の値と一致する連結列の値(8)の、元のテーブル(顧客名簿) と同じフィールド(地域ID)の値」・・・・4 ←地域リストの「地域ID」フィールド どのようなテーブルでもこのように表示されるのでしょうか? もし、すべてのテーブルにおいて、このように、 連結列の値をみて、元のテーブルと同じフィールドの値が 設定されるのであれば、 これは、Access自体がこのような仕組みになっているのでしょうか? もし、この現象が、Accessの仕組みであると、 フィールドに数値が入っている状態で、 そのフィールドにルックアップウィザードを使って、 ルックアップリストを設定した場合は、 はじめに設定されていた数値と異なる値が表示されることになり、 再度、ルックアップリストで数値を修正しなければならなくなるのは、 不自然な感じがします。
補足
CHRONOS_0様 「本当は何がしたいの?」という質問に対して、未回答でした。 顧客名簿に、全国の顧客の情報を入力します。 その際に地域で分類するために、 地域IDという列を設定して管理します。 地域IDは、地域リストのテーブルの値を引用します。 話は変わりますが、次の操作をして結果が変わりましたので、 ご報告いたします。 説明しました手順で設定したあとに、 顧客名簿テーブルをデザインビューで表示し、 地域IDのフィールドプロパティの、ルックアップタブをクリックして、 連結列の設定を「1」から「2」に変更すると、 地域IDが正しく表示されるようになりました。 フィールドプロパティの連結列の値を「1」にしているときは、 CHRONOS_0様がおしゃられているように、 元の値の、「No.」の地域IDの値が表示されるようになっています。 以上です。