我有一个搜索按钮,它执行以下applyfilter宏代码:
[ContractNumber] Like "*" & [Forms]![frmContractMatch&Revenue]![Text44] & "*"
因此,它在文本框text44中搜索适当的ContractNumber。我遇到的麻烦是,如果一个合同号是ART#45,它就不会在数据库中找到它,因为它有特殊的字符#。
我怎么才能避开这一切?问题是合同可能有不同的特殊字符,或者根本没有,所以我不能告诉它一直都在具体地搜索特定的符号。
发布于 2015-06-15 22:35:30
Access将#用作单个数字字段的通配符。当您创建一个搜索字段并包含# (例如ART# )时,Access将其解释为“I正在搜索字符串'ART‘,后面跟着一个数字字符0-9”,类似地,它使用了'?’、'%‘和'-’。为了解决这个问题,您需要修改输入字符串,并将文字特殊字符括在方括号中。因此,与其搜索:
'ART#'你可以搜索:
'ART[#]'你怎么才能避开这一切?取决于输入搜索标准的方式。这个区域并不是我的强项,但根据搜索的输入方式,您可能需要使用自定义函数在筛选表单之前将方括号添加到您的参数中。我个人会防止使用特殊字符在序号通过代码。
https://stackoverflow.com/questions/30849101
复制相似问题