我在嘗試一些更加奇特的事情,並且在訪問論壇上發佈了帖子,在那裏我沒有任何迴應,也沒有訪問程序員,在那裏我獲得了更多閱讀材料的鏈接,但是沒有幫助我 - 可能是由於我缺乏VBA的專業知識。 我已經做了很多其他的編程,比如PHP和Arduino,但是VBA對於我來說是新的,雖然我一直在觀看幾個小時的視頻,但它們並不完全涵蓋我想要做的事情。使用VBA更改鏈接到Access 2011的Excel文件的路徑
經過4天的研究失敗的嘗試,我簡化了我的方法,我將不勝感激一些真正的幫助與實際的代碼。
場景: 我有多個Excel源文件,每個文件包含9個選項卡。 所有源文件都位於同一個目錄中(與數據庫不在同一目錄中) 只有一個源連接。 源文件的每個選項卡都是Access中的鏈接表。
目標: 我希望定期切換源文件。
方法: 我只想替換使用特定文件的9張/選項卡中的每一個的連接文件屬性(即完整文件路徑)。 完整路徑必須從我的表單中「拾起」並應用於事件,例如關閉表格。
進度: 我已經構建了一個表單,可以在其中輸入要使用的文件名,並計算相關文件的完整路徑。 我在窗體上有一個按鈕,用於關閉窗體。
代碼:
Private Sub Form_Close() Dim dbs As Database Dim tdf As TableDef Dim sfl As String Dim basePath As String Dim sName As String Set dbs = CurrentDb Set sfl = "SourceData_" Set sName = "JoeSmith" Set basePath = "D:\Databases\BOM Consolidator\data_source" ' Loop through all tables in the database. For Each tdf In dbs.TableDefs If InStr(10, tdf.Connect, sfl, 1) > 10 Then tdf.Connect = ";DATABASE=" & basePath & sfl & sName & "\" & dbs Err = 0 On Error Resume Next tdf.RefreshLink ' Relink the table. If Err <> 0 Then End If End If Next tdf End Sub
在上面,我是在進入路徑等直接只是爲了得到它第一個工作日。 訪問愣:( 幫助,將不勝感激。 發佈此之前,我嘗試重新啓動。
您是否嘗試過單步執行代碼並對其進行調試,以便確定訪問開始凍結的位置? – lokusking