エクセルからアクセスの全てのクエリ名を取得することはできますか?
アクセスからなら
http://www.accessclub.jp/vbakaisetu/58.html
これでできたのですが、
エクセルからアクセスの全てのクエリ名をシートに書き出したいのですが
どうすればいいでしょうか?
エクセルからアクセスのクエリ名を取得するプロシージャーを実行して
変数に格納し、エクセルに戻すしかないのでしょうか?
No.2ベストアンサー
- 回答日時:
Excelのコード表の参照設定で、
Microsoft DAO xx Object Library
にチェックを入れて置いてください。
なお、xxは3.6のような数字です。
Sub test()
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Dim myQdfName As Variant
Dim i As Long
Dim j As Long
Set db = OpenDatabase("C:\Temp\sample.mdb")
'クエリ名の取り出し
ReDim myQdfName(i)
For Each qdf In db.QueryDefs
If Left(qdf.Name, 1) <> "~" Then
ReDim Preserve myQdfName(i)
myQdfName(i) = qdf.Name
i = i + 1
End If
Next qdf
'シートへの書き込み
For j = LBound(myQdfName) To UBound(myQdfName)
With Worksheets("Sheet1")
.Cells(j + 1, 1).Value = myQdfName(j)
End With
Next j
Set qdf = Nothing
db.Close: Set db = Nothing
End Sub
クエリの数は不明なので、一旦配列に取り込み、
それをシートに書き込む仕様にしています。
なお、No1さんのおっしゃるMsQueryからは、肝心なMSysObjectsや
MSysQueriesの列は参照できないようです。Accessのバージョンに
よってことなるかもしれませんが。
できました~
~sq_cフォーム1~sq_cコンボ0
とか言う変なオブジェクトまで取得されちゃうからifするんですね。
このコードはエクセルからでもアクセスからでも実行可能のようですね。
有難うございます。
No.1
- 回答日時:
記憶があいまいなのと環境が無いので試せませんので非常に無責任な状態ですが。
隠しオブジェクトのMSysなんとかというテーブルに、定義されてるオブジェクト名が一覧になってませんでしたっけ?
どこかの列の特定の値でオブジェクトの種類が"クエリ"と判断できたような気がします。
MSQueryで接続できるならそれで取得するとか。
違ってたらごめんなさい。
システムオブジェクトのMSysQueriesを見てみましたが
クエリ名らしきものはありませんでした。
むしろ何のデータが入ってるのか理解できませんでした笑
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- その他(IT・Webサービス) EXCELVBAでシートを他のブックにコピーする命令を出すと毎回存在しないシート名の問合わせがある 1 2022/05/07 15:12
- Excel(エクセル) EXCELVBAでシートを他のブックにコピーする命令を出すと毎回存在しないシート名の問合わせがある 2 2022/05/07 17:16
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- その他(コンピューター・テクノロジー) コピーデータの欠落 1 2022/07/14 23:30
- Excel(エクセル) Excel Powerクエリーの質問。あるクエリに一致する行だけ除外できますか? 1 2022/08/22 13:48
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Access(アクセス) アクセスで教えてください。 クエリで2日前を抽出する計算式を 入力して表示させると ちゃんとyyyy 1 2023/06/08 21:05
- Access(アクセス) アクセスで教えてください。 例えばテーブル1に 1 佐藤 2 鈴木 3 佐々木 コードと住所一覧があ 3 2022/06/11 20:45
- Access(アクセス) スキルシートのエクセルの項目に 2 2023/04/04 22:41
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスのエラー「クエリには...
-
Access2000で抽出したデータに...
-
EXCELの外部データ取得ができない
-
Access 複数のクエリの結果を...
-
クエリーの有る無し判定
-
Me.FilterOn = True は先でも後で
-
access追加クエリ実行時の重複...
-
エクセルからアクセスの全ての...
-
DoCmd.RunSQL "DROP Query
-
Accessで納品書を作りたいです
-
アクセスで空白がグループ化さ...
-
ACCESSで追加クエリを連続実行...
-
【Access2003 VBA】クエリをエ...
-
VBAによるwebクエリ方法
-
Accessでユニオンクエリを作成...
-
レコード件数をファイル名にし...
-
AccessでSQL結果を直接csvに書...
-
Accessで進行状況インジケータ...
-
Accessのエラーについてです。
-
Accessで複数(200件程)の置換
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスのエラー「クエリには...
-
EXCELの外部データ取得ができない
-
yes/no型のチェックができない...
-
Access 複数のクエリの結果を...
-
access追加クエリ実行時の重複...
-
AccessでSQL結果を直接csvに書...
-
ACCESSのフィールドの表示順が...
-
アクセスで空白がグループ化さ...
-
Accessで複数(200件程)の置換
-
Accessのエラーについてです。
-
ログイン画面後のページの表取...
-
ACCESSでメッセージにクエリ結...
-
Access2000で抽出したデータに...
-
Access 0で除算(並べ替...
-
Accessでユニオンクエリを作成...
-
Accessで進行状況インジケータ...
-
ACCESS テーブル内の列...
-
アクセスのフォーム単票形式の...
-
Access複数のクエリをExcelの1...
-
パススルークエリからデータシ...
おすすめ情報