如何在 MS Access 应用程序中每周的特定时间之间运行我的 VBA 代码

Posted

技术标签:

【中文标题】如何在 MS Access 应用程序中每周的特定时间之间运行我的 VBA 代码【英文标题】:How to run my VBA code between specific hours for each week in MS Access application 【发布时间】:2021-04-28 07:41:41 【问题描述】:

我有一个用于多用户环境的 MS Access 应用程序。我想在每个星期四的 15:00 到 16:00 之间进行维护。在这一点上,我有两个问题需要考虑。

第一,可能在15:00之前进入应用的用户。第二,将在15:00-16之间进入的用户: 00

对于第二种情况,我需要阻止我的用户访问 MS Access 应用程序。为此,我在初始表单的加载事件中编写了以下代码。

Private Sub Form_Load()
MsgBox "Between 15.00 and 16.00 on Thursdays access is not available due to maintenance", vbOKOnly*  
DoCmd.CloseDatabase
End Sub

它以我想要的方式工作。现在唯一要做的就是限制它在我描述的特定时间之间工作。如何将时间参数集成到我的代码中?

对于第一种情况,对于系统中的所有用户,无论他们身在何处,关闭数据库功能都应该起作用,并且应用程序应该自动关闭。

【问题讨论】:

这能回答你的问题吗? Force all users to disconnect from 2010 Access backend database 为什么不在星期六午夜运行维护? 我不想在周末工作。我将成为进行必要更新和维护的人:) 【参考方案1】:

检查时间段:

Dim T As Date
T = Time()
If Weekday(Date()) = 5 And T >= #3:00:00 PM# And T <= #4:00:00 PM# Then

强制数据库关闭有损坏数据的风险,但我认为可以做到。这是一个常见的话题,应该能找到很多例子。

【讨论】:

以上是关于如何在 MS Access 应用程序中每周的特定时间之间运行我的 VBA 代码的主要内容,如果未能解决你的问题,请参考以下文章

如何让 MS Access 以特定时间间隔从 .txt 文件中读取?

如何从 MS ACCESS 数据库中的特定行和列中获取值?

如何从 MS access 2007 中的特定表中选择索引

MS Access 如何将焦点集中在特定的多个报表实例上

在 Ms Access 中的特定时间范围内的特定日期运行宏

MS Access 链接表自动长整数