2010年10月27日 星期三

[excel][access]excel抓access資料

工作上難免收到 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 開啟時的參數有何不同功效,有待改日或高人指點。

沒有留言:

張貼留言