アクセスADOでクエリの行数を取得したいのですが
クエリが200行でも100行でも必ず12が返ります。
クエリ1は、一度12行の時にadoで数を取得し、その時は、正しく12が返ったのですが、
行数が変わっても12が返ります。
コードは、
Sub Sample()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Set cn = CurrentProject.Connection
rs.Open "SELECT * FROM クエリ1", cn, adOpenStatic, adLockPessimistic
Debug.Print rs.RecordCount
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing
End Sub
です。
Debug.Print DCount("*", "クエリ1")
だと、正しいレコード数が取得されるのですが、ADOだとおかしいです。
クエリ1のSQL文は、
SELECT Q_作業用.*
FROM Q_作業用;
のように、別のクエリを持ってきています。
何が原因なのでしょうか?
よろしくお願いします。
No.1
- 回答日時:
クエリの内容が伏せられた状態なので、想像するしかないのですが
再現を含め以下に(違っていたらスルーしてください)
テーブル「★★」が以下の様だと仮定します。
(「an」オートナンバ、「F1」テキスト型)
an F1
1 ABCD
2 BCDE
3 CDEF
4 DEFG
5 EFGH
クエリ「Q_★★」を以下とした時の表示は、
SELECT an, F1 FROM ★★ WHERE F1 Like '*C*' ORDER BY an;
an F1
1 ABCD
2 BCDE
3 CDEF
VBA で以下を記述し、最終の i、j の値を確認すると、i = 3、j = 0
Public Sub test()
Dim rs As New ADODB.Recordset
Dim i As Long, j As Long
i = DCount("*", "Q_★★")
rs.Source = "SELECT * FROM Q_★★;"
rs.Open , CurrentProject.Connection, adOpenStatic, adLockOptimistic
j = rs.RecordCount
rs.Close
Debug.Print i, j
End Sub
クエリで指定していたワイルドカードは "*"
ADO でのワイルドカードは "%"
ADO でクエリを指定した場合、内容を ADO 解釈する様です。
DAO でも ADO でも、クエリ「Q_★★」を使いたい場合、
(私はやりませんが)内容を以下に変更した「Q_▲▲」を対象にすると
SELECT an, F1 FROM ★★ WHERE (F1 Like '*C*') OR (F1 Like '%C%') ORDER BY an;
Public Sub test2()
Dim rs As New ADODB.Recordset
Dim i As Long, j As Long
i = DCount("*", "Q_▲▲")
rs.Source = "SELECT * FROM Q_▲▲;"
rs.Open , CurrentProject.Connection, adOpenStatic, adLockOptimistic
j = rs.RecordCount
rs.Close
Debug.Print i, j
End Sub
最終の i、j の値を確認すると、i = 3、j = 3
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
見学に行くとしたら【天国】と【地獄】どっち?
みなさんは、一度だけ見学に行けるとしたら【天国】と【地獄】どちらに行きたいですか? 理由も聞きたいです。
-
スマホに会話を聞かれているな!?と思ったことありますか?
スマートフォンで検索はしてないのに、友達と話していた製品の広告が直後に出てきたりすることってありませんか? こんな感じでスマホに会話を聞かれているかも!?と思ったエピソードってありますか?
-
コンビニでおにぎりを買うときのスタメンはどの具?
コンビニでおにぎりを買うとき、何の具材を選ぶことが多いですか?
-
人生でいちばんスベッた瞬間
誰しも、笑いをとろうとして失敗した経験があると思います。
-
【お題】斜め上を行くスキー場にありがちなこと
運営も客も一流を通り越して斜め上を行くスキー場にありがちなことを教えて下さい。
-
クエリ表示と、ADOで抽出したレコードセットが違う
Access(アクセス)
-
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
ADOのCursorLocationプロパティ
Visual Basic(VBA)
-
-
4
ACCESSのクエリで同じSQL文だが結果が異なる
その他(データベース)
-
5
Access→Oracleデータ参照にはADOとパススルークエリどちらが良い?
その他(データベース)
-
6
ラベルとテキストボックスのグループ化を解除したい
Access(アクセス)
-
7
実行時エラー -2147217900 ADODBでレコードセットオープン時エラー
Access(アクセス)
-
8
AccessのWHERE句において、変数は使用できますか?
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・ことしの初夢、何だった?
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスのエラー「クエリには...
-
ログイン画面後のページの表取...
-
EXCELの外部データ取得ができない
-
アクセスで空白がグループ化さ...
-
Access複数のクエリをExcelの1...
-
Access 0で除算(並べ替...
-
Access 複数のクエリの結果を...
-
アクセスでクロス集計をレポー...
-
Webクエリで取り込みができない...
-
Accessのエラーについてです。
-
Accessクエリの全リンク先
-
ACCESS テーブル内の列...
-
アクセス ADO レコードの件数...
-
Access 特定の条件下で、メッ...
-
AccessでSQL結果を直接csvに書...
-
差込印刷での全角表示について...
-
日付型のフィールドに空白を入...
-
エクセルにおける「フィールド...
-
Accessのテーブルのフィールド...
-
アクセスで追加した項目に全て...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスのエラー「クエリには...
-
EXCELの外部データ取得ができない
-
yes/no型のチェックができない...
-
access追加クエリ実行時の重複...
-
ACCESSのフィールドの表示順が...
-
Access 複数のクエリの結果を...
-
AccessでSQL結果を直接csvに書...
-
ACCESSでメッセージにクエリ結...
-
ログイン画面後のページの表取...
-
Accessで進行状況インジケータ...
-
アクセスで空白がグループ化さ...
-
Accessで複数(200件程)の置換
-
Accessでユニオンクエリを作成...
-
Accessのエラーについてです。
-
ACCESS テーブル内の列...
-
アクセス ADO レコードの件数...
-
Access複数のクエリをExcelの1...
-
Access 特定の条件下で、メッ...
-
ACCESSで追加クエリを連続実行...
-
VBAによるwebクエリ方法
おすすめ情報