设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[求助]一個截取字付串前綴零的函數

[复制链接]
跳转到指定楼层
1#
发表于 2002-6-28 18:38:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
現有一問題,想截取字付串前綴零的函數,向函數傳遞一個字付串參數,然后截取掉前綴零,返回一個沒有一個前綴的字串付。寫柒如下:

Public Function prefix(chrstr As String) As String

Dim strlen As Integer
Dim counter As Integer
Dim strword As String

strlen = Len(chrstr)
counter = 1

For counter = 1 To counter <= strlen
strword = Mid(chrstr, counter, 1)
If strword <> CStr(0) Then
    del_perfix = Mid(chrstr, counter, (strlen - counter))
  Exit For
End If

counter = counter + 1
Next counter

End Function

但是出現錯誤,無紹果返回。
為什么?或誰有好的方法給點,多謝
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2002-6-29 19:19:00 | 只看该作者
沒有人伸出您友誼手,給一點溫暖嗎?
3#
发表于 2002-6-29 20:25:00 | 只看该作者

Public Function prefix(chrstr As String) As String

Dim strlen As Integer
Dim counter As Integer
Dim strword As String

strlen = Len(chrstr)
counter = 1
Do While counter <= strlen
strword = Mid(chrstr, counter, 1)
If strword = "0" Then
prefix = Mid(chrstr, counter + 1, (strlen - counter))
counter = counter + 1
Else
perfix = Mid(chrstr, counter, (strlen - counter))
Exit Do
End If
Loop

'For counter = 0 To counter <= strlen
'strword = Mid(chrstr, counter, 1)
'If strword <> "0" Then
'del_perfix = Mid(chrstr, counter, (strlen - counter))
'Exit For
'counter = counter + 1
'End If


'Next counter
End Function

测试通过!
4#
 楼主| 发表于 2002-7-1 17:27:00 | 只看该作者
多多謝cattjiu,令天才發現我在編程上是哪么的馬虎大意,
您的的思路其實只有一步之差。我的也是正確的,但是函數返回值時把函數名拼寫錯,
您有沒有發現哪?


[此贴子已经被HG于2002-7-1 9:27:25编辑过]

5#
发表于 2002-7-1 19:27:00 | 只看该作者
我也是跟你学怎么写函数,以前只写过程。
我喜欢用msgbox+变量来返回运行情况,然后用F8一步步看,发现你的if后面应该是=.
以后多教我函数怎么写
6#
 楼主| 发表于 2002-7-1 21:03:00 | 只看该作者
談談函數的和過程我的見解,函數和過程基本是只是個關鍵字上的不同,其意義大多是一樣的。
但不同點是,函數可以有返回值,而過程似乎返回值的調用有些麻煩。如果有很多相關的函數或屬性,則可以創建一個類模塊來集中管理,這樣在有錯誤的時候,就不用每個窗體或報表都重寫代碼,還有您的類模式塊,可以給其它支持VBA的office程式用,比如execl等.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-2 03:44 , Processed in 0.123842 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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