Tc711Com提示:Access中对大小写是不敏感的,特别是当你用like去查询的时候发现要它敏感真的很难,在寻找答案的过程了,有很痛同仁出了很多注意,有些我把它记录下了,并不一定对现在的问题有用,但以后或许能在别的地方用上,在这对这些工作者表示感谢。
先说我的解决方法吧,用到的函数是Instr,而不是我们通常用的like |
sqlstr ="select * from 表名 where Instr(1, 字段名, 要查询的子符串, 0) > 0"
InStr 函数
适用于: Microsoft Office Access 2007
全部显示
返回变量型(长型),指定一个字符串在另一个字符串中首次出现的位置。
请参阅一些示例
语法
InStr([start, ] string1, string2 [, compare ] )
InStr 函数的语法包含以下参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。):
参数 说明
start 可选。数值表达式 (数字表达式:计算结果为数字的任何表达式。表达式可以是变量、常数、函数和运算符的任意组合。),设置每次搜索的开始位置。如果省略,则从第一个字符位置开始搜索。如果 start 包含 Null (Null:可以在字段中输入或用于表达式和查询,以标明丢失或未知的数据。在 Visual Basic 中,Null 关键字表示 Null 值。有些字段(如主键字段)不可以包含 Null 值。),将产生错误。如果指定 compare 参数,则必须指定 start 参数。
string1 必选。要在其中进行搜索的字符串表达式 (字符串表达式:任一求值为一列连续字符的表达式。表达式的元素可以是:返回字符串或字符串 Variant (VarType 8) 的函数;字符串字面值、常量、变量或 Variant。)。
string2 必选。被搜索的字符串表达式。
compare 可选。指定字符串比较 (字符串比较:使用操作符确定某一字符串是否大于或等于另一字符串。使用 Option Compare 语句指定是进行二进制(区分大小写)比较,还是进行文字(不区分大小写)比较。)类型。如果 compare 为 Null,将产生错误。如果省略 compare,则比较类型由 Option Compare 设置决定。请指定有效的 LCID(区域设置 ID),以在比较中使用区域设置特定的规则。
设置
compare 参数设置如下:
常量 值 说明
vbUseCompareOption -1 使用 Option Compare 语句的设置执行比较。
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文本比较。
vbDatabaseCompare 2 Microsoft Office Access 2007 专用。根据数据库中的信息执行比较。
返回值
如果 则 InStr 返回
string1 长度为零 0
string1 为 Null Null
string2 长度为零 start
string2 为 Null Null
未找到 string2 0
在 string1 中找到 string2 找到匹配字符串的位置
start > string2 0
注解
如果字符串中包含字节数据,请使用 InStrB 函数。InStrB 不返回一个字符串在另一个字符串中第一次出现的字符位置,而是返回字节位置。
示例
在表达式中使用 InStr 函数 在任何可以使用表达式的地方都可以使用 InStr。例如,如果想要找出包含 IP 地址的字段(名为“IP 地址 (IPAddress)”)中第一个句号 (.) 的位置,可以使用 InStr 进行查找,如下所示:
InStr(1,[IPAddress],".")
InStr 函数检查“IP 地址”字段中的每个值,并返回第一个句号的位置。因此,如果 IP 地址的第一个部分为 10.,该函数就会返回值 3。
然后就可以使用对 InStr 函数的输出执行操作的其他函数提取 IP 地址的第一个句号前的部分,如下所示:
Left([IPAddress],(InStr(1,[IPAddress],".")-1))
在此示例中,InStr(1,[IPAddress],".") 返回第一个句号的位置。将该值减 1 即可确定第一个句号前存在多少个字符,在本例中为 2。然后 Left 函数则会在“IP 地址”字段左边提取该数目的字符,并返回值 10。
在 VBA 代码中使用 InStr
注释 以下示例演示了此功能在 Visual Basic for Applications (VBA) 模块中的使用。有关使用 VBA 的详细信息,请在“搜索”旁边的下拉列表中选择“开发人员参考”,然后在搜索框中输入一个或多个词条。
更多的Access Instr代码表达请到论坛查看: http://BBS.TC711.COM
【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】
来源:
互联网
日期:2012-9-1