Page 1 of 1
ขอชุดคำสั่ง ADO เพื่ออ่านไฟล์ excel ครับ
Posted: Sat May 03, 2014 8:32 pm
by somkiatfem
ขอชุดคำสั่ง ADO เพื่ออ่านไฟล์ excel ครับ
Re: ขอชุดคำสั่ง ADO เพื่ออ่านไฟล์ excel ครับ
Posted: Sat May 03, 2014 8:36 pm
by snasui
สำหรับ VBA ต้องเขียนมาเองก่อนตามกฎการใช้บอร์ดข้อ 5 ด้านบน ติดแล้วค่อยถามกันครับ
ช่วยเช็ค code ด้วยครับ
Posted: Sun May 04, 2014 8:47 pm
by somkiatfem
Option Explicit
Public Sub am()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim csql As New ADODB.Recordset
Dim a As Single
cn.Open "provider=microsoft.ace.oledb.12.0" & ";extended properties=text " & ";data source=C:\Users\somkiat\Desktop\SET-ARCHIVE"
'cn.Open "driver={microsoft access text driver (*.txt, *.csv)}" & ";dbq=C:\Users\somkiat\Desktop\SET-ARCHIVE"
rs.Open "select a, b, c" & " from set-history_EOD_1984-01-03.csv" & "order by a, b", cn <--- บรรทัดนี้เหลืองครับ
Workbooks.Add
ActiveCell.CopyFromRecordset rs
rs.Close
cn.Close
End Sub
Re: ขอชุดคำสั่ง ADO เพื่ออ่านไฟล์ excel ครับ
Posted: Sun May 04, 2014 8:54 pm
by snasui
ควรโพสต์ Code ให้แสดงเป็น Code จะได้สะดวกในการอ่าน สะดวกในการ Copy ไปทดสอบ ดูตัวอย่างการโพสต์ที่ Link นี้ครับ
http://www.snasui.com/viewtopic.php?f=3&t=1187
ช่วยแนบไฟล์ตัวอย่างทั้งสองไฟล์ คือไฟล์ต้นทางและปลายทางที่จะนำไฟล์ต้นทางมาวาง จะได้ช่วยทดสอบได้ครับ
เปิด database csv ไม่ได้ครับ
Posted: Sun May 04, 2014 9:05 pm
by somkiatfem
Code: Select all
Option Explicit
Public Sub am()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open "provider=microsoft.ace.oledb.12.0" & ";extended properties=text " & ";data source=C:\Users\somkiat\Desktop\SET-ARCHIVE"
'cn.Open "driver={microsoft access text driver (*.txt, *.csv)}" & ";dbq=C:\Users\somkiat\Desktop\SET-ARCHIVE"
rs.Open "select <OPEN>, <HIGH>" & " from set-history_EOD_1984-01-04.csv" & "order by a, b", cn '<--บรรทัดนี้เหลืองครับ และ orderหมายความว่าอย่างไรครับ ขอบพระคุณครับ
Workbooks.Add
ActiveCell.CopyFromRecordset rs
rs.Close
cn.Close
End Sub
Re: ขอชุดคำสั่ง ADO เพื่ออ่านไฟล์ excel ครับ
Posted: Mon May 05, 2014 8:09 am
by snasui
ลองดู Code ตามด้านล่างครับ
Code: Select all
Option Explicit
Public Sub am()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open "Driver={Microsoft Text Driver (*.txt; *.csv)};" _
& "Dbq=C:\Users\somkiat\Desktop\SET-ARCHIVE\;Extensions=asc,csv,tab,txt;"
rs.Open "select * from [set-history_EOD_1984-01-04.csv]", cn
Workbooks.Add
ActiveCell.CopyFromRecordset rs
rs.Close
cn.Close
End Sub
สำหรับ Order By ที่ถามนั้น เป็น Statement ของ SQL เป็นการให้เรียงลำดับตาม Field ที่ต้องการ
Re: ขอชุดคำสั่ง ADO เพื่ออ่านไฟล์ excel ครับ
Posted: Mon May 05, 2014 11:19 am
by somkiatfem
ขอบคุณครับอาจารย์ แต่ เหมือนผมต้องใส่ On Error Resume Next เดียวผมลองนำไปประยุกต์ใช้ดูก่อนครับผม