VBAでAccessデータベースをExcelに接続し、単一のテーブル「カテゴリ」からワークシートにデータをインポートします。テーブルの代わりに、データベースにすでに存在するクエリをインポートすることはできますか?
私はラインでクエリ名にテーブル名を変更するとき、それはなぜあなたはレコードセットとテーブル定義に変更されません?15.アクセスからのクエリのインポート
'connection Declairation
Dim conn As ADODB.Connection
Dim data As ADODB.Recordset
Set conn = New ADODB.Connection
Set data = New ADODB.Recordset
' end of connection Declairation
conn.ConnectionString = ConstrAccess
conn.Open
On Error GoTo closeconnection
With data
.ActiveConnection = conn 'specfied the connection
.Source = "Category" ' works only for Table Type
.LockType = adLockReadOnly
.CursorType = adOpenForwardOnly
.Open
End With
On Error GoTo closerecordset
Datasheet.Range("a2").CopyFromRecordset data
On Error GoTo 0
closerecordset:
data.Close
closeconnection:
conn.Close
End Sub
問題を再現できません。名前付きストアドクエリは、Excel 2013、Win 10、MS ActiveX 6.1ライブラリのリファレンスで使用できます。あなたが受け取ったエラーは何ですか? – Parfait
'Data'>' From Access'>アクセスファイルを選択してください>あなたのクエリがリストに表示されない場合は、リストに表示されるまでクエリを変更する必要があります。例えば、 'SELECT * FROM([クエリ名])' – Slai
@パルファットは、接続文字列を紛失して申し訳ありません。Const ConstraAccess As String = "Provider = Microsoft.ACE.OLEDB.12.0;データソース=(データベースのパス).accdb ;セキュリティ情報を永続化する=偽; " –