プロが教えるわが家の防犯対策術!

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」に変わるのかがわかりません。

A 回答 (2件)

>はじめに設定されていた数値と異なる値が表示されることになり、


>再度、ルックアップリストで数値を修正しなければならなくなるのは、
>不自然な感じがします。
????なんか思いっきり勘違いしていません?
AテーブルがBテーブルを参照しているとき
Aテーブルのフィールドでルックアップを使いBテーブルの値を表示させようとしたとき
両者を結ぶのが連結列ですよ

あなたのやったことがおかしな結果を返している原因は
地域IDと関係のないNOなんてフィールドを連結しているからです

だから本当は何がしたいの?と聞いたのです

普通は顧客リストの地域IDフィールドのところに地域リストの都道府県名を表示させたいときに
ルックアップを使用します
    • good
    • 0

>このとき、地域IDの数値が、


>何故、このように、「4」や「2」に変わるのかがわかりません。

>(7)ルックアップ列に表示するフィールドを表示順に選択する。
>   まず、キー列「No」を選択、次に「地域ID」、続いて「都道府県」を選択する。
とすると連結列はNo、表示されるのは地域IDになります
元の値が8と9の顧客の分は地域リストNo8,9、茨木・栃木の地域ID4が表示されます
元の値が4と3は地域リストNo4,3の秋田・岩手の地域ID2が表示されるのです

本当は何がしたいの?

この回答への補足

CHRONOS_0様

「本当は何がしたいの?」という質問に対して、未回答でした。

顧客名簿に、全国の顧客の情報を入力します。
その際に地域で分類するために、
地域IDという列を設定して管理します。
地域IDは、地域リストのテーブルの値を引用します。


話は変わりますが、次の操作をして結果が変わりましたので、
ご報告いたします。

説明しました手順で設定したあとに、
顧客名簿テーブルをデザインビューで表示し、
地域IDのフィールドプロパティの、ルックアップタブをクリックして、
連結列の設定を「1」から「2」に変更すると、
地域IDが正しく表示されるようになりました。

フィールドプロパティの連結列の値を「1」にしているときは、
CHRONOS_0様がおしゃられているように、
元の値の、「No.」の地域IDの値が表示されるようになっています。

以上です。

補足日時:2008/09/25 19:09
    • good
    • 0
この回答へのお礼

CHRONOS_0様

ご返答ありがとうございました。

教えていただいたことにつきまして確認させていただきます。

フィールドに、ルックアップウィザードでルックアップリストを設定した場合は、
そのフィールドには、元の値と一致する連結列の値の、元のテーブルと
同じフィールドの値が設定されるということですね?
(ちょとわかりにくいですので以下のとおり例をあげます。)

例えば、
(1)「元の値」・・・・8 ←顧客名簿の「地域ID」フィールド
(2)「元の値と一致する連結列の値」・・・・8 ←地域リストの「No」フィールド
(3)「元の値と一致する連結列の値(8)の、元のテーブル(顧客名簿)
  と同じフィールド(地域ID)の値」・・・・4 ←地域リストの「地域ID」フィールド


どのようなテーブルでもこのように表示されるのでしょうか?
もし、すべてのテーブルにおいて、このように、
連結列の値をみて、元のテーブルと同じフィールドの値が
設定されるのであれば、
これは、Access自体がこのような仕組みになっているのでしょうか?

もし、この現象が、Accessの仕組みであると、
フィールドに数値が入っている状態で、
そのフィールドにルックアップウィザードを使って、
ルックアップリストを設定した場合は、
はじめに設定されていた数値と異なる値が表示されることになり、
再度、ルックアップリストで数値を修正しなければならなくなるのは、
不自然な感じがします。

お礼日時:2008/09/18 18:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す