我想更新MS Accecss数据库中60多个表/ excel文件的链接表引用:
但是我不想手动进入所有60+,因为文件路径只需要改变“F:”......“到”E:......“。
如何通过编程方式完成质量重新分配?
答案 0 :(得分:2)
这是一次性的吗?如果是的话,这可能是过度的,并且需要一些时间来完善,但从好的方面来说,你不需要一个单独的表来保持你的参考 如果您熟悉VBA,可以使用以下内容:
import pygame
pygame.init()
gameWindow = pygame.display.set_mode((1000,600));
pygame.display.set_caption("Practice")
#game starts
gameActive = True
while gameActive:
for event in pygame.event.get():
#print event
if event.type == pygame.QUIT:
gameActive = False
pygame.quit()
quit()
这适用于没有密码的ODBC数据库。如果您的连接字符串更复杂,则必须进行调整。 以下是所有可能的连接字符串的列表。 Microsoft DAO Connection Strings
答案 1 :(得分:0)
以下代码执行3项操作:
Function relink_tables() If Left(CurrentDb().Name, 2) = "C:" Or Left(CurrentDb().Name, 2) = "B:" Then Source = "local" Else: Source = "network" End If Set rs = CurrentDb.OpenRecordset("select * from [linked table source] where source='" & Source & "'") Source = rs.Fields("path") For Each R In References If InStr(R.Name, "Common Tables") > 0 Then Application.References.Remove R Next R Application.References.AddFromFile Source x = 0 Set TDefs = CurrentDb().TableDefs For Each table In TDefs If InStr(table.Connect, "Common Tables") = 0 Then GoTo NT table.Connect = ";DATABASE=" & Source table.RefreshLink x = x + 1 NT: Next table Finish: MsgBox "remapped " & x & " tables" End Function