Page 135 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼Dcountのエラー? ♪Dcount♪ 02/12/11(水) 17:04 ┗Re:Dcountのエラー? yu-ji 02/12/11(水) 17:20 ┗Re:Dcountのエラー? ♪Dcount♪ 02/12/11(水) 17:51 ┗Re:Dcountのエラー?(要、ヘルプ) yu-ji 02/12/12(木) 16:58 ─────────────────────────────────────── ■題名 : Dcountのエラー? ■名前 : ♪Dcount♪ ■日付 : 02/12/11(水) 17:04 -------------------------------------------------------------------------
クエリ1、クエリ2のレコード数をタイマーを使用して5秒ごとに表示するものを作ってます。 もとのテーブルは同じものです。 クエリ1はフィールド1がNull値のもの。 クエリ2はフィールド2がNull値のもの。 テーブルは複数のユーザから入力可能なのものです。 Private Sub Form_Load() Me.TimerInterval = 5000 End Sub Private Sub Form_Timer() rec_count1 = DCount("*", "クエリ1") rec_count2 = DCount("*", "クエリ2") A = rec_count1 B = rec_count2 IF A>0 and b>0 then ラベル1.caption = "クエリ1は " & A & " レコード。 クエリ2は " & B & " レコード。" End IF End Sub 上記のようなコードを書いてますが、 rec_count1 = DCount("*", "クエリ1") で時々(常にではないところが解決を難しくしてます・・・。)エラーが起こったりします。 もしかしたら、ここのコードがエラーを起こしているのではないかもしれませんが、 何か問題があったら教えてください。 |
▼♪Dcount♪ さん: >クエリ1、クエリ2のレコード数をタイマーを使用して5秒ごとに表示するものを >作ってます。 >もとのテーブルは同じものです。 >テーブルは複数のユーザから入力可能なのものです。 >上記のようなコードを書いてますが、 > rec_count1 = DCount("*", "クエリ1") >で時々(常にではないところが解決を難しくしてます・・・。)エラーが >起こったりします。 >もしかしたら、ここのコードがエラーを起こしているのではないかもしれませんが、 >何か問題があったら教えてください。 エラーはどのようなエラーですか? マルチユーザーの作業によるエラーではないですか? たとえば、該当テーブルをデザインモードで開いている時に、他のユーザが このフォームを表示していればエラーが起きますね。 デザインモード以外にも、誰かが排他的なロックをしてれば、同様のエラーが 出ると思います。 |
エラーは3001 引数が無効ですというものでした。 複数のユーザがあるからのエラーではないと思います。 ただ、このエラーが出たとき、デバックでは Dcountが表示されてましたが、 もとのテーブルにすべて"エラー#"と入ったレコードが1行できていました。 これが、元になって、引数エラーが表示されてしまったのだと思います。 このレコードが原因かもしれませんが、できたきっかけが全くわかりません。 ご教示どうぞよろしくお願いいたします。 |
▼♪Dcount♪ さん: >エラーは3001 引数が無効ですというものでした。 >もとのテーブルにすべて"エラー#"と入ったレコードが1行できていました。 >これが、元になって、引数エラーが表示されてしまったのだと思います。 >このレコードが原因かもしれませんが、できたきっかけが全くわかりません。 エラーメッセージを見ると、そのエラーの行が怪しそうですね。 しかし、なぜそのエラーが出来たのか分からないのでお役にたてなそうです。 #同様の現象を見たことがない為、予想もできないです。 ちなみに、無駄になる可能性は高いですが(爆)、他の方法でレコードカウント を取得してみてはどうでしょうか? モジュールでクエリのレコード数をカウントする関数を作っておいて(Dcount は使わずに、Recordsetとかを使って)、フォームのコントロールソースに その関数を指定して、時間になった時にRequeryする・・・という方法でも、 レコード数は取得できます。 エラー行が原因でひっかかっているなら、結局同じになりそうですが。(^^; |