1

我有一个 Access VBA 应用程序,它负责通过 ODBC 每秒查询一次 SQL 表,查找已处理 = 0 的记录。当它找到一个时,它将处理 Access 报告并使用 CutePDF 将其打印为 PDF,保存它到我们的桌面应用程序(添加了已处理 = 0 的 SQL 记录)可以访问的网络驱动器,在用户的桌面上打开它。

我花了相当多的时间调试这个,我的第一个 VBA 应用程序,并且所有错误都被捕获和记录。今天早上,Access 应用程序已关闭,因此没有处理任何报告。打开 .accdb 允许开始处理积压的报告。错误日志为空,服务器近一个月没有重启过。

据我所知,此应用程序只能从桌面运行,因此管理员必须在重新启动后登录服务器。我读过将 MSACCESS 作为服务运行是一个“可怕的想法”,如果 Access 出错,Windows 将面临损坏。

这就是事情的状态。这是我的问题。

  • 您是否建议我在此服务器上安装一个预先编写的应用程序来监视和记录应用程序的事件(特别是退出和打开)?
  • 作为最后的手段,我想我可以添加一个函数,每 10 分钟写入一个“状态日志”文本文件,该文件基本上说:“我在这里!” 这样我至少可以找出应用程序何时关闭,如果不是为什么。这似乎有点矫枉过正,因为日志文件可能会变得很大,除非我每 5-10 分钟创建并销毁它而不是附加它。

请原谅我,在此应用程序之前,我专门从事 PHP 和 JavaScript 工作,并且自 6 年前大学以来就没有参加过基于 Visual Basic 或 C 的课程。

有什么创造性的解决方案吗?

4

1 回答 1

0

我的第一个想法是使用 Profiler 来捕获您需要的内容。创建报告时,您的应用程序是否会重置已处理 = 0 标志?您可以有一个带有“最后处理”日期字段的 1 记录表,并且每次运行时都对其进行更新。

于 2013-07-23T14:50:06.250 回答