2018年5月22日火曜日

コントロールをまとめて表示/非表示にする

なんかの言語でやったんだ。
フレームにコントロールを並べてグループ化し、まとめて表示させたり非表示にさせたり。
ソレをAccessVBAでやりたいんだけどどーしたらいい?とぐぐったら、
『Accessでは用意されていない。コントロールを拾ってループ処理する。』
と、ゆー模範解答があった。

 『…実に興味深い。』

そこで、代替手段を考えてみた。
…5分後…ふつーにタブにコントロール乗せられるじゃん( ゚-゚)~゚


こんな感じ。タブの名前はタブ10。その中のページ”Test用”。
このタブの部分の名前=表題として出てしまって、消すことは出来なかった。
Accessははみ出して配置できないのが難点かなぁ。
VBAからやろうとしたらなんか怒られたし。

そんなわけで、コマンドボタン9ぽちると、

Private Sub コマンド9_Click()
   タブ10.Visible = Not タブ10.Visible
End Sub

が、動いて、(True/Falseが入れ替わり)
タブ10と乗っかってるコントロールがまとめて出たり消えたりします。

もちろん、その後ろになにかコントロールを隠しておけば、それが表示されます。
複数のタブを重ねても、タブコントロールのVisibleを操作するだけなので、
複数のフォームを開くことなく、簡便にフォームの内容を変化させられます。

…いやまぁ、素直に別フォーム開いた方が遥かにキレイで簡便なんですが、
今回は手順をおって進める仕組みなので…( ゚-゚)~゚

 『ありえない?ありえないなんてありえない。』


0 件のコメント:

コメントを投稿