2015-06-05 42 views
2

下載數據,這可能是不可能的,但我試圖創建在這個環節使用從表中信息的MS Access數據庫:自動從在線數據庫

http://si3.bcentral.cl/Indicadoressiete/secure/Serie.aspx?gcode=PRE_TCO&param=RABmAFYAWQB3AGYAaQBuAFMALQAkADYAbgBNAGgAaAAkADUAVwBQAC4AbQBYADAARwBOAGUAYwBjACMAQQBaAHAARgBhAGcAUABTAGUAdwA1ADQAMQA0AE0AawBLAF8AdQBDACQASABzAG0AXwA2AHQAawBvAFcAZwBKAEwAegBzAF8AbgBMAHIAYgBDAC4ARQA3AFUAVwB4AFIAWQBhAEEAOABkAHkAZwAxAEEARAA=

編輯:一個用戶認爲鏈接是可疑的。如果您不信任,請在Google上搜索「智利中央銀行統計數據庫」。然後,導航到「觀察美元」系列。我加入了鏈接,讓人們更輕鬆。

有誰知道這是否可能?我對此很新 - 理想情況下,我想在VBA中做到這一點。

謝謝!

+0

@MattHall爲什麼不呢?這是智利中央銀行的網站... – ar1994

+0

@ ar1994好好看看它......誰知道那些真正聯繫的東西?! –

+0

@MattHall對不起 - 我對這個網站的海關不熟悉。不過,您可以在鏈接的開頭看到鏈接將您帶到中央銀行網站。這是如何使它可疑?... – ar1994

回答

2

另一種方法是將頁面按原樣下載到「Daily Indicators.htm」。

轉至外部數據,更多HTML文檔。

選擇文件夾,選擇文件,標記創建鏈接...,點擊確定。

標記:顯示HTML表格,選擇Daily Indicators3,單擊高級,將Dot設置爲decimalseparator。點擊確定,下一步。

檢查第一行包含柱頭。點擊下一步。

將每列調整爲貨幣,完成並保存。現在

,所有你需要更新表是下載頁面:

Option Compare Database 
Option Explicit 

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 Long) _ 
    As Long 

Public Function DownloadFile(_ 
    ByVal strURL As String, _ 
    ByVal strLocalFilename As String) _ 
    As Long 

' Download file or page with public access from the web. 
' 2004-12-17. Cactus Data ApS, CPH. 

' Usage, download a file: 
' lngRet = DownloadFile("http://www.databaseadvisors.com/Graphics/conf2002/2002ConferencePicsbySmolin/images/dba02smolin27.jpg", "c:\happybassett.jpg") 
' 
' Usage, download a page: 
' lngRet = DownloadFile("http://www.databaseadvisors.com/conf2002/conf200202.asp", "c:\dbaconference.htm") 

' Returns 0 if success, error code if not. 
' Error codes: 
' -2146697210 "file not found". 
' -2146697211 "domain not found". 

' Limitation. 
' Does not check if local file was created successfully. 

    Dim lngRetVal As Long 

    lngRetVal = URLDownloadToFile(0, strURL & vbNullChar, strLocalFilename & vbNullChar, 0, 0) 

    DownloadFile = lngRetVal 

End Function 
2

簡答:

通常情況下,如果一個網站打算開放它的資源給你,那麼可能會有可下載的內容(CSV,TSV等)或者API/Web服務調用,你可以在此返回JSON場景。

在鏈接的頁面右上角,可以將此信息導出到Excel。從Excel中,您可以使用VBA直接導入Access中的表格。

我假設你希望你的信息是實時的,或者是什麼?你大概可以建立一個可以自動執行這個過程的web應用程序,但它並不是一件輕而易舉的事情。

+0

謝謝。是的,我想也許我可以查詢該頁面。我對這些並不是很熟悉,但是在Chrome中點擊右鍵並點擊「Inspect Element」後,我可以看到我想要的html數字。我認爲也許我可以下載其中的一些(也許這是妄想) – ar1994

+0

因此,您可以使用JavaScript作爲那件作品,但是從那裏開始,您將如何獲得它到Access?您可以通過JavaScript連接到您的數據庫,但數據將不會以可接受的格式顯示。如果VBA更像是一個真正的服務器端代碼,這很容易,但是如果沒有服務器端語言,我認爲你會遇到很多困難。 –

+0

我從來沒有用過Javascript,但聽起來像一個有趣的方法。如果我每次只需要一個號碼怎麼辦?這是否可行? – ar1994