我有一个执行此applyfilter
宏代码的搜索按钮:
[ContractNumber] Like "*" & [Forms]![frmContractMatch&Revenue]![Text44] & "*"
因此,它会在文本框text44
中搜索相应的ContractNumber
。我遇到的麻烦是,如果合同号是ART#45
,例如,由于特殊字符#
,它将无法在数据库中找到它。
我如何解决这个问题?问题是合同可能有不同的特殊字符,或者根本没有,所以我不能告诉它专门搜索特定的符号。
答案 0 :(得分:0)
Access使用#作为单个数字字段的通配符。当您创建搜索字段并包含#,例如ART#时,Access将其解释为"我正在搜索字符串' ART'后跟一个数字字符0-9"它使用''%'%'和' - '与此类似。要解决此问题,您需要更改输入字符串并将文字特殊字符括在方括号中。所以不要搜索:
'ART[#]'
你会搜索:
{{1}}你怎么解决这个问题?取决于您输入搜索条件的方式。这个区域并不是我的强项,但根据搜索的输入方式,您可以使用自定义函数在过滤表单之前将方括号添加到参数中。我个人会阻止通过代码在订单号中使用特殊字符。