【问题标题】:Access 2013: Validation Rule Based on Query ResultsAccess 2013:基于查询结果的验证规则
【发布时间】:2015-09-25 04:52:21
【问题描述】:

我有一个包含两个字段的查询; SID 和状态。

我已将条件设置为仅包含空白状态。

我现在想为我的表单设置一个验证规则,这样当用户尝试输入 SID 时,它会检查它是否存在于查询结果中。如果没有,则返回一个消息框,通知用户 SID 已经完成。

【问题讨论】:

  • 这并不是真正的“验证”。验证更像是“我期待一个数字,这是一个数字吗?”有多种方法可以做你想做的事。您可以使用查询并对记录进行计数,或者您可以在 VBA 中使用记录集执行所有操作。到目前为止你有什么尝试?你被困在哪里了?
  • iv 尝试了一些表达式,但就像你说的可能不是验证,我基本上只是想检查用户输入是否与我的查询结果之一匹配

标签: validation ms-access


【解决方案1】:

在文本框的 AfterUpdate 事件中,执行如下操作:

Dim db as Database
Dim rec as Recordset

Set db = CurrentDB
Set rec = db.OpenRecordset("SELECT Status FROM MyTable WHERE SID = '" & txtSID.Value & "'")

If rec.EOF Then
  'All is well, the SID hasn't been found
Else
  MsgBox "This SID has already been completed"
End If

【讨论】:

    【解决方案2】:

    因此,在表单上,​​您希望用户在文本框中输入 SID,并检查 SID 是否是列表中具有空白状态的 SID 之一。

    这听起来像您需要将文本框更改为基于查询的组合框,并且组合框“限制到列表”属性设置为 true。这将只允许用户选择(或手动输入)出现在列表中的 SIDS。

    排序!

    听起来不错?

    【讨论】:

    • 您觉得以上内容有用吗?如果是这样,请标记为答案。
    猜你喜欢
    • 2016-07-11
    • 2020-02-10
    • 1970-01-01
    • 2023-03-29
    • 2016-05-28
    • 1970-01-01
    • 2021-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多