Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

用InStr函数实现代码瘦身

时 间:2013-05-17 08:28:55
作 者:缪炜   ID:24010  城市:江阴
摘 要:这里介绍Instr函数实现代码代码瘦身
正 文:

可以采用“旁门左道”的方式使用Instr函数实现代码的简练。下面是一个典型的例子,检测字符串中是否包含一个元音字母:

1、普通的方法:


If UCase$(char) = "A" or UCase$(char) = "E" or UCase$(char) = "I" or UCase$(char) = "O" or UCase$(char) = "U" Then

' it is a vowel

End If


2、更加简练的方法:

If InStr("AaEeIiOoUu", char) Then

' it is a vowel

End If

同样,通过单词中没有的字符作为分界符,使用InStr来检查变量的内容。下面的例子检查Word中是否包含一个季节的名字: 1、普通的方法:

If LCase$(word) = "winter" or LCase$(word) = "spring" or LCase$(word) = _ "summer" or LCase$(word) = "fall" Then

' it is a season's name

End If


2、更加简练的方法:

If Instr(";winter;spring;summer;fall;", ";" & word & ";") Then

' it is a season's name

End If

有时候,甚至可以使用InStr来替代Select

Case代码段,但一定要注意参数中的字符数目。下面的例子中,转换数字0到9的相应英文名称为阿拉伯数字: 1、普通的方法:


Select Case LCase$(word)

Case "zero"

result = 0

Case "one"

result = 1

Case "two"

result = 2

Case "three"

result = 3

Case "four"

result = 4

Case "five"

result = 5

Case "six"

result = 6

Case "seven"

result = 7

Case "eight"

result = 8

Case "nine"

result = 9

End Select

2、更加简练的方法:

result = InStr(";zero;;one;;;two;;;three;four;;five;;six;;;seven;eight;nine;", ";" & LCase$(word) & ";") \ 6

 



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助