工作上難免收到 access 的資料庫,要把部份資料抓進來。不要說用人工處理成千上萬筆的資料很痛苦,就連一兩百筆資料要核對就夠累人了。
打開 excel 然後,進到俗稱 VBA 編輯器去,在
工具>>設定引用項目
把
Microsoft ActiveX Data Objects 6.0 Library
勾起來。是的,我要用 ADO。
首先建立 connection
Dim cn As ADODB.Connection
Set cn = New ADODB.Connection
cn.Open ("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & AccessFileFullPath & ";")
再來開啟 Recordset
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open "select * from mytable", cn, adOpenStatic, adLockReadOnly
接下來把資料帶出來,最簡單循序的方法如下,每一個 recordset 可以用 index 取該 column 的值,或用 column name 來取值。
Do While rs.EOF = False
iid = rs(0).Value
sname = rs("CityName").Value
rs.MoveNext
Loop
至於 recordset 開啟時的參數有何不同功效,有待改日或高人指點。