• ベストアンサー

レコード件数が返らない理由がわからない

テーブル1にはレコードが5件入ってるのですが Private Sub レコード件数() Dim strSQL As String Dim rs As DAO.Recordset strSQL = "SELECT * FROM テーブル1;" Set rs = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset) Debug.Print rs.RecordCount End Sub これをすると1が返るのですがなぜでしょうか? レコードの数が返ると思ってるのですが違うのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • masatsan
  • ベストアンサー率15% (179/1159)
回答No.1

そうなんです。取れる場合もあれば取れない場合もある。多分ACCESSのバグだと思う。 仕方ないのでmovenextでlastまで行って数を数える。

ukfnklod7
質問者

お礼

バグですか!思いがけない原因でした。そういうこともあるのですね。ありがとうございました。

その他の回答 (2)

  • m3_maki
  • ベストアンサー率64% (296/460)
回答No.3

「Access RecordCount 正しくない」 でググると 分かりやすい日本語の説明が得られますが、 一応、こちらが本家なので。 http://support.microsoft.com/kb/105976/ja

ukfnklod7
質問者

お礼

ありがとうございました。

  • masatsan
  • ベストアンサー率15% (179/1159)
回答No.2

No1の追伸 多分ACCESSは実際にレコードを移動して数えているのではないだろうか。 従ってプロパティを取得する場合、まだ数えているうちに返ってきてしまうので おかしくなっているんだろう。という勝手な解釈。

ukfnklod7
質問者

お礼

なるほど~ 納得しました。

関連するQ&A

専門家に質問してみよう