Access2003のVBAで次のような構文を用いてクエリーの該当レコード数を取得したいのですがうまく出来ません。
構文又は手法が間違っているのでしょうか。
Dim db As Database
Dim rs As Recordset
Dim cnt As Long
Set db = CurrentDb
Set rs = db.OpenRecordset("該当顧客リストクエリ", dbOpenTable)
cnt = rs.RecordCount
※OpenRecordsetの行で「実行時エラー'3219'無効な処理です」と出てしまいます。
又、”該当顧客リストクエリ”では特定の抽出条件を設定して、”顧客リストテーブル”の一部を抽出するようにしています。
No.2ベストアンサー
- 回答日時:
Set db = CurrentDb
Set rs = db.OpenRecordset("該当顧客リストクエリ", dbOpenTable)
cnt = 0
If Not rs.EOF Then
rs.MoveLast
cnt = rs.RecordCount
rs.MoveFirst
End If
このようにしたほうが、良いですよ
DAOのレコードセットは展開したときには、正確なレコード件数を返しません
一旦、MoveLastメソッドで最終ポイントまで行けば正確な件数が得られます
(ただし、パフォーマンスが落ちますorz)
面倒でも、「select count(*) as RecordCount from "テーブル名"」で取得したほうがいいですよ
ちなみに、別件はこれで良いんじゃないですかね?
Set rs = db.OpenRecordset("該当顧客リストクエリ", dbOpenSnapShot)
ご回答いただきありがとうございます。
DAOのレコードセットは確かに最後まで移動させないと総レコード数が出ない場合がありますね。
OpenRecorssetはうまくいきました。
重ねましてありがとうございます。
No.3
- 回答日時:
Access2003なら
Dim db As DAO.Database
Dim rs As DAO.Recordset
とすれば 出来ます。
No.1
- 回答日時:
dbOpenTable は ヘルプによると
テーブル タイプの Recordset オブジェクトを開きます
ということですから、クエリは開けません。
dbOpenDynaset など、他の Type を指定してください。
なお、レコード数を取得するだけならレコードセットを使わなくても
cnt = DCount("*", "該当顧客リストクエリ")
で、取得できます。
この回答への補足
ご回答いただきありがとうございます。
Dcountはうまくいきました。
OpenRecordsetの方は次のようにした所、「実行エラー'3061'パラメータが少なすぎます。1を指定して下さい」と出てしまいました。
Set rs = db.OpenRecordset("該当顧客リストクエリ", dbOpenDynaset, dbAppendOnly, dbPessimistic)
構文が違うのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
- Visual Basic(VBA) VBAでのMATCH関数 3 2022/10/17 19:06
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
このQ&Aを見た人はこんなQ&Aも見ています
-
餃子を食べるとき、何をつけますか?
みんな大好き餃子。 ふと素朴な疑問ですが、餃子には何をつけて食べますか? 王道は醤油とお酢でしょうか。
-
あなたにとってのゴールデンタイムはいつですか?
一週間の中でもっともテンションが上がる「ゴールデンタイム」はいつですか? その逆で、一週間でもっとも落ち込むタイミングでも構いません。 よかったら教えて下さい!
-
忘れられない激○○料理
これまでに食べたもののなかで、もっとも「激○○」だった料理を教えて下さい。 激辛、でも激甘でも。 激ウマ、でも激マズでも。
-
プリン+醤油=ウニみたいな組み合わせメニューを教えて!
プリンと醤油を一緒に食べると「ウニ」の味がする! というような意外な組み合わせから、新しい味になる食べ物って色々ありますよね。 あなたがこれまでに試した「組み合わせメニュー」を教えてください。
-
とっておきの「まかない飯」を教えて下さい!
飲食店で働く方だけが食べられる、とっておきの「まかない飯」。 働いてらっしゃる方がSNSなどにアップしているのを見ると、表のメニューには出てこない秘密感もあって、「食べたい!!」と毎回思ってしまいます。
-
Access サブフォームでの選択行の取得
その他(データベース)
-
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
-
4
ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい
Access(アクセス)
-
5
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
6
VBAをつかってクエリの情報を抽出するには??
Visual Basic(VBA)
-
7
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
8
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
9
AccessのFormの設定で、開いた時に必ず最大化で表示する方法が分からず困っています
Access(アクセス)
-
10
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
11
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
12
パラメータが少なすぎます。1を指定して下さい。""
Excel(エクセル)
-
13
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
14
Accessのフォームにて、詳細行のボタンを行の内容により、表示/非表
その他(Microsoft Office)
-
15
フィルタ後のフォームの件数の取得の仕方
Access(アクセス)
-
16
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
17
ACCESSで条件によってフォーム上のフィールドの色を変更
Access(アクセス)
-
18
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
19
ACCESS側からEXCELの書式を設定するには?
Visual Basic(VBA)
-
20
AccessVBAで作成したExcelファイルを削除する方法は?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
顧客IDを入力すると顧客名や住...
-
ADOでレコードを閉じるタイミン...
-
Access フォームのデータがテー...
-
データベースの1要素に複数デー...
-
Access VBAでクエリーのレコー...
-
ACCESS で マクロの中でフィ...
-
Access 既に開いているフォー...
-
Access2000 単票フォーム上の...
-
シングルクォーテーションとダ...
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
Accessでテーブル名やクエリ名...
-
「直需」の意味を教えてください
-
Oracle 2つのDate型の値の差を...
-
テーブルの存在チェックについて
-
Accessでテーブルの値をテキス...
-
INSERT INTO ステートメントに...
-
SQLServer2005のSQL文での別名...
-
Accessのフィールド数が255しか...
-
必須入力項目と入力必須項目
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access VBAでクエリーのレコー...
-
シングルクォーテーションとダ...
-
Access フォームのデータがテー...
-
Access IF文でテーブルに存在し...
-
データベースの1要素に複数デー...
-
ACCESS で マクロの中でフィ...
-
ACCESS2003 Aアクロバットを介...
-
Access 既に開いているフォー...
-
顧客IDを入力すると顧客名や住...
-
ワードでの単純作業の効率化に...
-
Access クエリ このレコードセ...
-
テーブル1 2 3 の結合
-
VBAで検索条件式の書き方教えて...
-
ワードで保存するファイル名の...
-
Accessデータベースで行と列を...
-
access フォーム間で情報が引...
-
Access レコードロックについて...
-
ACCESS 顧客データ 購入履歴...
-
別のDBからテーブルをコピーす...
-
文字化け、記号の含まれるフィ...
おすすめ情報