使用autoexec在打开事件之前链接表

时间:2016-05-21 15:23:22

标签: vba ms-access access-vba

此问题遵循安德烈回答的前一个问题Form is ignoring the code in OnOpen event

我有一个由执行查询的控件绑定的表单,因此我无法在打开表单时使用onopen事件重新链接表。我创建了一个函数如下:

Function AutolinkDB()
    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 = "Connect String"
            tdf.RefreshLink
        End If
    Next

    ''' Andre edit: after relinking the tables, open the start form
    DoCmd.OpenForm "loginputFrm"
    ''' Andre edit

End Function

接下来,我创建了一个类似于以下内容的autoexec宏:

OpenForm
  Form Name loginputFrm
         View Form
  Filter Name
Where Condition
         Data Mode
  Window Mode  Normal
RunCode
  Function Name Autolink()

问题是自动链接没有执行该功能,app仍然要求输入手动密码。

1 个答案:

答案 0 :(得分:1)

AutoExec宏中唯一的内容应为

RunCode -> AutolinkDB()

(请注意,您目前有Autolink() - 拼写错误?)

没有别的。在AutolinkDB()结尾处,使用DoCmd.OpenForm打开您的开始表单。

否则首先打开表单,然后访问ODBC数据。