Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : Excel 2016)
ADOでフィールド名もデータを取得したい。
投稿日時: 20/07/31 15:45:33
投稿者: 初老の男

いつもお世話になっております。
ADOでAccessのレコードを取得するプロシージャを作ったのですが、
これだとフィールド名が入りませんでした。
インポートのようにフィールド名も一緒に張り付ける方法はあるのでしょうか。
どうぞよろしくお願いいたします。
 
Sub 日付別売上取得()
Dim myCon As ADODB.Connection
Dim myRS As ADODB.Recordset
Dim FileName As String
 
Set myCon = New ADODB.Connection
Set myRS = New ADODB.Recordset
 
FileName = "C:\Users\Desktop\売上抽出.accdb"
     
myCon.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & FileName
 
With myRS
  .ActiveConnection = myCon
  .Source = "日付別売上"
  .Open
End With
 
Range("A2").CopyFromRecordset myRS
 
myRS.Close: Set myRS = Nothing
myCon.Close: Set myCon = Nothing
 
End Sub

回答
投稿日時: 20/07/31 16:14:56
投稿者: WinArrow
投稿者のウェブサイトに移動

フィールド名を一発で取得する方法はありません。
 
↓のような感じになります。
 
Dim Fx As Long
 
    For Fx = 0 To myRS.Fields.Count - 1
        Cells(1 ,Fx + 1).Value = myRS.Fields(fx).Name
    Next
 

投稿日時: 20/07/31 17:34:57
投稿者: 初老の男

WinArrow様
いつもお世話になっております。
お教えいただいた通りでできました!
勉強になりました。本当にご親切にありがとうございます。
よろしくお願い申し上げます。