- ベストアンサー
Accessのコンボボックスのデフォルト表示
- Access初心者のために、フォームのコンボボックスで未選択時にコメントを表示する方法について教えてください。
- VBAでコンボボックスのデフォルト値を設定しようとした際にエラーが出ます。解決策を教えてください。
- Access 2013を使用しています。2013でも未選択時にデフォルトコメントを表示する方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
都道府県テーブル を変更することが可能なら、 下記のようにするのが一番簡単でしょう。 m_prefecture prefecture_ID prefecture_name 0 ---選択してください--- 1 北海道 2 青森県 3 岩手県 コンボボックス 名前 cb都道府県 値集合ソース SELECT m_prefecture.prefecture_ID, m_prefecture.prefecture_name FROM m_prefecture; 規定値 0 連結列 1 列数 2 列幅 0cm フォームの 更新前処理 で、 Private Sub Form_BeforeUpdate(Cancel As Integer) If Nz(Me.cb都道府県) = 0 Then Cancel = True MsgBox "都道府県を選択してください。" Me.cb都道府県.SetFocus End If End Sub
その他の回答 (2)
- hatena1989
- ベストアンサー率87% (378/433)
フィールドには、都道府県ID が格納されているが、表示は都道府県名 という設定ですね。 このように格納データと表示が異なる場合は、書式プロパティは無視されますので、前回の回答は使えませんね。 設定により対処法が異なるので、下記の情報をご提示ください。 そのコンボボックスは連結コントロールですか。非連結コントロールですか。 連結の場合、フォームは帳票フォームですか。単票フォームですか。 また、 未入力の場合、ボックス部に「---選択してください---」と表示するのに加えて、 ドロップダウンリストの先頭に「---選択してください---」と表示もさせたいですか。
補足
ありがとうございます。お答えします。 コンボボックスは連結コントロールです。 フォームは単票形式です。 「---選択してください---」の表示方法ですが、 例えばこのページ http://www.metalart.co.jp/saiyo/contact.html の都道府県入力欄をご確認ください。 それと同じことを実現したいと思います。 よろしくお願いたします。
- hatena1989
- ベストアンサー率87% (378/433)
コンボボックスのコントロールソースは数値型のフィールドだとして、 書式プロパティを下記のように設定します。 0;-0;0;"---選択してください---" コンボボックスの幅は、「---選択してください---」が表示できる幅にしてください。 ちなみに、フィールドがテキスト型の場合は、 &;"---選択してください---" となります。
補足
ご回答ありがとうございます。 ご教示いただいたとおりにやってみましたが、左寄せだったコンボボックス内の内容が右寄せになるだけでした。 状況を補足しますと、コンボボックスでは 都道府県ID(整数)、都道府県名(文字列)によって構成されている都道府県テーブルをコントロールソースとしていて、値集合ソースは SELECT m_prefecture.prefecture_name FROM m_prefecture; となっています。 列数は1で、連結列は0です。 これにより、表示は都道府県名、データは都道府県IDとなっています。 再度教示お願い出来ますか。
お礼
ありがとうございます。 これでとりあえず希望通りの処理が実現できて、よかったです。 やはり、phpとかと同じように行かないのですね。 丁寧に教えていただき、本当にありがとうございました。