| ・メッセージボックスと簡単な計算@ |
| これは、テニスや卓球、バレーボールなど点数を使うゲームの「得点ボード」をイメージしたものです。たとえば「Aチーム」というボタンをクリックしてください。 クリックするたびに点数が1点ずつ増えていきますね。「▼」ボタンを押すと点数が減っていきます。そして「リセット」を押すと「0」に戻るようになっています。 まあ、これだけのものなのですが、実際のゲームではけっこう役に立つのではないかと自分では思っていますです。(~_~;) |
| 実は自分ではこれがもっとも簡単なプログラムだと思っているのです。 「得点ボード」フォームを「デザイン」モードにしてみてしょう。そして、「Aチーム」ボタンをダブルクリックしてください。プロパティウィンドウという画面が出てきます。この「イベント」を見ると、クリック時に「イベントプロシージャ」というのがありますね。これは、「クリックしたときには、何らかのアクションを行います」ということなんですね。 |
| この「イベントプロシージャ」をクリックすると右側に「▼」と「…」のボタンが出てきます。「…」を押すと何やら、また難しい画面が出てきましたね。実はこの画面がもっとも重要なのです。 「Private Sub tokutenA_Click()」となっていますが、このボタンには「tokutenA」という名前がついています。つまり、そのボタンをクリックしたときの命令文がかかれているということですね。 はい。もうおわかりですね。 答えは「A=A+1」ですね。数字が表示されるテキストボックスには「A」という名前がつけられています。つまり、ボタンを押すたびに「AというテキストボックスにAに1を足した数字を表す」ということなのです。同じように減らす場合は「A=A-1」。リセットする場合は「A=0」というこれだけのことなんですね。どうですか。実に簡単でしょう。でもこれも立派なプログラムなのです。 ただ注意しなければならないのは、「A」というテキストボックスの「既定値」として数字の「0」を入れておくことです。これは、「A」のプロパティを見ればわかります。そうしなければ、空白状態では数字として認識しないわけです。このあたりの話はまた別の機会にお話ししましょう。 |
| Private Sub setresetA_Click() C = 0 End Sub Private Sub setresetB_Click() D = 0 End Sub Private Sub tokutenA_Click() A = A + 1 End Sub Private Sub tokutenB_Click() B = B + 1 End Sub Private Sub setA_Click() C = C + 1 End Sub Private Sub setB_Click() D = D + 1 End Sub Private Sub downA_Click() A = A - 1 End Sub Private Sub downB_Click() B = B - 1 End Sub Private Sub resetA_Click() A = 0 End Sub Private Sub resetB_Click() B = 0 End Sub |
![]() |
| ・メッセージボックスと簡単な計算A |
| では、次に「メッセージボックス1」と書かれたフォームを開いてください。「メッセージ」と書かれたボタンと「質問」と書かれたボタンがあります。 「メッセージ」を押すと「これはメッセージボックスです」というボタンがまた出てきましたね。「OK」を押してみましょう。閉じましたね。 こんどは「質問」を押してみましょう。「あなたは男性ですか?」という問いかけがきましたね。今度は「OK」と「キャンセル」二つのボタンがあります。 つまり、選択肢が二通りあるわけです。ちょっと質問の内容は単純ですが、その答えに応じて違う内容の返事が返ってくるようになっているのです。 さあ、ではこのプログラムをみてみましょう。上の方に「コード」というアイコンボタンがあるので、これを押してみてください。このフォーム上のすべてのプログラムがでてきましたね。 上にあるのが最初の「メッセージ」というボタンのプログラム線で区切った下にあるのが「質問」のプログラムです。「Msgbox」のあとに続く「""」で区切られた部分がメッセージの内容となるわけです。ためしにサンプルでいろいろな文章に直してみてください。 「質問」の方は「If〜Then〜Else〜Endif」というのが一連の流れでできています。つまり、「If・もし何々が、Then・何々ならば何をしなさい。Else・そうでなければ何をしなさい。Endif・おしまい」ということですね。これはメッセージに限らず、プログラムをしていく上でいろいろな形で使われます。 まあ基本中の基本ですね。メッセージの後ろに「,1)=1)」となっていますが、この数字はメッセージボックスの種類を表します。アクセスのヘルプで「Msgbox関数」というのを調べれば出てきますが、数字によって種類を表し「=1)Then」は「OKだったら」というふうになるわけですね。まずは、サンプルでいろいろ遊んでみてください。 |
| Private Sub shitumon_Click() If (MsgBox("あなたは男性ですか?", 1) = 1) Then MsgBox "そうですか男性ですか" Else MsgBox "そうですか女性ですか" End If End Sub |