dポイントプレゼントキャンペーン実施中!

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

A 回答 (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

としたら、どんな反応を示しますか?
こうすると、キー入力そのものをはねつけてしまいます。
    • good
    • 0
この回答へのお礼

ありがとうございます。
Wendy02 さん できましたぁぁぁ!!! Downに変更して成功です。
感謝しております。m(_ _)m

そして これからもよろしくおねがいします。 /^^;

プログラミングっておもしろいですね ^^アハ

お礼日時:2007/11/30 16:58

こんにちは。



>選択した値のよって結果を表示させるのにはどうすればいいでしょうか?
このようなことでしょうか?

#1の設定はそのままで、

Private Sub コンボ1_Change()
 Me!テキスト1.Value = Me!コンボ1.Value
End Sub
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/11/30 15:00

こんにちは。



読み取り専用ということは、コンボボックスのリストの選択は出来るけれども、値の入力が出来ない、という意味ですね。

だとしたら、

Private Sub コンボ1_KeyPress(KeyAscii As Integer)
 KeyAscii = 0
End Sub

とすれば、入力は出来ません。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/11/30 12:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!