ms-access - 在 MS Access 中记录错误和警告的方法

标签 ms-access vba ms-access-2007

我是一名实习生,正在为我公司所在的新市场制作计费数据库。我已经创建了所有表,并设置了一种自动获取和导入数据的方法。然而,导入的方法有点暴力而且不太优雅,因为我只有大约两周的时间来处理它。

  1. 我已将数据库中设置的表格链接到 CSV 文件
  2. 我有附加查询,可以将新记录添加到现有表中。对于重复条目会引发警告,但可以忽略这些警告。

我的公司想要做的是每天运行一个我创建的程序来下载这些报告,滚动间隔约为 30 天。然后将所有新记录添加到 Access 数据库中。

由于我很快就要离开,所以我没有时间测试这个数据库,并且希望有一些方法来记录抛出的错误和警告;从重复条目警告到类型不匹配错误,或者某些 SQL 查询中的语法错误。这可能吗?如果可能的话,您认为最有效的方法是什么?也许当我的导入宏运行时打开一个错误处理函数?如果有帮助的话,我们正在使用 Access 2007。

最佳答案

在大多数情况下,您可以在每个相关过程的错误处理例程中写入文本文件。您可能需要留意更严重的错误并对其采取其他措施。您可能还需要注意 DAO 错误,这与代码错误 ( http://office.microsoft.com/en-us/access-help/HV080753531.aspx ) 不太一样。您可能还想提出其他错误:

Err.Raise vbObjectError + 100

参见:http://msdn.microsoft.com/en-us/library/aa241678(v=vs.60).aspx

LogError (ErrNo & " " & ErrDescr & " " & ErrInfo)

Sub LogError(strError)
Const ForAppending = 8
Dim strPath As String
Dim fs As Object
Dim a As Object

    strPath = GetDataDirectory

    Set fs = CreateObject("Scripting.FileSystemObject")
    If fs.FileExists(strPath & "\ErrorLog.txt") = True Then
        Set a = fs.OpenTextFile(strPath & "\ErrorLog.txt", ForAppending)
    Else
        Set a = fs.createtextfile(strPath & "\ErrorLog.txt")
    End If
    a.WriteLine Date + Time & " " & strError
    a.Close

    Set fs = Nothing
End Sub

更多信息:http://msdn.microsoft.com/en-us/library/bb221208(v=office.12).aspx

关于ms-access - 在 MS Access 中记录错误和警告的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8823259/

相关文章:

vba - 通过 ActiveWindow 缩放事件触发的事件(按住 CTRL+鼠标滚轮)

vba - 通过 Selenium VBA 启动 Chrome 时出现问题

c# - 如何从访问查询中快速接收结果?

sql-server - 如何使直通/直通查询可编辑?

string - 如何在MS Access中使InStr区分大小写

mysql - 可视化管理表数据的简便方法

windows - 将 Excel 模板存储在我的 Access 数据库中

excel - 将热键分配给为 Excel VBA 创建的表单上的按钮

ms-access - 是否有适用于 Access 的 Windows 7 ODBC 驱动程序?

c# - 使用 C# 问题在 Access 中附加和删除链接表