請教有關ADODB.STREAM和Microsoft.XMLHTTP的用法
- 帖子
- 79
- 主題
- 2
- 精華
- 0
- 積分
- 193
- 點名
- 0
- 作業系統
- Winwos 7 64 bits
- 軟體版本
- Excel 2003/2007
- 閱讀權限
- 20
- 性別
- 男
- 來自
- TAIPEI
- 註冊時間
- 2010-8-25
- 最後登錄
- 2019-9-20
|
回復 9# 小俠客
直接將CSV檔,當作TABLE的另一種寫法...- theCsvFolder = ThisWorkbook.Path & "\temp\" '下載的CSV暫存資料夾,檔名則為【股票代號.csv】
- tbl = "PRICE_Daily" ' ACCESS 裡存日成交資料的TABLE
- strFields = "[Date],[Open],[High],[Low],[Close],[Volume],[Adj Close] as [AdjClose]"
- strSQL = "INSERT INTO [" & tbl & "] SELECT " & 股票代號 & " as [StockID]," & strFields & " FROM [Text;Database=" & theCsvFolder & "].[" & 股票代號 & "#CSV]"
- cn.Execute strSQL
複製代碼 |
|
diabo
|
|
|
|
|
- 帖子
- 79
- 主題
- 2
- 精華
- 0
- 積分
- 193
- 點名
- 0
- 作業系統
- Winwos 7 64 bits
- 軟體版本
- Excel 2003/2007
- 閱讀權限
- 20
- 性別
- 男
- 來自
- TAIPEI
- 註冊時間
- 2010-8-25
- 最後登錄
- 2019-9-20
|
#10 的寫法,只能省一個步驟...
讀取資料 > 儲存成CSV > (可省略)讀取CSV(可省略) > CSV直接寫入ACCESS > 刪除CSV的過程[code] |
|
diabo
|
|
|
|
|
- 帖子
- 79
- 主題
- 2
- 精華
- 0
- 積分
- 193
- 點名
- 0
- 作業系統
- Winwos 7 64 bits
- 軟體版本
- Excel 2003/2007
- 閱讀權限
- 20
- 性別
- 男
- 來自
- TAIPEI
- 註冊時間
- 2010-8-25
- 最後登錄
- 2019-9-20
|
完整程式碼....- Sub 將CSV檔資料寫入ACCESS()
- Dim cn As ADODB.Connection
-
- '建立ADODB Connection物件變數
- Set cn = New ADODB.Connection
-
- TARGET_DB = "TaiwanDB.mdb"
- tbl = "PRICE_Daily"
- 股票代號 = "1101"
- theCsvFolder = ThisWorkbook.Path
-
- '建立ACCESS(*.mdb)連結
- cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
- "Data Source=" & ThisWorkbook.Path & "\" & TARGET_DB & ";" & _
- "Persist Security Info=False"
-
- strFields = "[Date],[Open],[High],[Low],[Close],[Volume],[Adj Close] as [AdjClose]"
- strSQL = "INSERT INTO [" & tbl & "] SELECT " & 股票代號 & " as [StockID]," & strFields & " FROM [Text;Database=" & theCsvFolder & "].[" & 股票代號 & "#CSV]"
- '執行SQL command
- cn.Execute strSQL
-
- '關閉ADODB connection
- cn.Close
-
- '清除佔用記憶體
- Set cn = Nothing
- End Sub
複製代碼 |
|
diabo
|
|
|
|
|