• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクセス2007 ルックアップについて)

アクセス2007でのルックアップ機能の使い方と注意点

このQ&Aのポイント
  • アクセス2007で社員の経歴を入力するため、ルックアップ機能を使います。しかし、ルックアップさせる役職の並びが変わると、既入力データが変わってしまう可能性があります。
  • テーブルBの役職を追加するなどして役職の並びが変わると、既に入力されているデータが変更されてしまいます。これを防ぐためには、経歴役職のフィールドには役職名ではなく、役職のIDを入力するようにします。
  • 役職のIDを入力することで、テーブルBの役職名の変更によっても経歴役職が変わることはありません。ただし、表示する際には経歴役職のIDを役職名に変換する処理が必要です。アクセスの初心者でも、この方法ならデータの変更を防ぐことができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

#1です > ちなみに、経歴役職のデータ型は、“テキスト型”連結列は1、列数は1となっています。連結列は2、3と変えてみたら、テーブルA上からは、役職名が見えても、選べません(設定できません) 私の早とちりでした。 コードがあったので、コード部分で連結されているとばかり思ってました。 今のルックアップの値集合ソースは以下の様な感じになっているのでしょうか SELECT 役職名 FROM テーブルB; コードが主キーとかの場合には、コード順で表示されます。 ただ、この場合では、経歴役職には文字列が格納されるので、コードを変更したとしても格納済みの文字列が変わることはありません。 ご質問に書かれた変更しても大丈夫だと思います。 新規mdbに小さいテーブルを作成して、実際にやってみてください。 私が早とちりした状況は以下) ・経歴役職の型は、コードの型と同じ ・ルックアップの設定は以下 値集合ソース:SELECT コード, 役職名 FROM テーブルB; 連結列:1 列数:2 列幅:0cm;2cm → 例えばの幅で、1つ目は 0cm にして1列目は表示しない(コードを非表示) 入力チェック:はい この状況ではテーブル間は、コードで結び付けられているので、コードに対する役職名は変更しません。 で、コードを変更せず役職を追加し、表示順を変更する方法として #1 に書いてました。

datayoin
質問者

お礼

色々検証していたため、お礼が遅くなりました。なんとか、私が思うような形ができました。ありがとうございました。

その他の回答 (1)

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.1

> 既に入力されているデータは変わらないようにするには コードに対する役職名は変更しません。 新しい役職が必要になったら、どんどん追加していきます。 (コードに対して重みづけをしているのならダメですが:1より3が偉いとか) 単に問題になるのは見た目での表示順になると思うので、表示順のフィールドを追加し、そのフィールドで並べ替えします。 例えば、 テーブルB コード...ソート...役職名 1.............1...........部長 2.............3...........支店長 3.............4...........所長 4.............2...........副部長 ルックアップの値集合ソース例) SELECT コード, 役職名 FROM テーブルB ORDER BY ソート; ※順番が違ったら、従来の後ろに ORDER BY ソート を追加します。

datayoin
質問者

補足

早速のご回答をいただきありがとうございました。 教えていただいたように、テーブルBに「ソート」フィールドを追加し、ルックアップしてみたのですが、 テーブルAの「経歴役職」フィールドで役職を選ぼうとすると、“数字”しか出てこないのですが、これを、役職名から選び、テーブルA「経歴役職」フィールドは見た目では役職名が入っているようにするには、どうしたらよいでしょうか。 ちなみに、経歴役職のデータ型は、“テキスト型”連結列は1、列数は1となっています。連結列は2、3と変えてみたら、テーブルA上からは、役職名が見えても、選べません(設定できません)でした。 アクセス初心者でわからないことだらけでお恥ずかしいのですが、よろしくお願いいたします。