我在尝试一些更加奇特的事情,并且在访问论坛上发布了帖子,在那里我没有任何回应,也没有访问程序员,在那里我获得了更多阅读材料的链接,但是没有帮助我 - 可能是由于我缺乏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