アクセスのテーブルには、ルックアップという機能があります。
フィールドに直接値を入力せずに、コンボボックスのドロップダウンリストから値を選択できる非常に便利な機能ですね。
アクセスでフォームを作成する場合、テーブルやクエリを元にしてフォームウィザードで作成する場合が多いと思いますが、ルックアップを設定したテーブルからフォームを作成すると、フォームに配置された項目もコンボボックスとなります。
新規登録用のフォームや更新用のフォームならこれで問題ないのですが、表示専用のフォームの場合、コンボボックスの矢印は消しておきたいですよね。


ですが、ちょっとひと手間加えれば消すことが可能です!
コンボボックスの矢印が表示されていると、更新できないフォームであっても値を変更できると錯覚する人もいます。
誰が使ってもわかり易いシステムにするために、不要なコンボボックスの矢印は消してしまいましょう!
完成系のイメージ
今回作成したサンプルフォームはこちらになります。
このフォームは表示専用なので、表示されている内容を変更できないようにすべての項目のプロパティシートを次のように変更しています。
「使用可能」→ いいえ
「編集ロック」→ はい
この2つのプロパティシートを変更すれば、コンボボックスの「商品コード」と「商品名」も選択不可となりますが矢印は消えません。
コンボボックスの矢印を消すためには、以下の手順を実施して下さい。
step
1新しいテキストボックスを追加する
あとからコピーできるので、まずは一つだけテキストボックスを追加します。
step
2コンボボックスの表示内容をテキストボックスに置き換え
1 |
=[Forms]![F_在庫一覧_最新]![cmb商品コード].[column](0) |
コードの意味
[F_在庫一覧_最新]は「フォーム名」
[cmb商品コード]は「コンボボックスの名前」になります。
[column](0)はコンボボックスの列数を意味します。
今回の例だと、「商品コード」というコンボボックスには、「商品コード」と「商品名」の2列が設定されていますが、テキストボックスには「商品コード」を表示させたいため、0を指定指定しています。
フォームビューで確認してみましょう。
step
3コンボボックスの可視を「いいえ」にする
そこで、コンボボックスのプロパティシート、「書式」タブにある「可視」という項目を「いいえ」に変更してフォームに表示させなくします。
あとは非表示となったコンボボックスと、テキストボックスの位置を変更してレイアウトを整えれば完成です。
複数のコンボボックスがあるときは、テキストボックスをコピーして、コントロールソースの内容を変更すればOKです!

役に立つ場面も多いと思うので、ぜひ参考にして下さい。