![]() |
||
<HOME <お願い事項 <Access2002 TOP <Access97 TOP <サイト内検索 | ![]() |
|
![]() |
||
MS-Access2000--VBAの小屋>俳句をひねろう |
後は、おなじことを、2つめのテーブル、3つめのテーブルでもやって、3つの語句を拾い出します。
テーブルと変数、間違えないように組み合わせてくださいね。
で、最後に・・・じゃあ、もう一回デバッグしてみましょうか。
もう一回イミディエイトウィンドウでテストを・・・。
ね。俳句・・・とは言えないですが(笑)575の句ができるでしょう?
え?それぞれ少し隙間をあけたい?
んじゃー・・・ですねぇ・・・。こんな感じにしてはどうでしょう。
何と何をつなげているのか・・・は、皆さん、お分かりですよね。
大丈夫ですね。
ちょっと隙間が開きますでしょう?↓
じゃあ、実際に、フォーム上で使ってみましょうか。
まず、こんな感じのフォームをひとつ用意してください。どのテーブルとも関係しない、無地のフォームです。
わたしのは、フォームの名前は[フォーム]、テキストボックスの名前は[句]にしました。
皆さんはなんて名前にしました?確認してくださいね。
で、コマンドボタンのクリック時のイベントで、
作ったSubプロシージャを呼び出すようにします。
ついでに、↓左側のプロジェクトウィンドウを見ると、多分、新規に作成したモジュールも見えると思うんで、モジュール名をダブルクリックしましょう。
今はまだ、デバッグ命令を使ってますけど、SaisyoとNakaとSaigoを足した値を、[句]の中に代入します。
フォームやテキストボックスの名前、間違えないようにしてくださいね。
では・・・。
フォームを保存し、できたら、一度閉じて改めて開きましょう。
で、コマンドボタンをクリックすると・・・。
出ます?
ぜひとも、よい句を作ってくださいね。
さて・・・。
後は、テーブルにそれぞれ、語句を増やしていけばオッケーなんですけど、こいつも、登録画面を作ってみましょうか。
ええと・・・そうだな。3つのテーブルに、それぞれ登録できるよう、まずはこんなデザインのフォームをこしらえてみました。
左側のオプションボタンで、どのテーブルに追加をするか選んでから、単語を登録するようにしました。
まあ・・・これ、あんまり字余りな単語を入れちゃうと問題なんですが・・・そういうチェックって、難しいですよね。
文字数のチェックでよければ、なんとかなりますけど、漢字とか含まれてる場合や、英単語を含めたい場合なんて、見た目の文字数と、言葉にしたときの言葉の数とって、必ずしも一致しないですよね・・・。
今日のところは、入力するときにきちんと考えて入力するようにするってことで、特に文字数の制限とかは設けないようにしますね。
ええと、左のフレームの名前は、[フレーム2]になりました。テキストボックスは[テキスト0]っていう名前になってたんで、これそのまま使っちゃおうと思います。
フレームの作り方は、皆さんオッケーですよね。
じゃ、コマンドボタンのクリック時のイベントで、テーブルへの追加処理を書きますね。
対象となるテーブルは3つありますけど、フレーム内のどのオプションボタンが選択されているか、によって、追加先のテーブルが異なるわけですから、Select文を使って処理を分けてみましょう。
今度は、ただ参照するだけでなく、レコードの追加をしますので、テーブルのオープンの仕方が異なります。注意してくださいね。
で、その後。。。
「もし、まったく同じ語句が既に登録されていたら、メッセージを出して終わり。同じ語句がなければ、新規に追加。Nbrをつけるのも忘れずに」ってな感じにします。
これで、テーブルへの語句の追加も、専用のフォームを通じてできるようになりました。
テーブルの数を5つに増やせば、短歌も作れるし、語句を工夫すれば「いつ どこで 誰が 何を どうした」みたいな言葉遊びにも使えるでしょう。
ま、まあ、何の役にもたたないですけれど・・・まあ、たまにはいいじゃありませんか。え?息抜きばっかしで役にたたないプロシージャばっかりだって?
まーまーそりゃーまーそーですけどね。ええ。まあ。ふふふ。
![]() |
![]() |