フォームに配置したコンボボックスの矢印を消す【アクセス】


アクセスのテーブルには、ルックアップという機能があります。

フィールドに直接値を入力せずに、コンボボックスのドロップダウンリストから値を選択できる非常に便利な機能ですね。

アクセスでフォームを作成する場合、テーブルやクエリを元にしてフォームウィザードで作成する場合が多いと思いますが、ルックアップを設定したテーブルからフォームを作成すると、フォームに配置された項目もコンボボックスとなります。

新規登録用のフォームや更新用のフォームならこれで問題ないのですが、表示専用のフォームの場合、コンボボックスの矢印は消しておきたいですよね。

[st-kaiwa2]アクセスの場合、コンボボックスの矢印はプロパティシートで消すことが出来ません。
ですが、ちょっとひと手間加えれば消すことが可能です![/st-kaiwa2]

コンボボックスの矢印が表示されていると、更新できないフォームであっても値を変更できると錯覚する人もいます。

誰が使ってもわかり易いシステムにするために、不要なコンボボックスの矢印は消してしまいましょう!

完成系のイメージ

今回作成したサンプルフォームはこちらになります。

このフォームは表示専用なので、表示されている内容を変更できないようにすべての項目のプロパティシートを次のように変更しています。

「使用可能」→ いいえ
「編集ロック」→ はい

この2つのプロパティシートを変更すれば、コンボボックスの「商品コード」と「商品名」も選択不可となりますが矢印は消えません。

コンボボックスの矢印を消すためには、以下の手順を実施して下さい。
[st-step step_no=”1″]新しいテキストボックスを追加する[/st-step]「商品コード」と「商品名」のコンボボックスをテキストボックスに置き換えるために、新しいテキストボックスを追加します。

あとからコピーできるので、まずは一つだけテキストボックスを追加します。

[st-step step_no=”2″]コンボボックスの表示内容をテキストボックスに置き換え[/st-step]テキストボックスのコントロールソースに以下を記述。

=[Forms]![F_在庫一覧_最新]![cmb商品コード].[column](0)

[st-midasibox title=”コードの意味” fontawesome=”fa-check-circle faa-ring animated” bordercolor=”#FFC107″ color=”” bgcolor=”#FFFDE7″ borderwidth=”” borderradius=”5″ titleweight=”bold”]

[F_在庫一覧_最新]は「フォーム名」
[cmb商品コード]は「コンボボックスの名前」になります。

[column](0)はコンボボックスの列数を意味します。

今回の例だと、「商品コード」というコンボボックスには、「商品コード」と「商品名」の2列が設定されていますが、テキストボックスには「商品コード」を表示させたいため、0を指定指定しています。

[/st-midasibox]この記述により、コンボボックスと同じ内容がテキストボックスに表示されるようになります。

フォームビューで確認してみましょう。

[st-step step_no=”3″]コンボボックスの可視を「いいえ」にする[/st-step]この方法は、コンボボックスの表示内容をテキストボックスに転記しているので、元となるコンボボックスを消してしまうと、テキストボックスに表示されてなくなってしまいます。

そこで、コンボボックスのプロパティシート、「書式」タブにある「可視」という項目を「いいえ」に変更してフォームに表示させなくします。

あとは非表示となったコンボボックスと、テキストボックスの位置を変更してレイアウトを整えれば完成です。

複数のコンボボックスがあるときは、テキストボックスをコピーして、コントロールソースの内容を変更すればOKです!

[st-kaiwa1]この方法は、私が表示系のフォームを作成する時によく使うテクニックです。
役に立つ場面も多いと思うので、ぜひ参考にして下さい。[/st-kaiwa1]

この記事を書いた人

ビジツールラボ