微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MS Access VBA 自动更新模组日期?

如何解决MS Access VBA 自动更新模组日期?

在 excel 中,如果我想要一个单元格自动更新日期,我使用以下代码的变体:

TODAY() + MOD(DATE(2021,1,1) - TODAY(),90) - 90

该字符串将每 90 天自动更新一次,我需要做的是将其转换为 VBA 函数,该函数将以给定形式成为 onload 函数的一部分。我试过了

DATE() + (2 / 4 / 2021 - DATE()) Mod 90 - 90

这显然不起作用。关于如何实现这一目标的任何想法?其结果需要在 sql Where 语句中使用。现在我可以对日期进行硬编码,因为这会每季度更新一次,然后运行一个复杂的 if 语句,但这似乎是错误方法

编辑:我被告知我不够清楚并重新阅读了它,我想我不是。

我需要将其作为 VBA 中的一个变量,以便将应用程序运行的日期与存储在 4 个不同表中的日期进行比较。

这个想法是,从设定的日期起 90 天,前端有一个搜索功能,可以根据用户的请求从请求的表中提取信息。

所以我想要做的是创建一个每 90 天自动更新一次的公共变量,以便始终保持最新状态,而不必经常重新编码日期。

我的替代解决方案是使用 4 个变量来设置月份,然后通过从当前日期中提取月份来针对每个月份运行当前日期检查,然后将该信息更改回日期并使用新日期。 ..

次优代码的例子:

if Month(Date) > 10 Then
   varyear = Year(Date)
   strDate = "10/1/" & CStr(varyear)
   useDate = DateValue(strDate)

感觉就像我要走很长的路,而不是像 excel 电子表格公式那样,与当前日期相比,只能在某个日期拉出 90 天模式。

解决方法

我猜(?)它可能是这样的:

DateAdd("q",DateDiff("q",DateSerial(2021,1,1),Date()),1))

或:

DateAdd("q",1 + DateDiff("q",1))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。