- ベストアンサー
ControlTypeの切り替えはデザインビューでなければ不可能か?
フォームビューのときにvbaでコントロールのタイプを テキスト⇔コンボに切り替えたいのですが フォーム1.テキスト0.ControlType = 109 を実行するとエラーになり 「このプロパティを設定するにはデザインビューで開きます」 となります。 しかし、フォームビューの状態でとあるイベントを実行すると テキスト⇔コンボに切り替えたいのですが やはり不可能でしょうか?
- みんなの回答 (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に変える必要があるのですが、略。
その他の回答 (1)
- bonaron
- ベストアンサー率64% (482/745)
テキストボックス と コンボボックスの両方を作成しておき イベントで Visible を切り替えるようにしてはいかがですか?
お礼
そのような方法もあるのですね。 大変参考になりました。
お礼
一度デザインビューに切り替えるのですね。 大変参考になりました。