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

フォームビューのときにvbaでコントロールのタイプを
テキスト⇔コンボに切り替えたいのですが

フォーム1.テキスト0.ControlType = 109
を実行するとエラーになり
「このプロパティを設定するにはデザインビューで開きます」
となります。

しかし、フォームビューの状態でとあるイベントを実行すると
テキスト⇔コンボに切り替えたいのですが
やはり不可能でしょうか?

A 回答 (2件)

>ControlTypeの切り替えはデザインビューでなければ不可能か?


当然不可能でしょう。
ただし
http://support.microsoft.com/kb/135381/ja
にあるように、プログラムで変更できるようです。
アクセスVBAでやるとき判りやすいように下記に私がやってみた例を挙げます。
私の場合は、偶々
フォームはフォーム9
コンボはコンボ3
で、コマンドボタン1つコマンド8でやってみると
Private Sub コマンド8_Click()
If Forms!フォーム9.CurrentView <> 0 Then DoCmd.OpenForm "フォーム9", _
acDesign

If Forms!フォーム9!コンボ3.ControlType = acComboBox Then
Forms!フォーム9!コンボ3.ControlType = acTextBox
Else
Forms!フォーム9!コンボ3.ControlType = acComboBox
End If
End Sub
コンボがテキストボックスに変わりました。
あと見出し的な文言のラベルのコンボ3 もテキストXXに変える必要があるのですが、略。
    • good
    • 0
この回答へのお礼

一度デザインビューに切り替えるのですね。
大変参考になりました。

お礼日時:2009/12/17 21:20

テキストボックス と コンボボックスの両方を作成しておき


イベントで Visible を切り替えるようにしてはいかがですか?
    • good
    • 0
この回答へのお礼

そのような方法もあるのですね。
大変参考になりました。

お礼日時:2009/12/13 20:57

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