recordsetプロパティについて教えてください

解決


MKYK  2003-05-30 02:27:19  No: 78092

初めて質問します。よろしくお願いします。

ACCESS2000だけで開発しています。

あるフォームのテキストボックスとコマンドボタンを使って、フィルタを実行させました。
フォーム内のテキストボックスに現在のレコードと抽出されたレコード数を表示させます。

Private Sub SERCH_Click()
Me.Filter ="管理番号 =" & me![keyword]
Me.FilterOn = True
call レコード表示
End Sub

Private Sub レコード表示()
Me![txtレコード数] = Me.Recordset.RecordCount・・・ブレークポイント
Me![txt現在のレコード] = Me.CurrentRecord
End Sub

しかし、txtレコード数が必ず1になります。
フォームの移動ボタンの付近には10が表示されるのに、どうしてでしょうか?
コードは書きませんが、レコード移動時のイベントも別に設定していて、そのイベント内でも 「Call レコード表示」しています。
結果、レコード表示は2回実行してることになりますが、これが問題あるのでしょうか?
デバッグのため、上記のところブレークポイントを設定すると何故かうまくいきます。
つまり、一時停止をすることによりうまくいくような気がするのですが・・・
元になるクエリの計算スピードとコードの実行スピードが関係するということがあるのでしょうか?

現在、手詰まりです。よろしくお願いします。


魔界の仮面弁士  2003-05-30 03:11:49  No: 78093

カーソルタイプを確認してみてください。

『エクスパート望月宏一のAccess相談室』
Vol.3 Recordsetのレコード総数を数える
http://web.archive.org/web/20010419100234/www2.gihyo.co.jp/series.asp?ID=17


MKYK  2003-05-30 17:58:07  No: 78094

魔界の仮面弁士さん、ありがとうございました。

『エクスパート望月宏一のAccess相談室』を参考にして、
フォームの元クエリに並べ替えを設定することで解決できました。

大変勉強になりました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加