• 締切済み

access2003の乱数で・・・

はじめまして。access初心者です。 Rnd乱数を使ってテーブルからランダムにフォームに表示するおみくじのようなモノを作っています。テーブルには「CD」のフィールドを作り連番で整数を並べ、発生する乱数はこの範囲に指定し、テーブルのレコードを追加することでおみくじの回答を増やせる仕組にしています。 実際、動かすとランダムにおみくじの回答がフォームに表示されるのですが、一度accessを閉じて開いた場合の1回目の回答が毎回同じになってしまいます。(続けて2回目ですとランダムに出ます)原因や回避方法はあるのでしょうか?また、ファイルの保存先はファイルサーバーである事も何か影響あるのでしょうか? ご教授願えれば幸いです。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

Googleででも「乱数 種」で照会し、多数出る記事を読んでください。こういうことも知らず、乱数ーー>RNDだ、と使っているからの疑問ではないかな。 http://itpro.nikkeibp.co.jp/article/COLUMN/20080411/298744/ 辺りがわかりやすいかな。 対策・やり方は、上記にも#1にも出ているRandomizeで行う。

回答No.1

どういうコードを書いていますか?提示をお願いします。 ちなみに「Randomize」は入れてますか?

0083age
質問者

補足

回答ありがとうございます。コードは下記の通りです。教本等を見て書きました。 Private Sub Form_Open(Cancel As Integer) Dim mi As Long Dim ma As Long mi = DMin("占いcd", "t_占い") ma = DMax("占いcd", "t_占い") Me![cd] = Int((ma - mi + 1) * Rnd + mi) Me.RecordSource = "q_占い表示" 「t_占い」と言うテーブルに「占いcd」フィールドを作り整数を入れています。このテーブルを基にしたクエリ「q_占い表示」の抽出条件に発生した乱数を当て、ランダムに選択させているつもりです。 文章がへたくそですみません。伝わったでしょうか?

関連するQ&A