MS accessでのルックアップ機能と並び替え

このQ&Aのポイント
  • MS accessでのルックアップ機能と並び替えの方法について教えてください。
  • お客様テーブルと県名テーブルがあり、[県名]フィールドをコンボボックスに変更しルックアップを設定した場合、格納値ではなく[県名カナ]で並び替えを行う方法が知りたいです。
  • 解決策があれば教えてください。
回答を見る
  • ベストアンサー

MS accessでのルックアップ機能と並び替え

access2007です。 一見実現できそうな処理なのですが、どうしてもその方法がわかりませんでした。 お手数ですが、おわかりの方がいらっしゃいましたらご回答よろしくお願いいたします。 テーブルをデザインビューで開いたときのフィールドプロパティでルックアップを設定して別なテーブルを参照しています。このとき、ルックアップによる格納値ではなく、表示値やルックアップテーブル中のその他のフィールドの入力値にしたがって並び替えを行いたいのです。 簡略のため、以下の例で説明させてください。 今ここに次の二つのテーブルがあるとします。  1.お客様テーブル  2.県名テーブル それぞれが持つフィールドは  1.お客様テーブル:[お客様コード]、[氏名]、[県名]  2.県名テーブル  :[県コード]、[県名]、[県名カナ] 「県名テーブル」の[県名]フィールドには順不同に47都道府県を入力していたとします。 さらに「県名テーブル」の[県コード]フィールドはオートナンバー型で47番まで番号がついています。 さて、「お客様テーブル」をデザインビューで開き、[県名]フィールドをコンボボックスに変更しルックアップを設定します。 設定は次のようにします。 値集合タイプ テーブル/クエリ 値集合ソース 県名テーブル 連結列1 列数2 列幅0cm;3cm これで「お客様テーブル」の[県名]フィールドへの格納値は[県名コード]の数字になり、表示値は[県名]フィールドの文字列になると思います。 ここで、「お客様テーブル」で並び替えをするときに、この格納値の数字ではなく、[県名カナ]にてカナ順にて並び替えをしたいのです。 ※コンボボックスのドロップダウンリストの中身を並び替えたいのではなく、「お客様テーブル」のデータの並び替えの優先キーとして、[県名カナ]を使用したいのです。 当然[県名カナ]による並び替えの順序を考慮して[県名コード]をつければ、格納値の数値で並び替えても希望の並びになるのはわかります。しかしここでいう[県名コード]がただのオートナンバー型のフィールドだとすると、これとは別に並び替えのキーとなるフィールドを作成してそれをもとに並び替えを行うという処理は、私以外でもニーズがあってもよいのではと考えたのです。 または単に私が見逃している機能があるのかもしれません。 何か解決策がありましたらよろしくお願いいたします。

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

  • ベストアンサー
  • shinkami
  • ベストアンサー率43% (179/411)
回答No.1

先ず お客様テーブルのフィールドは [お客様コード]、[氏名]、[県コード] とします 次に [県コード]のルックアップ画面の値集合ソース欄の右端(…) をクリックしてお客様テーブル:クエリ ビルダに入ります。 以下は添付を参照下さい。

関連するQ&A

  • Accessのテーブル作成のルックアップウィザードで

    テーブル(T-学生)があるとします。そのほかにT-県名があると仮定します。 T-県名には県名コード、県名という2つのフィールドがあります。 そのテーブルを利用して、T-学生の県名というフィールドにルックアップウィザードを利用し、作成したいと考えています。 その際、テーブルに格納されるのは県名コードにしたいのですが、リストに表示されるのは県名だけにしたいんです。 それでルックアップウィザードを利用した後に、ルックアッププロパティでみると SELECT T-県名.県名コード, T-県名.県名 FROM T-県名 連結列 1 列数  2 列幅 0cm;3cm となっています。 入力してみると、どうしても県名が入力されてしまいます。 どこを直したらいいでしょうか?

  • ACCESS.ルックアップの値以外を受け付けないようにしたい。

    ACCESS2007を使用しています。 テーブルのフィールド設定でルックアップを設定しています。 表示コントロール:コンボボックス 値集合タイプ:値リスト ここで、値集合ソースにリストしたもの以外はテーブルに格納されないように したいのですが、可能でしょうか? 「入力チェック」を「YES」にしているのですが、 この場合でもテーブルでの直接入力やフォームを使用しての入力ではエラーがでますが、 Excelからの複数セルまとめてのコピー&貼り付けを行うと貼り付けられてしまいます。 解決する方法がありましたら教えてください。

  • アクセス テーブル ルックアップ について

    アクセスです。[売り上げ] というテーブルで、フィールド [年月日] [果物] [個数] があって、[果物] の入力時に マスタテーブル [M果物] を ルックアップ 、 コンボボックス で選択するようにしています。すでにデータ入力してあります。ところが、[M果物] には、リンゴ、ミカン、メロン・・・・・などたくさんあるので、探して選択するのに不便になってきました。そこで、[果物]入力時に、よく売れる個数順に果物を並べ替えて、ルックアップ、コンボボックスに表示して入力を便利にしたいのですが、どのようにしたらよいのでしょうか?宜しくお願い致します。

  • ACCESS2003 ルックアップについて

    テーブルで新しいフィールドを作り、そこにルックアップの設定をしました。 これを、既存のフォームに反映させたいのですが、どうすれば良いでしょうか? お願い致します。

  • MS ACCESS2000で値集合ソースを書き換えないように。

    あるレコードのあるフィールドに、他のテーブルを値集合ソースとして、コンボボックスを設定しました。 あるとき、このフィールドの値を書き換えようとしたら、値集合ソースのテーブルのレコードを書き換えてしまいました。この値集合ソースを書き換えないようにするにはどうしたらいいでしょうか?

  • Access2007でルックアップのリストに数字が出る

    Access2007でルックアップの設定を行うと、リストに数字が出てきてしまいます。↓のような場合どのようにしたら、文字列のリストを作れますか? テーブル1: 主キー フィールドA 01   収入 02   支出 テーブル2: 主キー フィールドA(テーブル1のルックアップ) フィールドB 01   収入                 給与 02   収入                 その他 03   支出                 光熱費 04   支出                 食費 テーブル3: 年月日   フィールドB(テーブル2のルックアップ) H21/05/01 『ここのルックアップ列をテーブル2のフィールドAとフィールドBを選択するとフィールドAの値が01、02・・・と表示されてしまう。』 両方のフィールドのルックアップを文字列で表示するにはどうしたらいいですか? ※上記解決方法が困難な場合はテーブル3に於いて、テーブル1のルックアップの値を指定してから、その値に対応するテーブル2のレコードを選択する方法でもいいです。 できれは両方知りたいです。 宜しくお願い致します。

  • アクセス2007 ルックアップについて

    アクセス2007で社員の経歴を入力するため、ルックアップ機能を使おうと思っています。 社員経歴テーブル(A)と役職テーブル(B)があります。 Aのフィールド「経歴役職」にBのフィールド「役職名」をルックアップさせようと思いますが、今後、テーブルBの役職を追加するなどして役職の並びが変わると、既入力データが変わってしまうと思うのですが、既に入力されているデータは変わらないようにするには何か方法があるのでしょうか。 例えば、 テーブルB コード 役職名 1   部長 2   支店長 3   所長 と、入っていますが、 1   部長 2   副部長 3   支店長 4   所長 とした場合、 テーブルAの経歴役職が支店長で入っていた箇所が副部長となってしまうと思うのですが。。。 アクセス超初心者で、言いたいこともうまく伝えられないのですが、どうぞよろしくお願いいたします。

  • Accessで任意のテーブルをひとつ表示させたいのですが…

    行いたい事は、年と月ごとに作成されている「テーブル」を表示させたいという事です。任意のテーブルをひとつ表示させることができればよいのです。 コンボボックスを作成することにし、任意のテーブルをひとつ選択・表示させることを考えました。「値集合ソース」を「テーブル/クエリ」に設定し、「値集合タイプ」を先述のテーブルの任意のテーブルのひとつを設定し、マクロビルダの「アクション」に「テーブルを開く」とし、テーブル名入力欄に「値集合タイプ」で設定したテーブル名を設定しました。確かにこのテーブルは表示されますが、 (1)コンボボックスの、選択を促す下矢印を押下すると表示させたいフィールドがテーブルの左から2番目にあるのですが、このフィールドではなく最初のフィールド(オートナンバー)が表示されてしまう。 (2)コンボボックス内は空欄であって欲しいのに、選択したオートナンバーが黒の反転点滅表示してしまう。 (3)一番行いたい、任意の年と月で作成されたテーブルを選択させる表示ができない。 と、以上が現状です。 良きアドバイスをお待ちしております。 宜しくお願い申し上げます。

  • AccessのフォームのテキストボックスにLOOKUPで表示したい

    かなり初心者です。 Accessに【顧客テーブル】と【担当者テーブル】を作成しました、それぞれに【担当者コード】というフィールドを作っています。この【顧客テーブル】に顧客情報をフォームで入力していきたいのですが、顧客テーブルの【担当者コード】フィールドに担当者コードを入力した際、【担当者テーブル】の担当者名がExcelのLOOKUPと同じように表示できると思ってやりましたがうまくいきません。 テキストボックスのコントロールソースに =VLOOKUP([担当者コード](フォームのテキストボックスの名前),[T_担当者テーブル],[T_担当者テーブル]![社員名])・・・と入れたら、#Name?エラーが出ます。 Lookupは使えませんか?他に方法ありますか? よろしくお願いします。

  • AccessのフォームのテキストボックスにLOOKUPで表示したい

    かなり初心者です。 Accessに"顧客テーブル"と"担当者テーブル"を作成しました。この顧客テーブルに顧客情報をフォームで入力していきたいのですが、顧客テーブルの担当者コードフィールドに担当者コードを入力した際、担当者テーブルの担当者名がExcelのLOOKUPと同じように表示できると思ってやりましたがうまくいきません。 テキストボックスのコントロールソースに =VLOOKUP([担当者コード],[担当者テーブル]![社員コード],[担当者テーブル]![社員名])・・・と入れたら、#Name?エラーが出ます。 Lookupは使えませんか?他に方法ありますか? よろしくお願いします。

専門家に質問してみよう