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



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

そうすると、VBAコードを記述するためのエディタ画面になりますね。
で、よく見ると、下のようになってると思います。「フレーム0のアフターアップデート時にやる処理」って意味ですね。
この2行の間に、いろいろ処理を書いていきます。

Private Sub フレーム0_AfterUpdate()



End Sub

なんか難しそうですけど要するに「フレーム0」がなんか更新された後・・・
つまり3つのめだまのうちのどれかがクリックされた後、何をするのかをここに書いておいてあげるんですね。

今日は最終的に、こんな感じにしてみようと思います。↓

でも、いきなりこういうふうにわけもわからず入力するようなことは、ここではいたしません〜。
できれば後で、いろいろ応用していただきたいんで、順序だててお話しますね。

ですので、コードをそのまんまコピーしたりしないで、今日はひとつひとつ丁寧に入力してみてください。
その方がきっと、理解度も深まると思います。



VBAで、条件分岐(○○だったら××、▲▲だったら◎◎、みたいな感じ)は、大きく分けて2通りの方法があると思ってください。


If  Then  Else


Select Case




このふたつです。詳しい使用方法はヘルプ、見てくださいね。

Ifは、他のコーナーで時々お話してますが、分岐先が2つの場合。
3つ以上ある場合は、Select Caseを使います(2つのとき使ってもいいんですけどね)

フレーム内にオプションボタンがふたつで、片方がちくわ、片方が波動砲だったら、

If フレーム0 = 1 then

 Me![テキスト8] = "ちくわ"

else

 Me![テキスト8] = "波動砲"

end If

これでいいんです。

でもー、今回、3つオプションボタン作ったんで、これじゃ足りないですよねえ。そういう場合はSelect Caseを使って・・・。

Select Case フレーム0

 Case 1

  Me![テキスト8] = "ちくわ"

 Case 2

  Me![テキスト8] = "カルボナーラ"

 Case 3

  Me![テキスト8] = "波動砲"

End Select




大文字小文字は別に気にする必要はないですけど、半角で入力してやってくださいね。
「テキスト」とか「フレーム」とか、見るからに漢字カナの単語以外は半角です。

入力がよければ、「MicrosoftVisualBasic」のウィンドウだけ、右上の閉じるボタンかなんか使って閉じましょう。(開けたまんまでもいいんですけど)
あ、わたしは、後で見やすいようにちょっとだけ左側段差をつけて(入れ子)入力するようにしてますが、左の図のように左側全部そろっててもかまわないですよ。



さて、どうかな・・・。
いちおうフォームを上書き保存して、フォームビューに切り替えてみましょう。

多分、フォームをいったん閉じて開きなおしたほうがよいとは思うんですが(一番最初のクリックの時は反応がないかも)まあ、練習ですのであまり細かいことは気にしないで、オプションボタンを何回かクリックしてみてください。
テキストボックスの中身、変わります?

これが基本形ですね。
まだ、皆さんが実際にやろうと思ってることとは程遠いと思いますけど、まずはこの仕組みを理解してください。

これがマスターできたら、あとは、

Select Case フレーム0
Case 1
Me![テキスト8] = "ちくわ"  
Case 2
Me![テキスト8] = "カルボナーラ"
Case 3
Me![テキスト8] = "波動砲"
End Select


赤いとこの処理が変わるだけです。


たとえば、文字の色を変えたい、というなら、文字の色をコントロールしてるのは、テキストボックスの書式プロパティの「前景色」ってとこになります。

「前景色」ってプロパティ、ちょっと見てみてください。



事前調査をいたしましょう。
右上のほうに、テキストボックス内の文字の色を変えるツールボタンがありますよね。こいつクリックして、なんか好きな色に変更してみてください。
変えると・・・「前景色」プロパティに何か数字が入ると思います。


この数字が、色を表すコードなんです。
じゃあ、ちくわとカルボナーラと波動砲に似合う色をそれぞれ選んでみて、色の番号を調べておいてください。
で、黒(黒は0)に戻しときましょう。
んでは、改めて、「フレーム0」の更新後処理のコードに書き加えます。

「テキスト8」の前景色プロパティに、色のコードをぶちこむためには、

Me![テキスト8].ForeColor = "色のコード"

って感じになります。コードは「文字列」としてプロパティに代入しますので、ダブルコーテーションで囲みます。まあ、あんまり難しく考えずに、ダブルコーテーションで囲んでください。
テキストボックス名の後ろに半角のピリオドを打つと、そのテキストボックスのプロパティがいっぱいずらずら出てきますので、中から選んでもよし。無理やり自分で入力してもよし。ForeColorって、前景色のことですよね。

私はこんな感じにしてみました。
んじゃ、再びフォームのほうに戻りましょうか。



いちおうフォームを保存して、フォームビューに切り替えてみましょう。
色、変わります?