【 Access 】テキストボックスからコンボボックス変更
Accessでシステムを作っていると、動作スピードの事を考えて、非連結の編集画面やら入力画面を用意したくなります。
メモ
私の手順としては、その編集追加したいテーブルを元にフォームを自動作成してからレコードソースを外して非連結のフォームにします。
そうすると、SqlServerからのテーブルを元にしたりすると、全てテキストボックスになったりするのですが、あるテーブル(マスター)から選択したいという時が発生します。
そうなると、コンボボックスにしなければなりません。
そこで、テキストボックスをコンボボックスに変更する方法があったので実行してみました。
上の図のように、コンボボックスにしたいテキストボックスを選択して右クリックして、
コントロール種類の変更>>コンボボックス
をするとコンボボックスに変更になります。
ちなみに、コンボボックスに変更して表示させたいテーブルの値は下記のようになります。
次にプロパティシートから「集合体ソース」を選択します。
表示させたい2項目(noとpurchase_currency)を追加して、フォームの方で確認しました。
さらに詳しく
あれ!?purchase_currencyが無いぞ
ココがポイント
プロパティシートの列数、列幅
の変更が必要になります。
列幅の数字は、何か決める方法があるのかもしれませんが、メンドクサガリの私は、適当な数値をいれてば、フォームから確認して、ちょうどよく表示される数値を設定しました。
油断大敵
はい!かんせーーい
となるはずでしたが、値を選択すると下記のようなエラーが出て値が入力されません。
アホ的な初歩的なミスをしていました。
注意ポイント
フォームはレコードソースを消して非連結にしましたが、そのフォームにあるテキストボックスなどは、非連結になっていませんでした。
コントロールソース部分を空にしたら、非連結になりちゃんとコンボボックスの値が入力されるようになりました。
選択すると、数字だけが入って、人間が理解するための項目が入らないようになっていますが、上の図のように赤丸あたりに、2列目が表示されるような仕組みを設置したいと思います。
テーブルのデータ上は、数字で管理した方が小さくなりますし、早くもなりますからこのようにしました。