<HOME  <お願い事項   <Access2002 TOP   <Access97 TOP   <サイト内検索
 MS-Access2000超入門部屋--オプショングループを作ってみる
   1 → 2 → 3 → 4 → 5



■オプショングループを作ってみる 3

どうしてもVBAコードを書くのはいやだ、マクロでやりたい、という場合は、以下のようになります。

マクロで条件分岐をさせるためには、まず、緑色で丸印つけたツールボタンをクリックします。
と、「条件」という欄が出てきたと思います。
これで、マクロでIf文が使えるようになります。

「条件」欄に [Forms]![フォーム1]![フレーム0]=1

これで、「フォーム1の中のフレーム0のオプションボタン2が選ばれたら」って意味になります。
あ、半角全角、気をつけてくださいよ。

で、右側の「アクション」欄に、具体的にやることを書きます。


アクション 値の代入


アイテム [Forms]![フォーム1]![テキスト8]


式 "ちくわ"

マクロですから・・・フォーム1はMeではないですよね。よそ様のフォーム内のフレームやテキストボックスの扱いをすることになるので、フォーム名から書き込んでいくことになります。だから、こういう処理のときは、マクロだと余分なこといろいろ書かないとならなくなっちゃって、ちっと面倒なんです。
コードの方が楽かなぁって、わたしは思います。

で、同じ条件のもと動かしたいアクションがある場合は、「条件欄」に半角のピリオド三つ打ちます。…って。
これ、ゴミじゃないですよ。ドット3つ打ってあるんです。これがあるとないじゃ大違いですからね。

2行目に、同じく

アクション 値の代入

アイテム [Forms]![フォーム1]![テキスト8].[ForeColor]

式 "16737843"

と、入力します。色を変える処理ですね。
ちょっと枠が狭いですけど、がんばって入力してみましょう。

これを、フレーム0が2のとき、3のときと、書き足して行けばオッケー。
"カルボナーラ"って代入して、テキストボックスの前景色を別の色に変えて、3だったら"波動砲"って代入して、また別の色に変えて・・・。
ピリオド三つを忘れないようにしてくださいね。

こんな感じで、条件分岐とか、フォームの中のテキストボックスとかを参照した処理のときは、マクロだとちょっと書くの大変なんですよ。

んじゃ、このマクロ、名前を付けて保存して閉じましょう。
名前はー今日は練習だしなんでもいいか。いいや、マクロ1で。



で、こんな感じで、「フレーム0の更新後処理」のとこに、今作ったマクロを選んでやれば完了です。
VBAコードでもマクロでも、考え方は同じなんで、作りやすいな、と思うほうで作ってやってください。

んじゃ、この保存しながらフォームは閉じましょうか。


だいたい、フレームのイメージつかんでいただけました?
フレームっていう枠の中で、複数のコントロールをひとつのグループとみなして使うって感じになりますね。
その辺の仕組みを理解していただければ、これってかなりいろんなシチュエーションで応用できると思いますよ。

では・・・もうひとつ新しく、無地のフォームを作ってみましょうか。
フレームの中に置くことができるコントロールは、オプションボタン以外にもいろいろあるんで、その辺のお話もしようかなって思います。

トグルボタンっていうのがあります。
コマンドボタンと似てますけど、こっちは、クリックすると引っ込んで、もっかいクリックするとでっぱる、という、スイッチみたいなボタンなんです。
わりと使いやすいですよ。
これも、「オプション値」っていうプロパティがあるんで、オプションボタンと同じで、フレームの中に入れると、どれかひとつがへっこんで、あとのがでっぱってる、っていう状態を作ることができます。



後は、チェックボックスも、フレームの中で使うことができます。

アンケート調査なんかで、「どれか1個に◎を付けてください」なんてこと、ありますよね。そういう感じの入力の
とき、わりと便利じゃないでしょうか。



各チェックボックスのラベルや、トグルボタンの標題は自由に変えることができるので、より選びやすいように活用してみてください。
プロパティを出して変えてもいいし、無理やりがしがしダブルクリックしてればカーソル出てきますよね。



と、フォームビューに切り替えてみると・・・。

どうでしょう。オプションボタンと変わらないですよね。
後はお好みかな・・・オプションボタンが一番一般的かなぁと思うんですけどね。

んじゃ、このフォーム、なんか適当に名前をつけて保存しましょうか。
「フォーム2」でいいや。