エクセルvbaなのですが、
adoのWHERE句は、テーブルじゃないとダメなのでしょうか?
と言うのも、
rs.Open "Q_カテゴリ WHERE 分類 like '%A%'"
だと、エラーにならないのですが、抽出もされずに全レコードが対象になってしまいます。
しかし、
rs.Open "T_カテゴリ WHERE 分類 like '%A%'"
にすれば、抽出された後のレコード数が取得されます。
エラーにならない事から、オブジェクトは存在してる事は確かなはずですが
なぜかフィルタできません。
なぜでしょうか?
No.2ベストアンサー
- 回答日時:
Excelのバージョンは古いですが、
保存済みのクエリを指定してレコードセットを
開く場合、フィルタをかけるならば、
たとえば、住所録で住所が「東京」の
住所を求める場合、
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim varAdo As Variant
Dim i As Long
Dim varSheet As Variant
varAdo = ActiveWorkbook.Path & "\sample1.mdb"
cn.ConnectionString = "provider=Microsoft.jet.OLEDB.4.0;" _
& "Data Source=" & varAdo & ""
cn.Open
rs.Source = "Q住所録"
rs.Filter = "[住所] = '東京'"
rs.CursorType = adOpenDynamic
rs.ActiveConnection = cn
rs.Open
varSheet = ActiveSheet.Name
i = 5
Do Until rs.EOF
With Worksheets(varSheet)
.Cells(i, 1).Value = rs!ID
.Cells(i, 2).Value = rs!名前
.Cells(i, 3).Value = rs!住所
.Cells(i, 4).Value = rs!年齢
End With
i = i + 1
rs.MoveNext
Loop
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing
のようにしてクエリをレコードセットとして開きます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
- Access(アクセス) access フォーム 大分類、小分類 1 2022/08/11 18:03
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
AccessVBAについて
-
Accessの更新前処理について。D...
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
Accessでテーブル名やクエリ名...
-
Accessでテーブルの値をテキス...
-
「直需」の意味を教えてください
-
SQLServer2005のSQL文での別名...
-
Accessでコードを入れると名前...
-
Access 昇順・降順で並び替え...
-
SUBSTRING 関数に渡した長さの...
-
Oracle 2つのDate型の値の差を...
-
テーブルの存在チェックについて
-
ORACLEでLONG項目からCHAR項目...
-
Accessレコードの追加や変更が...
-
SELECT文でLEFT関数を使うと未...
-
ACCESSで和暦を西暦に・・・
-
デザインビューで、連結式 を...
-
ODBCで接続するとDBに変更/追加...
-
Accessのフィールド数が255しか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
access count数を変数に格納
-
access2000でつまづいてます
-
Accessの更新前処理について。D...
-
ADOでループすると1レコードず...
-
「更新に必要なキー列の情報が...
-
ACCESSのFindコマンドが遅い
-
Access2003でのテーブルの有無確認
-
[Access]削除時のエラーメッセ...
-
Access VBAで自動連番を振るには
-
VBAのデバックをどなたかお手伝...
-
ECサイトの購入後の在庫処理
-
AceessVBA 非同期処理について
-
cobolのカーソルについて
-
ACCESS 処理件数の取得
-
adoのWHERE句 クエリだとフィ...
-
VB2010のSQLを使ったレコードカ...
-
VBScript+SQLServerでcountがう...
-
半角スペースの置換でエラーを...
-
Set rst = db.OpenRecordset("S...
-
Access VBA
おすすめ情報