0
概述
我使用www.quandl.com免費的財務數據,試圖預測資產價格變動使用URLMON API函數從Quandl.com數據下載到訪問數據庫,用VBA
方法
我已經構建了一個函數來使用quandl API下載數據。我正在聲明位於urlmon.dll系統32文件夾中的Windows API函數。
代碼
Option Explicit
#If VBA7 Then
Private Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (_
ByVal pCaller As LongPtr, _
ByVal szURL As String, _
ByVal szFileName As String, _
ByVal dwReserved As LongPtr, _
ByVal lpfnCB As LongPtr) As LongPtr
#Else
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownLoadToFileA" (_
ByVal pCaller As Long, _
ByVal szURL As String, _
ByVal szFileName As String, _
ByVal dwReserved As Long, _
ByVal lpfnCB As LongPtr) As Long
#End If
Sub DownloadSingleFile()
Dim FileURL As String
Dim DestinationFile As String
FileURL = "https://www.quandl.com/api/v3/datasets/WIKI/FB/data.csv?"
DestinationFile = "C:\Users\hueve\Desktop\TheSystem\Fb.csv"
URLDownloadToFile 0, FileURL, DestinationFile, 0, 0
End Sub
問題
此代碼的工作,這將數據下載到正確的文件的目標,我想知道如果有一種方法,而不是直接下載到文件位置;直接運行它到Access數據庫表?我知道該函數明確指出它直接下載到一個文件,但是直接訪問Access DB將是一件好事。此外,我知道旁邊沒有這些API函數,所以請放輕鬆
使用[DoCmd.TransferText]( https://msdn.microsoft.com/en-us/vba/access-vba/articles/docmd-transfertext-method-access)將csv導入Access表。完成後,刪除csv文件。 – Parfait
我看過這樣做,那將是我採取的一切路線失敗的路線。我主要關心的是我計劃下載10,000個或更多數據集到多個dbs的時間,但我不確定Docmd.transfettext的速度如何? – ZacAttack
這似乎是一個額外的步驟,創建一個文件,然後刪除它? – ZacAttack