【问题标题】:Validation rule text in MS AccessMS Access 中的验证规则文本
【发布时间】:2013-09-11 00:28:06
【问题描述】:

在 MS Access 中,我有一个包含两个字段的表:ID(自动编号)和序列号(文本)。 序列号应该只包含唯一值,因此我将它设置为索引:是(无重复)。 现在,当我尝试在 SerialNumber 字段中输入两个相同的值时,它会显示一些标准错误消息。我需要向用户显示自定义自己的消息,例如:“序列号应该是唯一的!”。 我将该消息添加到“验证文本”,但它没有帮助,它仍然显示标准访问错误消息。有谁知道如何显示自定义错误消息?

【问题讨论】:

    标签: vba ms-access ms-access-2007 ms-access-2010


    【解决方案1】:

    索引约束覆盖验证规则。

    您也许可以使用 DLookup 摆脱验证规则 - 但我强烈建议您不要这样做,因为它会严重影响您的数据库性能。

    更好的选择是使用 VBA 捕获错误,然后发出您自己的自定义错误消息。

    如果您使用 MS-SQL 作为数据库后端(听起来不像),您还可以自定义返回的错误消息。

    Private Sub Form_Error(DataErr As Integer, Response As Integer)
      Select Case DataErr
        Case 3022 ' Duplicate Value Detected
          MsgBox "That Serial Number already Exists.", vbOkayOnly
          Response = acDataErrContinue
      End Select
    End Sub
    

    这会捕获表单上的所有错误,并查看错误是否是重复值。如果是,则会向用户显示一个消息框,告知序列号已经存在 - 然后正常进行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-11
      相关资源
      最近更新 更多