RecordCount(ADO)が変わる?ADP+SQLServer
ACCESS2000(ADP)+SQLServerにて作成したものですが、
あるクライアント(1台)だけRecordCountがおかしいのです。
<フォームAのボタンクリック時の処理>
DoCmd.OpenForm "フォームB", , , , , , Me!コード
<フォームBの読み込み時の処理>
Dim rs AS ADODB.Recordset
Set rs = Me.RecordsetClone
rs.Find "コード=" & Me.OpenArgs, 0, adSearchForward
If not rs.EOF then
Me.Bookmark = rs.Bookmark
End if
問題のないクライアント(他の2台)では、
フォームBにてOpenArgに指定したコードが検索され,
該当のレコードが表示されます。
問題のクライアントでは、
「一部」のレコードを指定した場合にレコードが検索されず、
最初のレコードが表示されました。
原因を調べているうちに分かったことは、
Set rs = Me.RecordsetClone
で取得したレコードセットがあるタイミングでは、
一部かけた状態になっているということです。
その際に使用した方法は、
Set rs = Me.RecordsetClone
rs.MoveLast
MsgBox rs.RecordCount
MsgBox rs.RecordCount
としてレコードの件数を調べて判明しました。
MsgBox rs.RecordCountが2つあるのは記述ミスではありません。
該当のテーブル(レコード)は757件ありますが、
問題のないクライアントでは2回ともに757を返します。
問題のクライアントでは、
1回目のRecordCountは500
2回目のRecordCountは757を返してきます。
しかも、何回も実行していると
1回目が400、450、500とランダムで変化します。
(500が2回続いたりするときもあります)
以上のことから、考えられる原因は何かありますでしょうか。
よろしくお願いいたします。
お礼
参照するDBもソースもまったく同じものを使用したのですが、ダメでした。しょうがないですね。 SQLのCountでやってみます。 ありがとうございました!!!!