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