|
このフォームで一番重要な(?)コントロールです。何といっても、ここへ変更したいデータを指定するわけですから。
ここから先の流れを簡単に説明すると、
1.漢字氏名で対象データを選択
2.選択した漢字氏名のレコードのレコードキー(フィールド名)を抽出条件としたクエリーを創成する。
3.クエリーの各フィールドを変更用フォームへ表示。
という流れになります。(ただし、2以降は当フォームでは行いません)
もしかすると、ここで疑問が生まれる人もいるでしょう。それは、「最初から漢字氏名で検索すればいいんじゃないの?」って疑問です。まあ、確かにそれも正しいし同姓同名で漢字まで全く同一の登録が合った場合の処理を考慮しておけば漢字氏名で検索してもOKです。しかし、これをやると話がややこしくなるので、レコードキーを使って1件のデータを抽出・変更を加えるという流れにしました。
とうことで、このコンボボックスは、表示は漢字氏名でコンボボックスから取得できる値はレコードキーという都合のいいものに設定します。これで、やっと苦労して作ったクエリー(?)が役に立つ時が来た! このコンボボックスでは、前もって作成しておいたクエリー「処理対象選択」を使用します。
とりあえず、コンボボックスの以下のプロパティを設定後、フォームビューに切り換えてコンボボックスの中身を見てください。
値集合タイプ :テーブル/クエリー
値集合ソース :処理対象選択
列数 :2
連結列 :1
プロパティで、列数というのはクエリー(もしくはテーブル)のフィールド数と覚えておけばよいでしょう。
連結列というのは、このコンボボックスの値を取り出したときに「値集合ソース」に指定したテーブルやクエリーの何番目のフィールドの値を使うかを設定するプロパティです。ここまでの設定でコンボボックスを使うと、列は2つ(レコードキーと漢字氏名)が表示されますが、このうちどっちの列を使うかという指定です。表示は漢字氏名、取り出す値はレコードキーなので1を指定しました。
ちなみに、コンボボックスはこんな感じで表示されたでしょ?
試しに、表示されたリストから何か選んでみると、コンボボックスへは数値が入ってしまいます。それにしても、リスト中のレコードキー・・・邪魔ですね!
このコンボボックスは、漢字氏名のリストが表示、選択後も漢字氏名を表示したいわけですから、お邪魔なレコードキーは表示しないように設定します。
それでは、さらに次のプロパティを設定してみましょう。
列幅 :0,8
(プロパティウィンドウでの表示は、0cm、8cmとなる)
ここでは、8(cm)と設定しましたが、これくらいあればいいだろうって値なので、4(cm)でもOK。でも、あまり小さくすると名前がちゃんと表示されないので注意。
この状態で、再度フォームビューに切り換えてコンボボックスのリストを表示させてみてください。今度は漢字氏名のみがリストに表示され、選択後も漢字氏名がコンボボックス内へ表示されたはずです。
なお、表示されている内容は漢字氏名ですが、このコンボボックスから取得できる値はレコードキーの値(数値)なのでご心配無く!
|
|
|