MS Access 文本字段特殊字符

MS Access Text Field Special Characters

我有一个执行此 applyfilter 宏代码的搜索按钮:

[ContractNumber] Like "*" & [Forms]![frmContractMatch&Revenue]![Text44] & "*"

因此它会在文本框 text44 中搜索合适的 ContractNumber。我遇到的问题是,如果合同号是 ART#45,由于特殊字符 #,它不会在数据库中找到它。

我该如何解决这个问题?问题是合约可能有不同的特殊字符,或者它们可能根本没有 none,所以我不能告诉它一直专门搜索特定的符号。

Access 使用 # 作为单个数字字段的通配符。当您创建搜索字段并包含 #(例如 ART#)时,Access 将其解释为 "I'm searching for the string 'ART' followed by a single numeric character 0-9" 它同样使用“?”、“%”和“-”。要解决这个问题,您需要更改输入字符串并将文字特殊字符括在方括号中。所以不是搜索:

'ART#'

您将搜索:

'ART[#]'

你是如何解决这个问题的?取决于您输入搜索条件的方式。这个区域并不是我的强项,但根据输入搜索的方式,您可能可以使用自定义函数在过滤表单之前将方括号添加到参数中。我个人会通过代码阻止在订单号中使用特殊字符。