CDaoRecordset::GetRecordCount
更新 : 2007 年 11 月
レコードセット内のレコードでアクセスされたレコードの数を調べます。
long GetRecordCount( );
戻り値
レコードセット オブジェクトでアクセスされたレコード数を返します。
解説
GetRecordCount はダイナセット タイプのレコードセット、またはスナップショット タイプのレコードセットにあるレコード数について、すべてのレコードがアクセスされるまで値を示しません。このメンバ関数の呼び出しは、完了するまでかなりの時間がかかることがあります。
一度最後のレコードがアクセスされると、戻り値は、レコードセットの削除されていないレコードの総数を示します。最後のレコードに強制的にアクセスさせるには、そのレコードセットの MoveLast または FindLast メンバ関数を呼び出します。クエリが戻すレコードのおおよその数を調べるには、SQL Count を使用することもできます。
ダイナセット タイプのレコードセットでアプリケーションがレコードを削除すると、GetRecordCount の戻り値は減少します。しかし、ほかのユーザーにより削除されたレコードは、現在のレコードがその削除されたレコードに位置付けられるまで、GetRecordCount には反映されません。レコード数に影響するトランザクションを実行し、引き続きそのトランザクションをロールバックすると、GetRecordCount は残されたレコードの実際の数を反映しなくなります。
スナップショット タイプのレコードセットでの GetRecordCount の値は、基になるテーブルの変更による影響を受けません。
テーブル タイプのレコードセットでの GetRecordCount の値は、テーブルのおおよそのレコード数であり、テーブル レコードが追加されたり、削除されるとすぐに反映されます。
レコードがないレコードセットでは、値 0 が返されます。アタッチ テーブルまたは ODBC データベースで作業しているときは、GetRecordCount は常に -1 を返します。レコードセットの Requery メンバ関数を呼び出すと、GetRecordCount の値は、クエリを再実行した場合と同じ値にリセットされます。
関連情報については、DAO ヘルプの「RecordCount Property」を参照してください。
必要条件
ヘッダー : afxdao.h