プロが教えるわが家の防犯対策術!

WindowsXP上に載せたAccess97で、英単語や英文のデータ管理をしています。「英語」「日本語(訳)」「備考」のみのシンプルな作りです。

データがだいぶ溜まってきたので、これを暗記・演習用に利用したいと思うようになりました。
このデータを利用して、一問一答式のクイズを作ることはできないでしょうか?

機能・操作としては、
1)あるレコード(行)の「日本語」がランダムに選ばれ、テキストボックスでポップアップされる。
2)テキストボックスをクリックすると、同じレコードの「英語」が出てくる。
3)さらに何か操作をすると、レコードのフォーム全体が見られる。
の3つができれば良いと考えています。

宜しくお願い致します。

A 回答 (1件)

>1)あるレコード(行)の「日本語」が


>ランダムに選ばれ、テキストボックスでポップアップされる。

VBAで「Randomize ステートメント」というのを使えばできると思います。

2)と3)ももちろん可能ですが、ここで説明するには長すぎて、ちょっとできません。

おおまかな手順としては、例えばですが以下のようにすればよいと思います。

(1)英単語テーブルの作成

(a)数字キーフィールド(乱数と合致させるためのフィールド)
(b)英単語フィールド
(c)訳フィールド
(d)その他・備考フィールド


(2)ご質問の(3)ができるフォームを作成

(3)乱数発生フォームの作成

(a)(1)のテーブルをデータソースとする。
(b)乱数を発生させるためのコマンドボタンを作成し、
発生した乱数と同じ数字キーをもつレコードを表示
させるようにする。
レコードの表示は Docmd.GotoRecord などでできると思います。
(d)表示された数字キーをもとに(2)のフォームを、
開けるコマンドボタンを作成する

抽象的ですみませんがこんな感じです。
(3)のフォームを作成する時(1)のテーブルとの連結が簡単かと思いますが、非連結にしたいならDoLookUp関数やDAOなどを使います。
    • good
    • 0
この回答へのお礼

詳しいご回答、ありがとうございました。
AccessのVBAは以前挫折していることもあり、「他に方法はないかなぁ・・・」とジタバタしているうち、以下のようなフリーソフトを発見しました。

http://www.vector.co.jp/soft/win95/edu/se249930. …

今回の目的にはピッタリなので、とりあえずこちらを使ってみることにします。VBA、いつか挑戦してみます(^^;

お礼日時:2003/04/26 17:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!