• 締切済み

access vba コンボボックス 読取専用に!

ACCESS2000 VBA で コンボボックスを読み取り専用にするのは可能でしょうか? 可能でしたらどのようにすればいいでしょうか? 教えてください。 

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 Private Sub コンボ1_KeyPress(KeyAscii As Integer)  KeyAscii = 0 End Sub の代わりに、 Private Sub コンボ1_KeyDown(KeyCode As Integer, Shift As Integer)  KeyCode = 0 End Sub としたら、どんな反応を示しますか? こうすると、キー入力そのものをはねつけてしまいます。

pon656
質問者

お礼

ありがとうございます。 Wendy02 さん できましたぁぁぁ!!! Downに変更して成功です。 感謝しております。m(_ _)m そして これからもよろしくおねがいします。 /^^; プログラミングっておもしろいですね ^^アハ

すると、全ての回答が全文表示されます。
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 >選択した値のよって結果を表示させるのにはどうすればいいでしょうか? このようなことでしょうか? #1の設定はそのままで、 Private Sub コンボ1_Change()  Me!テキスト1.Value = Me!コンボ1.Value End Sub

pon656
質問者

お礼

回答ありがとうございます。 9割がた できたのですが、あと一歩のところで止まっています。 コンボボックスのプロパティのIMEモードを使用不可にして、 今までのもあわせて 入力不可が可能になり、コンボボックスの値に関連する結果も表示できるようになりました。 しかし、コンボボックスの値に関連した結果がないとき、もちろんデータがないので一覧表示はされません。そこまではいいのですが、その時、Deleteキーを押すとエラーが出てしまいます。(このPCにはvisual studioが入っているのですが、エラーの内容は「visual studioでデバックをしますか?」と聞かれてしまいます) 現在コンボボックスは入力不可で Back space もできないようになっているのですが、Delete機能は効いています。デリートを効かないようにするのはどうすればいいでしょうか? そのような、操作はできないのでしょうか? 

すると、全ての回答が全文表示されます。
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんにちは。 読み取り専用ということは、コンボボックスのリストの選択は出来るけれども、値の入力が出来ない、という意味ですね。 だとしたら、 Private Sub コンボ1_KeyPress(KeyAscii As Integer)  KeyAscii = 0 End Sub とすれば、入力は出来ません。

pon656
質問者

お礼

回答ありがとうございます。 入力はできなくなったのですが、その後の処理、選択したキーワードによって変わる結果をテキストボックスに表示させたいのですがそれができなくないりました。 選択した値のよって結果を表示させるのにはどうすればいいでしょうか?

すると、全ての回答が全文表示されます。

関連するQ&A