Ms access MS Access文本字段特殊字符

Ms access MS Access文本字段特殊字符,ms-access,special-characters,Ms Access,Special Characters,我有一个搜索按钮,可执行此applyfilter宏代码: [ContractNumber]像“*”和[Forms]![FRM合同匹配与收入]![Text44]&“*” 因此,它在文本框text44中搜索相应的ContractNumber。我遇到的问题是,例如,如果合同号是第45条,它将无法在数据库中找到它,因为它具有特殊字符。 我该怎么做?问题是合同可能有不同的特殊字符,或者根本没有特殊字符,所以我不能告诉它一直专门搜索特定的符号。Access使用#作为单个数字字段的通配符。创建搜索字段并包含#

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

[ContractNumber]像“*”和[Forms]![FRM合同匹配与收入]![Text44]&“*”

因此,它在文本框
text44
中搜索相应的
ContractNumber
。我遇到的问题是,例如,如果合同号是
第45条
,它将无法在数据库中找到它,因为它具有特殊字符

我该怎么做?问题是合同可能有不同的特殊字符,或者根本没有特殊字符,所以我不能告诉它一直专门搜索特定的符号。

Access使用#作为单个数字字段的通配符。创建搜索字段并包含#时,如ART#,Access将其解释为“我正在搜索字符串'ART',后跟一个数字字符0-9”,它同样使用“?”、“%”和“-”。要解决这个问题,您需要更改输入字符串并将文本特殊字符括在方括号中。因此,与其搜索:

'ART#'
您将搜索:

'ART[#]'
你怎么避开这个?取决于您输入搜索条件的方式。这个区域并不是我的强项,但根据搜索的输入方式,您可能可以在筛选表单之前使用自定义函数将方括号添加到参数中。我个人会阻止通过代码在订单号中使用特殊字符。

Access使用#作为单个数字字段的通配符。创建搜索字段并包含#时,如ART#,Access将其解释为“我正在搜索字符串'ART',后跟一个数字字符0-9”,它同样使用“?”、“%”和“-”。要解决这个问题,您需要更改输入字符串并将文本特殊字符括在方括号中。因此,与其搜索:

'ART#'
您将搜索:

'ART[#]'

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

我不完全相信这是您的问题。在这种情况下,请尝试使用“*”和[Forms]之类的
[ContractNumber]![FRM合同匹配与收入]![Text44]&“*”
(注意单引号表示它是一个字符串)。除了
#
,您还需要处理哪些特殊字符?我尝试了单引号,但没有用。我不确定我还将处理哪些特殊字符,但如果代码能够被构建为处理多个特殊字符,那就太好了。现在,只有当我搜索一个合同编号,它是所有文本或数字例如:“LRV57”或如果我只搜索文本部分例如:艺术“。当我输入一个#符号时,它什么也找不到。当你说代码时,你实际上是指Access宏还是实际的VBA代码?哎呀,只是带where条件的宏。我不完全相信#是你的问题。在这种情况下,试试像“*”&[Forms]这样的
[ContractNumber]吧![FRM合同匹配与收入]![Text44]&“*”
(注意单引号表示它是一个字符串)。除了
#
,您还需要处理哪些特殊字符?我尝试了单引号,但没有用。我不确定我还将处理哪些特殊字符,但如果代码能够被构建为处理多个特殊字符,那就太好了。现在,只有当我搜索一个合同编号,它是所有文本或数字例如:“LRV57”或如果我只搜索文本部分例如:艺术“。当我输入一个#符号时,它什么也找不到。当你说代码时,你实际上是指Access宏还是实际的VBA代码?哎呀,只是带where条件的宏。我不完全相信#是你的问题。在这种情况下,试试像“*”&[Forms]这样的
[ContractNumber]吧![FRM合同匹配与收入]![Text44]&“*”
(注意单引号表示它是一个字符串)。除了
#
,您还需要处理哪些特殊字符?我尝试了单引号,但没有用。我不确定我还将处理哪些特殊字符,但如果代码能够被构建为处理多个特殊字符,那就太好了。现在,只有当我搜索一个合同编号,它是所有文本或数字例如:“LRV57”或如果我只搜索文本部分例如:艺术“。当我输入一个#符号时,它什么也找不到。当你说“代码”时,你实际上是指Access宏还是实际的VBA代码?噢,只有带where条件的宏。好的,谢谢!我们将取消使用特殊字符,因为我认为这将加快进程。好的,谢谢!我们将取消使用特殊字符,因为我认为这将加快进程。好的,谢谢!我们将取消使用特殊字符,因为我认为这将加快进程。