表单输入验证,仅允许存在于另一个表中的值 - Access

Posted

技术标签:

【中文标题】表单输入验证,仅允许存在于另一个表中的值 - Access【英文标题】:Form input validation, only permit values existing in another table - Acess 【发布时间】:2019-01-20 21:25:05 【问题描述】:

我正在尝试在 Access (2016) 中创建一个数据输入表单,并希望仅允许产品数据库中已经存在的值。

我想要的最终结果将类似于以下:

用户输入:B8631 我希望 Access 针对 Item_Master.Primal_Code 查找该输入值,并且仅在它已经存在时才允许它作为一个值,如果不存在则拒绝它。

【问题讨论】:

如果项目主表不是太大(比如大约 2000 行顶部),那么您可以使用组合框,并将限制设置为 list = yes。这样,用户可以输入文本,访问将“自动完成”,或者用户可以使用下拉组合。您还可以获得免费验证。但是,如果项目表很大(例如 > 2000 行),那么组合框就不是理想的用户界面选项。 【参考方案1】:

您可以使用Dcount 函数来验证输入。见下文

Dim userInput as string
userInput = "B8631" 

If Dcount("*","Item_Master","Primal_Code='" & userInput & "'")<=0 Then
    msgbox "not found"
    exit sub        
end if

【讨论】:

以上是关于表单输入验证,仅允许存在于另一个表中的值 - Access的主要内容,如果未能解决你的问题,请参考以下文章

Google Script:如果行中的值存在于另一个工作表中,则删除行

如何使用ZF2中的数组表单设置使字段验证依赖于另一个字段?

在一个表中查找不存在于另一个表中的ID

使用 jQuery 的表单验证中的问题,适用于另一个表单

jQuery 表单,存在检查

排除存在于另一个表中的记录