<HOME  <お願い事項   <Access2002 TOP   <Access97 TOP   <サイト内検索
 MS-Access2000--VBAの小屋>俳句をひねろう
   1 2 3



後は、おなじことを、2つめのテーブル、3つめのテーブルでもやって、3つの語句を拾い出します。

テーブルと変数、間違えないように組み合わせてくださいね。

で、最後に・・・じゃあ、もう一回デバッグしてみましょうか。

もう一回イミディエイトウィンドウでテストを・・・。

ね。俳句・・・とは言えないですが(笑)575の句ができるでしょう?

え?それぞれ少し隙間をあけたい?
んじゃー・・・ですねぇ・・・。こんな感じにしてはどうでしょう。

何と何をつなげているのか・・・は、皆さん、お分かりですよね。
大丈夫ですね。

ちょっと隙間が開きますでしょう?↓

じゃあ、実際に、フォーム上で使ってみましょうか。
まず、こんな感じのフォームをひとつ用意してください。どのテーブルとも関係しない、無地のフォームです。

わたしのは、フォームの名前は[フォーム]、テキストボックスの名前は[句]にしました。
皆さんはなんて名前にしました?確認してくださいね。

で、コマンドボタンのクリック時のイベントで、

作ったSubプロシージャを呼び出すようにします。

ついでに、↓左側のプロジェクトウィンドウを見ると、多分、新規に作成したモジュールも見えると思うんで、モジュール名をダブルクリックしましょう。

今はまだ、デバッグ命令を使ってますけど、SaisyoとNakaとSaigoを足した値を、[句]の中に代入します。
フォームやテキストボックスの名前、間違えないようにしてくださいね。

では・・・。
フォームを保存し、できたら、一度閉じて改めて開きましょう。
で、コマンドボタンをクリックすると・・・。

出ます?
ぜひとも、よい句を作ってくださいね。

さて・・・。
後は、テーブルにそれぞれ、語句を増やしていけばオッケーなんですけど、こいつも、登録画面を作ってみましょうか。
ええと・・・そうだな。3つのテーブルに、それぞれ登録できるよう、まずはこんなデザインのフォームをこしらえてみました。

左側のオプションボタンで、どのテーブルに追加をするか選んでから、単語を登録するようにしました。
まあ・・・これ、あんまり字余りな単語を入れちゃうと問題なんですが・・・そういうチェックって、難しいですよね。
文字数のチェックでよければ、なんとかなりますけど、漢字とか含まれてる場合や、英単語を含めたい場合なんて、見た目の文字数と、言葉にしたときの言葉の数とって、必ずしも一致しないですよね・・・。

今日のところは、入力するときにきちんと考えて入力するようにするってことで、特に文字数の制限とかは設けないようにしますね。

ええと、左のフレームの名前は、[フレーム2]になりました。テキストボックスは[テキスト0]っていう名前になってたんで、これそのまま使っちゃおうと思います。
フレームの作り方は、皆さんオッケーですよね。

じゃ、コマンドボタンのクリック時のイベントで、テーブルへの追加処理を書きますね。

対象となるテーブルは3つありますけど、フレーム内のどのオプションボタンが選択されているか、によって、追加先のテーブルが異なるわけですから、Select文を使って処理を分けてみましょう。
今度は、ただ参照するだけでなく、レコードの追加をしますので、テーブルのオープンの仕方が異なります。注意してくださいね。

で、その後。。。
「もし、まったく同じ語句が既に登録されていたら、メッセージを出して終わり。同じ語句がなければ、新規に追加。Nbrをつけるのも忘れずに」ってな感じにします。

これで、テーブルへの語句の追加も、専用のフォームを通じてできるようになりました。
テーブルの数を5つに増やせば、短歌も作れるし、語句を工夫すれば「いつ どこで 誰が 何を どうした」みたいな言葉遊びにも使えるでしょう。
ま、まあ、何の役にもたたないですけれど・・・まあ、たまにはいいじゃありませんか。え?息抜きばっかしで役にたたないプロシージャばっかりだって?
まーまーそりゃーまーそーですけどね。ええ。まあ。ふふふ。