实现文本查找功能-Instr函数使用技巧-十段
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


实现文本查找功能-Instr函数使用技巧

发表时间:2008/6/21 21:54:53 评论(0) 浏览(13031)  评论 | 加入收藏 | 复制
   
摘 要:实现查找功能的关键在于使用InStr函数
正 文:

 InStr函数可以找到指定的字符串在另一字符串中最先出现的位置。我们先来看一看使用这个函数的语法:

 

   InStr([start, ]string1, string2[, compare])

  这个函数需要的的参数是起始位置、主体字符串、要查找的字符串;Compare是可选参数。指定字符串比较。此compare参数是可以省略的,也可以是 0, 1或 2。指定0(缺省)做二进制比较。指定1做不区分大小写的文本比较。例如我们要查找在字符串“abcdefg”中是否存在“cd”并返回其位置,则使用下面的语句就可以实现:

   pos=InStr(1,"abcdefg","cd")

  则pos会返回3表示查找到并且位置为第三个字符开始。这就是“查找”的实现,而“查找下一个”功能的实现就是把当前位置作为起始位置继续查找。

  下面举例说明:

  放置一个文本框TEXT1供用户输入文本或调入文本文件,用来做在其中查找文本的验证,放置另一个文本框TEXT2供用户输入要查找的字符串,放置两个命令按钮,Command1、Command2,其标题分别为“查找”、“查找下一个”。

  在窗体的总体声明部分写如下代码 :

   Option Explicit '定义目标位置变量
   Private TargetPosition As Integer

    '编写一个查找函数
   Private Sub FindText(ByVal start_at As Integer)
   Dim pos As Integer
   Dim target As String
   '获取用户输入的要查找的字符串
   target = text2.Text
   pos = InStr(start_at, text1.Text, target)
   If pos > 0 Then
      '找到了匹配字符串
      TargetPosition = pos
      text1.SelStart = TargetPosition - 1
      '选中找到的字符串
      text1.SelLength = Len(target)
      text1.SetFocus
   Else '没有找到匹配的字符串
   MsgBox "没找到!"
   text1.SetFocus
   End If
   End Sub

   '双击“查找”命令按钮:
   Private Sub command1_Click() '从第一个字符处开始查找
   FindText 1
   End Sub

   '双击“查找下一个”按钮:
   Private Sub command2_Click() '从当前位置继续查找
   FindText TargetPosition + 1
   End Sub

  运行程序,在文本框1中输入一些字符串,在文本框2中输入要查找的字符串,单击 “查找”按钮和“查找下一个”按钮进行验证。


Access软件网交流QQ群(群号:198465573)
 
 相关文章
利用instr函数实现非常规日期的转换  【竹笛  2005/5/5】
实现文本查找功能-Instr函数使用技巧  【  2008/6/21】
InStr函数图解  【范开荣  2011/10/23】
用InStr函数实现代码瘦身  【缪炜  2013/5/17】
常见问答
技术分类
相关资源
文章搜索
关于作者

十段

文章分类

文章存档

友情链接