1

当表不再存在时,有没有办法阻止 Access 更新查询,特别是删除连接?

例如,以下查询与临时表一起使用;

Select Table1.Col1, Table1.Col2
From   Table1 
  left join Table2 on Table1.Col1 = Table2.Col1
Where  Table2.Col1 is null

如果临时表随后被删除并且查询打开 Access 会删除导致的连接;

Select Table1.Col1, Table1.Col2
From   Table1, Table2
Where  Table2.Col1 is null

这类似于阻止访问更改查询中提出的问题

4

1 回答 1

0

尝试禁用 AutoCorrect,关闭并重新打开您的数据库,看看是否仍然发生这种情况。

在某些情况下,Access 可能会“做正确的事”并自动更新您的查询。
在这种情况下,您可以使用以下技术之一:

  • 将 SQL 保留在 VBA 代码中。
    您可以根据需要绑定生成的 SQL 或重新创建查询,例如:

    ' Bind form to manually using the Form Open event '
    Private Sub Form_Open(Cancel As Integer)
        Dim sql As String
        sql = sql & "Select Table1.Col1, Table1.Col2 "
        sql = sql & "From   Table1 "
        sql = sql & "  left join Table2 on Table1.Col1 = Table2.Col1 "
        sql = sql & "Where  Table2.Col1 is null"
        ' Bind the form directly to the SQL '
        Me.RecordSource = sql
    End Sub
    
  • 将查询的 SQL 保存到文件中,并根据需要重新加载:

    ' Save the query to a text file, in the application folder '
    Application.SaveAsText acQuery, "MyQuery", CurrentProject.Path & "\myQuery.txt"
    
    ' Load the the query from its previously saved file '
    Application.LoadFromText acQuery, "MyQuery", CurrentProject.Path & "\myQuery.txt"
    
于 2012-05-03T08:21:59.887 回答