Database 当rs编辑更新未按预期工作时

Database 当rs编辑更新未按预期工作时,database,ms-access,Database,Ms Access,我编写了一个过程,可以循环遍历包含文本文件路径的表,并将它们导入数据库 程序理由: 原因是我正在为许多报告数据库构建后端,这些数据库依赖于夜间更新的文本文件。最近,他们更改了这些文件的服务器名和文件名,因此我正在尝试构建更可靠的文件,这样我就不必运行链接表向导,确保所有数据类型与以前完全相同 问题: 我遇到的问题是With.edit.update的行为与我认为的不一样,并将表中的字段“Updated”更新为今天的日期 这是代码。我还是个编程新手,所以我道歉 Private Sub ImportA

我编写了一个过程,可以循环遍历包含文本文件路径的表,并将它们导入数据库

程序理由: 原因是我正在为许多报告数据库构建后端,这些数据库依赖于夜间更新的文本文件。最近,他们更改了这些文件的服务器名和文件名,因此我正在尝试构建更可靠的文件,这样我就不必运行链接表向导,确保所有数据类型与以前完全相同

问题: 我遇到的问题是With.edit.update的行为与我认为的不一样,并将表中的字段“Updated”更新为今天的日期

这是代码。我还是个编程新手,所以我道歉

Private Sub ImportAll()
' Loops through table containing paths to text files on network and imports
Dim ID As Integer
Dim netPath As String
Dim netDir As String
Dim netFile As String
Dim localTable As String
Dim activeTable As Boolean
Dim updatedTable As Date
Dim rst As DAO.Recordset

Set rst = CurrentDb.OpenRecordset("Tables")

Do Until rst.EOF
    ID = rst.Fields("Table ID").Value
    netDir = rst.Fields("Network Location").Value
    netFile = rst.Fields("File Name").Value
    localTable = rst.Fields("Local Table Name").Value
    activeTable = rst.Fields("Active").Value
    updatedTable = rst.Fields("Updated").Value

        If activeTable = True And updatedTable <> Date Then
            If ifTableExists(localTable) Then
                On Error GoTo ImportData_Err
                        CurrentDb.Execute "DELETE * FROM " & localTable, dbFailOnError
                        netPath = netDir & netFile
                        DoCmd.TransferText acImportDelim, , localTable, netPath, True, ""
                            rst.Edit
                            updatedTable = Date
                            rst.Update
                    Else
                        netPath = netDir & netFile
                        DoCmd.TransferText acImportDelim, , localTable, netPath, True, ""
                            With rs
                                .Edit
                                  .Fields("Updated") = Date
                                .Update
                            End With
            End If
        End If
rst.MoveNext
Loop
rst.Close
Set rst = Nothing
ImportData_Exit:
            Exit Sub
ImportData_Err:
            MsgBox Error$
            Resume ImportData_Exit
End Sub
谢谢。

你在哪里

With rs
你是说

With rst
这样的错误可以通过打开OptionExplicit来发现。optionexplicit意味着必须声明所有变量

请看这里: