我已通过Oracle ODBC在Access 2007中导入了一个表。我的问题是,有时表会更改Oracle中的结构(例如添加新列),当发生这种情况时,Access不会自动获取其链接表中的更改。 相反,它继续使用旧结构,更糟糕的是一些行根本不会出现在Access查询中(我不知道为什么?)。
另一个问题是我对Oracle DB没有任何控制权,因此可以随时进行更改。手动更新链接表总是太麻烦了。是否有可能以某种方式设置Access以通知我这些更改?我的意思是,某种程度上Access必须能够告诉某些事情已经发生了变化 - 问题是;能告诉我吗?
此致 约翰
答案 0 :(得分:1)
运行此功能 - 您可以将其链接到表单Open事件,或者只需在刷新数据时运行它
Sub relinkTables()
Dim tdf As DAO.TableDef
For Each tdf In CurrentDb.TableDefs
' check if table is a linked table
If Len(tdf.Connect) > 0 Then
tdf.Connect = "your odbc connection string to the DSN or database"
tdf.RefreshLink
End If
Next
End Sub