excel vba 查詢 Sqlite資料庫(設定與語法)範例
暱稱: joey0415
中學生
- 帖子
- 361
- 主題
- 57
- 精華
- 0
- 積分
- 426
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- 2003,2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2010-5-13
- 最後登錄
- 2022-12-8
|
excel vba 查詢 Sqlite資料庫(設定與語法)範例
本帖最後由 joey0415 於 2013-7-31 20:16 編輯
自己試了很久,終於成功了,網路上以vba操作sqlite的文章非常少,所以發個文來紀錄一下
不能傳附件,附上dorpbox連結下載
sqlite odbc driver要裝
http://www.ch-werner.de/sqliteodbc/
附上練習資料庫與excel vba 檔
https://dl.dropboxusercontent.com/u/40393708/sqlite/sqlite3.zip- Sub select輸出至sheet1中()
- Dim cn, rs, f
-
- Set cn = CreateObject("adodb.connection")
- '開啟sqlite指定資料庫,路徑與檔案名稱要對
- cn.Open ("Driver={SQLite3 ODBC Driver};database=E:\joey.sqlite")
- '寫出SQL查詢語法
- Set rs = cn.Execute("SELECT * FROM home ")
- Sheet1.Cells.Delete
- For f = 0 To rs.fields.Count - 1
- Sheet1.Cells(1, f + 1).Value = rs.fields(f).Name
- Next
- Sheet1.Cells(2, 1).CopyFromRecordset (rs)
- cn.Close
- End Sub
複製代碼- Sub insert()
- Dim x
- Dim sql_command As String
- Dim connection_string As String
-
- Set x = CreateObject("adodb.recordset")
- sql_command = "insert into home(name, age) values('mary','50') "
- connection_string = ("Driver={SQLite3 ODBC Driver};database=E:\joey.sqlite")
- x.Open sql_command, connection_string
- Set x = Nothing
-
- End Sub
複製代碼 |
|
|
|
|
|
|
暱稱: joey0415
中學生
- 帖子
- 361
- 主題
- 57
- 精華
- 0
- 積分
- 426
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- 2003,2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2010-5-13
- 最後登錄
- 2022-12-8
|
回復 2# koshi0413
所有個股股價資料放進單一檔案,例如stock.sqlite中,再透過select 選出你要的股票資料才對,因為放進同一個資料,才可以選所有指定區間的股票與股價等…
,這樣不用幾秒,透過程select的語法,還可以指定區間轉檔單週或單月所有股票週或月資料,一定不用30秒,我的資料庫六年日週月所有股票與集保,檔案才800mb
沒有什麼問題 |
|
|
|
|
|
|
暱稱: joey0415
中學生
- 帖子
- 361
- 主題
- 57
- 精華
- 0
- 積分
- 426
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- 2003,2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2010-5-13
- 最後登錄
- 2022-12-8
|
回復 4# koshi0413
你看圖就知道了
120mb很少,sqlite容量最大是2T,很夠用
資料抓得到,會用SQL 語法可以解法很多問題,它的運算比VBA陣列等都還快上許多
|
|
|
|
|
|
|
暱稱: joey0415
中學生
- 帖子
- 361
- 主題
- 57
- 精華
- 0
- 積分
- 426
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- 2003,2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2010-5-13
- 最後登錄
- 2022-12-8
|
回復 5# PKKO
您好!
一、應該一樣才對,資料都是進抓來就先處理好(資料格式)
二、ACCESS最大2G, sqlite 2T,連線人數我沒試過,速度一樣快
三、它是單一檔案,直接複製貼上即可,差異備份好條沒有 |
|
|
|
|
|
|
暱稱: joey0415
中學生
- 帖子
- 361
- 主題
- 57
- 精華
- 0
- 積分
- 426
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- 2003,2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2010-5-13
- 最後登錄
- 2022-12-8
|
回復 10# c_c_lai
賴大您好!
看你的系統是32還是64,選擇正確直接裝就可以用了
它只是驅動程式 |
|
|
|
|
|
|
暱稱: joey0415
中學生
- 帖子
- 361
- 主題
- 57
- 精華
- 0
- 積分
- 426
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- 2003,2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2010-5-13
- 最後登錄
- 2022-12-8
|
回復 13# c_c_lai
剛剛裝的只是驅動
通常都用firefox 的外掛 sqlite manager (不用錢)來新建
|
|
|
|
|
|
|