
SQL文でaccessのフィールドのレコード数を数えています。
Range("A1").CopyFromRecordset rsで無事、Range("A1")にレコード数を入力が出来ているのですが
セルに入力ではなく、出来れば変数にしたいのですが、データベース初心者なので、力をいただけないでしょうか
1度セルに入力後、変数に格納も出来ますが、出来れば変数に代入のみをしたいです
Range("A1").CopyFromRecordset rsの部分を
count_suu = rs のようにで代入できません
http://club-vba.tokyo/vba-sql-count/
こちらのサイトを参考にさせていただいています。
Sub レコード数をカウントする()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim count_suu as variant
'Connectionオブジェクトを作成
Set cn = New ADODB.Connection
'Recordsetオブジェクトを作成
Set rs = New ADODB.Recordset
'データベースを開く
cn.Open _
"Provider=Microsoft.ACE.OLEDB.16.0;" & _
"Data Source=" & ThisWorkbook.Path & "\テスト.accdb;"
Dim vSQL As String
vSQL = "SELECT COUNT(商品名) FROM 商品マスタ;"
'SQLを実行
cn.Execute vSQL
'「商品マスタ」テーブルのデータを取得してセルに転記
rs.Open vSQL, cn
'ここは成功
Range("A1").CopyFromRecordset rs
’エラー
count_suu = rs
rs.Close
cn.Close
End Sub
accessもexcelも2016です。

No.2ベストアンサー
- 回答日時:
vSQL = "SELECT COUNT(商品名) FROM 商品マスタ;"
rs.Open vSQL, cn
count_suu = rs.Fields(0).Value
です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
どこにもフォーカスを当てたくない
Access(アクセス)
-
ACCESS クエリで1から順番に番号を表示したい
Access(アクセス)
-
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
-
4
「#エラー」の回避
Access(アクセス)
-
5
Access VBAでクエリーのレコード件数を取得したいのですが
その他(データベース)
-
6
Accessレポートのチェックボックスを大きくする方法
Access(アクセス)
-
7
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
8
Accessで最新のレコードを抽出するには
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ADOでループすると1レコードず...
-
Excel 2019 のピボットテーブル...
-
「直需」の意味を教えてください
-
ACCESS検索★ある文字を複数のフ...
-
INSERT INTO ステートメントに...
-
【Access】フォームで自動計算...
-
Countと受付状態の表示に...
-
Oracle 2つのDate型の値の差を...
-
下記の事を行うSQLがわかりませ...
-
SQLServer2005のSQL文での別名...
-
カウントが出来ません
-
Access2000 更新のタイミング?
-
ACCESSで400以上のフィールドが...
-
再計算って出来ますか?
-
【続続】Access2002で連番のつ...
-
accsessで顧客コードで氏名を呼...
-
Access クロス集計クエリについて
-
Accessのフィールド数が255しか...
-
アクセス メモ型 255文字...
-
FROM の中で CASE を使えるでし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「更新に必要なキー列の情報が...
-
access2000でつまづいてます
-
Accessの更新前処理について。D...
-
AceessVBA 非同期処理について
-
cobolのカーソルについて
-
ACCESSのFindコマンドが遅い
-
Access VBAで自動連番を振るには
-
Set rst = db.OpenRecordset("S...
-
Access2003でのテーブルの有無確認
-
テーブルの削除
-
VB6とAccess
-
半角スペースの置換でエラーを...
-
ADOでループすると1レコードず...
-
[Access]削除時のエラーメッセ...
-
access count数を変数に格納
-
初心者です。Access レポートで...
-
access vbaでクエリデータの中...
-
Insertの構文を教えて下さい
-
adoのWHERE句 クエリだとフィ...
-
VBAのデバックをどなたかお手伝...
おすすめ情報
マクロはexcelから実行しています。