【发布时间】:2019-09-24 17:40:09
【问题描述】:
我一般熟悉编程,但不熟悉 Access 表单或 VBA。
我可以使用条件格式。现在我需要让它响应自定义 VBA 函数的结果。
假设根据客户,某事可以发生多少次。
标签将显示计数“Trip 3 of 5”。
当我们达到 5 个中的 5 个时,它应该是黄色的,而 5 个中的 6 个应该是红色的。
请注意,我希望条件格式规则位于 Access 中,而不是 VBA 中。 VBA 只是返回我们在条件中测试的值。
我看不到如何在条件格式表达式中使用 VBA 函数的结果,但您似乎可以使用变量。
我试过了
TripCountValid: GetTripCountValid(ID)
然后在我的情况下使用了 TripCountValid,但这似乎不起作用。
GetTripCountMsg 和 GetTripCountValid 位于 Orders 模块中,因为这是我正在模拟的 GetBillAcctMsg 所在的位置。 我可以将它移到表单的代码隐藏中。
GetTripCountMsg 中的我的 MsgBox 被调用,但 GetTripCountValid 中没有调用。
【问题讨论】:
-
为什么不使用文本框来显示计数?让 ConditionalFormatting 引用该文本框。您显示的内容看起来像查询中的计算字段。 TripCountValid 到底是什么以及在哪里?
-
ID 字段通常不会被编辑,因此不会触发 AfterUpdate。
-
@June7 计数消息在文本框中,由格式引用。
-
TripCountValid 在一个模块中,但如果有帮助,也可以在表单的代码中。
-
非常简单。假设您的函数返回一个布尔值(真/假),CF 规则如
Expression Is: GetTripCountValid([ID])。
标签: vba ms-access conditional-formatting