![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
数学の問題をデータベース(アクセス)に登録しています。
フィールドは、問題、解答、目標時間、難易度(1~5)、ジャンルです。
これを例えば、以下の条件でランダムに問題を抽出したい。
・ジャンルが、「A」と「B」のみ
・難易度1~3から
・目標タイムの合計が10-15分になるように
で、抽出の仕方としては、
・問題だけの用紙(目標タイムが書いてある)
・解答だけの用紙
とプリントできるようにしたいのです。
このように、ランダムに作れると、確認テストをたくさん作れるのでとても便利です。
アクセスで無理なら、他のソフトなど紹介してくれるとうれしいです。
以上よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんな感じですか。
(めんどいところは省略)
---
Public Sub TEST()
Dim cs As ADODB.Connection
Dim rs As ADODB.Recordset
Dim strSQL As String
Dim int時間 As Integer '目標時間累積
Dim int問題数 as Integer '対象問題数
Dim int選択 As Integer
Dim i As Integer
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
strSQL = "SELECT [問題], [回答], [目標時間], [難易度], [ジャンル] " & _
" FROM T_問題 " & _
" WHERE ([目標時間]<=15) " & _
" And ([難易度] Between 1 And 3) " & _
" And ([ジャンル]='A' Or [ジャンル]='B')"
rs.Open strSQL, cn, adOpenStatic, adLockOptimistic
int時間 = 0
int問題数 = rs.RecordCount
loopnext:
rs.MoveFirst
'ランダムに数字を取得
int選択 = Int(Rnd(0) * int問題数) + 1
i = 0
Do While i <= int選択
rs.MoveNext
i = i + 1
Loop
'問題重複の場合の処理(省略)
int時間 = int時間 + rs!目標時間
'何回やっても目標時間が10から15に収まらなかったときの処理(省略)
If int時間 <= 15 Then
'対象レコードをテーブルに出力(省略)
If int時間 < 10 Then
GoTo loopnext '次の問題取得
End If
Else
GoTo loopnext '次の問題取得
End If
'テーブルを元に問題および解答のレポート作成(省略)
End Sub
回答ありがとうございます。
やはり、プログラムを組む必要がありそうですね。。。
わざわざありがとうございます。時間があればチャレンジしてみたいと思います。
No.2
- 回答日時:
質問者がどれだけのアクセスの経験があるのか不明ですが、これは難しと思います。
プロに金を払ってやってもらう範囲だと思います。少し進むとCAIの関連になります。
ーー
質問に書いている
(1)問題の属性的(分野・難易度など)サマリ的な情報
外に
(2)そのサマリそれぞれのレコード(横1行)に対応する、実際の問題文
が考えられる。
(1)はアクセスは得意分野でしょう。
クエリやSQLの勉強をすれば、複数条件での抜き出しは、エクセル関数に比べたら格段に上です。
でもこの質問コーナーを10年ぐらい見ているが、アクセスは習得が難しいという意見が多い。
難なく学習できた人は声を挙げないのかもしてないが。
ーー
しかし(2)の問題文そのものの整理は、アクセスは得意とはいえないでしょう。卑近には数学数式もソフト(数式エディタ)の手を借りないと記述も難しいでしょう。
エクセルにある数式ソフト3.0をアクセスで使うとしても、疑問回答もGoogleでも見つからなかった。
アクセスには不定文字数の情報を扱うメモ型なども在りますが、扱いが難しいのでは。
ーー
それにアクセスは印刷(レポート)が自由にするのが難しい。
===
結局言いたいことは、同じようなことを考える先生は多いと思うので、出来合いの有料・無料ソフトが無いか探して、使うべきでしょう。
とりあえず「VECTOR」でWEB照会してみて。
教育界におれば、そういうニュースやお誘いはあるのではないですか。こんな質問コーナーに質問するのは、たまたま経験者がいれば、を狙うことで、賢明ではない。むしろ教育関連のカテの方がまだ相応しいのではないかな。
世上では、先生は雑務ほかで忙しいといわれている。そんな中でACCESSを実用まで勉強するのは、マニアックな人以外は難しいと思うが。
ACCESSを教えるスクールにでも行っても、その程度では途は遠いと実感するのではないかな。
アクセスは(1)の処理だけに限り、問題は紙の形で番号順に管理し、問題番号をアクセスの検索で知って、紙を探し、生徒数分コピーして使うなどが当面の目標かな。
回答ありがとうございます。
やはり難しいですね。。。
私は個人的に家庭教師をしているだけで、教育界の知人は居ません。。。
確かに需要はありそうですね。
アクセスのプログラムを今から勉強するのは大変そうですので、違う方法、もしくはすでにあるかもしれないサービスを探してみたいと思います。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 統計学 統計学の問題です 2 2022/08/18 14:50
- 政治 選挙はランダム投票でするべきだろう。 ランダム投票とは、国民から無作為に投票者を抽出する投票制度。 4 2022/06/24 17:09
- 大学・短大 大学 統計学 1 2022/09/14 11:27
- 統計学 母集団分布を平均 μ, 分散 σ2 の正規分布と想定し, 母集団から無作為抽出した標本のデータ(標本 4 2023/01/30 20:25
- Excel(エクセル) ランダムで四択の問題を作る場合にvbaで何を学べばいいでしょうか。 1 2022/04/14 16:45
- 数学 問題「キッチンペーパーだけでバウムクーヘンを五等分せよ」 正解は? 5 2022/12/16 22:18
- 統計学 統計学の問題です。教えてください(_ _) 数万人の有権者がいる選挙区で, 無作為に400人の標本を 2 2023/02/03 15:27
- 大学受験 国立受験 11月からの大逆転劇を起こすには 7 2022/11/14 19:24
- 数学 統計学の問題です。 2 2023/07/28 08:00
- 中学校 中1数学 比例のグラフの座標の読み取り 4 2023/03/28 12:26
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
富士山麓にオウム鳴く?
-
関西(大阪)から尾瀬に電車、...
-
ルート50の解き方
-
Googleドライブをクイックアク...
-
googlemapで最寄駅を調べる方法
-
昼休みに来る人ってどういう神...
-
横浜駅から200KmのJR駅は
-
√6のようなルートを少数に直す...
-
√96の解き方
-
エクセルでルートの上の棒を長...
-
ワードで式を書く時に、ルート...
-
携帯番号はアクセスサイト先に...
-
Cドライブ直下に、ファイル等を...
-
グーグルマップの用語について
-
nslookup時のDNSサーバのタイム...
-
同一フォルダ内で、エクセルを...
-
分からないと解らないと判らな...
-
ルート(√)の表示方法について
-
カーナビに目的地に着くまでの...
-
関西エリアの高速道路に詳しい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
富士山麓にオウム鳴く?
-
関西(大阪)から尾瀬に電車、...
-
Googleドライブをクイックアク...
-
横浜駅から200KmのJR駅は
-
ワードで式を書く時に、ルート...
-
Cドライブ直下に、ファイル等を...
-
√6のようなルートを少数に直す...
-
SDカードに取り込んだ音楽の...
-
零細性って何ですか? 過多性っ...
-
ルート50の解き方
-
nslookup時のDNSサーバのタイム...
-
パソコンでの『ルート(√)2』...
-
一方通行や右左折禁止のわかる...
-
ノートパソコンにHDDアクセスラ...
-
昼休みに来る人ってどういう神...
-
定期券で途中で降りたらお金取...
-
googlemapで最寄駅を調べる方法
-
you are an idiot!のアクセス方...
-
google mapでのルート検索を良...
-
京都から名古屋: 一般道での走...
おすすめ情報