gpt4 book ai didi

forms - 是否为空条件格式 - MS Access Forms

转载 作者:行者123 更新时间:2023-12-02 05:42:58 26 4
gpt4 key购买 nike

我认为经常出现的事情...

我想知道是否有办法在 Access 的条件格式中格式化所有空白字段。就我而言,通常需要输入所有字段,但并非在所有情况下。所以,我不想写一堆条件代码来限制用户在那里写它,我只想在我的字段中有一些红色背景作为提醒“嘿,这里什么都没有……确定那是你想要的吗?”

它在平板电脑上,所以消息框会很烦人。所以它是条件格式。我知道你可以有 "Is Null([Field]) 但这需要我在 30 多个字段上浏览我的 20 多个表单并确保正确的字段名称等,然后分别为它们键入条件。有没有办法我可以简单地多选我的字段,在 Multiple 上做一个条件格式,然后使用“Is Equal To: NULL”?

我试过“等于:Null”但它不起作用.. 也没有“等于:”“”(使用 Access 常量)。想法为什么?或者我该如何解决这个问题?此外,它只对未触及的字段是必需的,所以如果用户开始输入然后删除回空白,我不在乎;它可以保持未格式化状态或恢复为红色,所以如果有更好的方法来做到这一点,我会全神贯注。

编辑:我已经开始编写一些 VBA 代码,我会将其粘贴到我的所有表单中:

Private Sub Form_Load()
Dim ctl As Control
Dim reqCol As Long
Dim focusCol As Long
Dim doneCol As Long
Dim format As FormatCondition

reqCol = RGB(246, 180, 180)
focusCol = RGB(252, 249, 238)
doneCol = RGB(255, 255, 255)

For Each ctl In Me.Controls
With ctl
Me.Controls(ctl.Name).FormatConditions.Delete 'Delete the existing conditions.
Me.Controls(ctl.Name).BackColor = doneCol 'Set the background color to the done color.

Select Case .ControlType
Case acTextBox
'Create the format objects.
format = Me.Controls(ctl.Name).FormatConditions.Add(acFieldValue, acEqual, "")
format = Me.Controls(ctl.Name).FormatConditions.Add(acFieldHasFocus)

'Format the filled in boxes (ie set back to red)
With Me.Controls(ctl.Name).FormatConditions(0)
.BackColor = reqCol
.Enabled = True
End With

'Format the current field color (ie set to beige)
With Me.Controls(ctl.Name).FormatConditions(1)
.BackColor = focusCol
.Enabled = True
End With
End Select
End With
Next ctl
End Sub

问题是 FormatConditions.Add(acFieldValue, acEqual, "") 出于同样的原因不起作用......我该如何解决这个问题?鉴于 VBA 和内置条件都有缺陷,似乎是一个错误。或者我错过了眼前的东西..

最佳答案

在 Access 2016 中,我无法找到@SeanC 提供的解决方案的默认格式设置选项。相反,我发现要使我的组合框正确格式化,我必须使用带 ISNULL 的表达式。

enter image description here

关于forms - 是否为空条件格式 - MS Access Forms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10703461/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com