0
こんにちは、私はadodbを使ってcsvファイルからデータを取得しようとしています。現在のワークシートにレコードをコピーしようとしていますが、ヘッダーはコピーできますが、以下のレコードはソースファイルからコピーできません。ADODBのコピーからCSVをXLSMにコピー
本当にありがとうございます。
Public Sub ConnectExcel()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim str As String
Dim recCount As Long
Dim fc As Long
Dim ic As Integer
Dim ir As Integer
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
'***********CONNECTION TO THE FILE********************'
With cn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "Data Source=C:\tmp\;Extended Properties='text;HDR=YES;FMT=Delimited';"
.Open .ConnectionString
End With
'***********READING RECORDS********************'
str = "SELECT TOP 10 * FROM [prod.csv] WHERE [Netting Agreement Type]='GROSS'"
rs.Open str, cn
rs.MoveFirst
While Not rs.EOF
recCount = recCount + 1
rs.MoveNext
Wend
'***********COPY RECORDS********************'
fc = rs.Fields.Count
For ic = 1 To fc
ThisWorkbook.Worksheets("Sheet1").Cells(1, ic).Value = rs.Fields(ic - 1).Name
Next
ThisWorkbook.Worksheets("Sheet1").Cells(2, 1).CopyFromRecordset rs
'ThisWorkbook.Worksheets("Sheet1").Cells(1, 1).CopyFromRecordset rs
'Print rs.RecordCount
'***********CLOSE CONNECTIONS AND RELESE REFERENCES********************'
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
End Sub