【问题标题】:refreshing linked tables in access刷新访问中的链接表
【发布时间】:2010-11-22 03:37:23
【问题描述】:

嘿。 我的主要访问数据库位于网络外的独立 PC 上,并且我有一个访问数据库,其中网络上的链接表链接回独立 PC。我通过创建网络共享到独立 PC 并通过路径链接它们来链接表。我可以设置它,以便在打开数据库时自动更新链接表。 本

【问题讨论】:

  • 你能用不模棱两可的术语重新表述吗?你的前端在哪里,你的后端在哪里。无论如何,如果您有链接表,它们会在您更新它们时更新。有什么意义?
  • 您是否在 Google 上搜索过“更新访问链接表”?如果不是,为什么不呢?这是现有的最常见的 Access 问题之一,并且已经以一百万种形式以一千种不同的方式回答了无数次。

标签: ms-access linked-list vba


【解决方案1】:

你可以。我经常发现使用在启动时运行(通过启动选项设置)并检查各种内容(包括链接表)的小型检查表单很方便。为此,我在本地机器上也持有了一个链表的表,虽然通过TableDefs集合迭代可以获得链表的列表,但我认为保留一个列表会稍微安全一些。

检查表单可以检查所有链接,如果链接损坏或丢失,请向用户询问新位置或使用固定位置。如果没有发现问题,表单可以自行关闭并打开菜单或其他表单。

在链接到链接表的情况下,可以从以下位置获取要使用的连接:

 CurrentDB.TableDefs("TableName").Connection

这里还有一些注意事项:

Sub RelinkTables(Optional strConnect As String = "")
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim strSQL
Dim tdf As DAO.TableDef

On Error GoTo TrapError

    Set db = CurrentDb

    If strConnect = "" Then
        ''Where Me.txtNewDataDirectory is a control on the check form
        strConnect = "MS Access;PWD=databasepassword;DATABASE=" & Me.txtNewDataDirectory
    End If

    ''Table of tables to be linked with two fields TableName, TableType
    Set rs = CurrentDb.OpenRecordset("Select TableName From sysTables " _
           & "WHERE TableType = 'LINK'")

    Do While Not RS.EOF
        ''Check if the table is missing
        If IsNull(DLookup("[Name]", "MSysObjects", "[Name]='" & rs!TableName & "'")) Then
            Set tdf = db.CreateTableDef(RS!TableName, dbAttachSavePWD, _
                rs!TableName, strConnect)
            ''If the table is missing, append it
            db.TableDefs.Append tdf
        Else
            ''If it exists, update the connection
            db.TableDefs(rs!TableName).Connect = strConnect
        End If
        db.TableDefs(rs!TableName).RefreshLink
        RS.MoveNext
    Loop

    Set db = Nothing
    RS.Close
    Set RS = Nothing


Exit_Sub:
    Exit Sub

TrapError:
    HandleErr Err.Number, Err.Description, "Relink Tables"

End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    • 1970-01-01
    • 2011-04-09
    • 2018-11-02
    • 1970-01-01
    • 2010-09-17
    相关资源
    最近更新 更多