设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1147|回复: 2
打印 上一主题 下一主题

[与其它组件] InStr扩展函数,能显示第N次出现的位置

[复制链接]
跳转到指定楼层
1#
发表于 2005-10-22 08:55:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
写软件过程中发现InStr函数无法找出第N次出现的位置,因此自己写了一个函数,与大家分享。

Private Function InStrN(Str1 As String, Str2 As String, N As Integer) As Integer

'此函数扩展了InStr函数,可以返回STR2在STR1中第N次出现的位置;

'如果STR2在STR1中没有,返回0;

'如果N超过STR2在STR1中出现的次数,返回-1;

'

    Dim a, k As Integer

    a = 0

    k = 0

    Do While (InStr(a + 1, Str1, Str2) <> 0 And k <> N)

        a = InStr(a + 1, Str1, Str2)

        k = k + 1

    Loop

    If k < N And k <> 0 Then

        InStrN = -1

    Else

        InStrN = a

    End If

End Function

示例文件见附件
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-4-11 20:15:56 | 只看该作者
不见附件?
3#
发表于 2009-4-14 09:37:55 | 只看该作者
学习一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-28 03:49 , Processed in 0.085937 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表