0

我是 MS Access 的新手,我有一个包含 [name] 和 [company] 字段的表单。我想让用户填写其中任何一个,但不一定都填写。他们可以填写 [name]、[company] 或两者都填写,但不能将两者都留空。

我如何实现这一目标?

4

2 回答 2

2

您可以在 vba 中执行此操作:

创建一个在保存数据集之前运行的事件处理程序,如果不满足您的条件,则告诉它取消更新:

Private Sub Form_BeforeUpdate(Cancel As Integer)
    If (isnull(me!name) and isnull(me.company) then
        msgBox "Give me more !"
        Cancel = True
    End If
End Sub
于 2015-12-07T09:44:40.667 回答
0

在这种情况下,我建议使用Data Macros(如果您使用的是 Access 2010 或更高版本)。优于VBA的优点是数据宏在引擎级别运行,因此如果您有多个包含这些字段的表单,您不必将 VBA 复制到每个表单。这也消除了开始输入数据然后删除它们的问题。

转到表设计,单击创建数据宏>更改前并添加If条件,如下所示:

更新前的数据宏

您可以使用 VBA 捕获错误号 1 来做一些事情。正如 Access 所说,错误号是用户定义的,对 Access 没有任何意义。

于 2018-03-02T08:29:42.197 回答