表单上的选项卡控件和字段检查
Tab Control and Field Check on Form
MS 访问 2007
VBA 代码生成器
当使用
选择选项卡时,我能够在 VBA 代码中显示 MsgBox
Private Sub TabCtl34_Change()
If Me.TabCtl34.Value = 1 Then 'First Page
MsgBox "Hi"
End If
End Sub
但我还想检查是否选择了第二个选项卡以及表单上的字段(名称)是否为 NULL(不在选项卡上)、msgbox 或取消事件以要求在他们看到第二个选项卡之前输入名称.
当我加入时:
Private Sub TabCtl34_Change()
If Me.TabCtl34.Value = 1 AND [FORMS]![FORMNAME]![NAME] IS NULL Then
MsgBox "Hi"
End If
End Sub
即使名称为空,它也会直接转到第二个选项卡。我该如何编写 vba 代码才能实现我想要的功能?
IS NULL
用于查询表达式,从VBA开始使用IsNull()
VBA函数。
If Me.TabCtl34.Value = 1 AND IsNull([FORMS]![FORMNAME]![NAME]) Then
因为你是 运行 来自表单模块的你可以使用 Me
来引用当前的表单实例:
If Me.TabCtl34.Value = 1 AND IsNull(Me.[NAME]) Then
您还应该考虑该值可能是一个空字符串,而不是 NULL。您可以使用以下方式组合这两项检查:
If Me.TabCtl34.Value = 1 And Len(Me.[NAME].Value & "") = 0 Then
连接空字符串 "" 将 NULL 值强制转换为字符串。
(最好明确标识 属性 Value
而不是将其假定为默认值 属性。)
MS 访问 2007 VBA 代码生成器
当使用
选择选项卡时,我能够在 VBA 代码中显示 MsgBoxPrivate Sub TabCtl34_Change()
If Me.TabCtl34.Value = 1 Then 'First Page
MsgBox "Hi"
End If
End Sub
但我还想检查是否选择了第二个选项卡以及表单上的字段(名称)是否为 NULL(不在选项卡上)、msgbox 或取消事件以要求在他们看到第二个选项卡之前输入名称.
当我加入时:
Private Sub TabCtl34_Change()
If Me.TabCtl34.Value = 1 AND [FORMS]![FORMNAME]![NAME] IS NULL Then
MsgBox "Hi"
End If
End Sub
即使名称为空,它也会直接转到第二个选项卡。我该如何编写 vba 代码才能实现我想要的功能?
IS NULL
用于查询表达式,从VBA开始使用IsNull()
VBA函数。
If Me.TabCtl34.Value = 1 AND IsNull([FORMS]![FORMNAME]![NAME]) Then
因为你是 运行 来自表单模块的你可以使用 Me
来引用当前的表单实例:
If Me.TabCtl34.Value = 1 AND IsNull(Me.[NAME]) Then
您还应该考虑该值可能是一个空字符串,而不是 NULL。您可以使用以下方式组合这两项检查:
If Me.TabCtl34.Value = 1 And Len(Me.[NAME].Value & "") = 0 Then
连接空字符串 "" 将 NULL 值强制转换为字符串。
(最好明确标识 属性 Value
而不是将其假定为默认值 属性。)