Office中国论坛/Access中国论坛

标题: 补零函数,达到固定长度。 [打印本页]

作者: huanghai    时间: 2002-7-30 23:00
标题: 补零函数,达到固定长度。
Option Compare Database
Option Explicit
'=====================================================
'本例作者:黄海  电子邮件:hhem@163.com QQ:42209810
'欢迎ACCESS的爱好者与我交流
'=====================================================

'函数功能:指定字符串长度,不足位前面补“0”,一般用于数长整型数值,为了达到保证格式整齐时使用。
'参数一(必需)为字符,用来输入要转化的字符串
'参数二(必需)为长整型数字,输入总长度
'-------------------------------------------------------------------------------------

'::::用法::::
't = insertzero (1,4)           返回"0001"
't = insertzero (10,4)          返回"0010"


Public Function insertZero(strWord As String, allLong As Integer)
On Error GoTo errDoing

Dim manyZero As String
Dim insertZeroLong As Integer

manyZero = "00000000000000000000"        '(20位)留好足够多的零呀:)
insertZeroLong = allLong - Len(strWord)

If insertZeroLong >= 0 Then
    insertZero = Left(manyZero, insertZeroLong) & strWord
Else
    MsgBox "长度应大于字符长度!"
End If

Exit Function
errDoing:
    MsgBox Err.Number & Err.Description
    Exit Function
End Function
作者: zhuyiwen    时间: 2002-7-30 23:37
使用 Format 函數更爲方便,例:

sVar = Format(1, "00000")   --> sVar="00001"
sVar = Format(101, "00000") --> sVar="00101"

[em26]
作者: huanghai    时间: 2002-7-30 23:51
我是不是天生喜欢走弯路呢? :)
作者: HG    时间: 2002-7-31 01:35
我記得,我以前發的貼是消除前綴零的函數,現在您可又來補了,
哪麼我還要把它消掉才行呀!
作者: tomzy    时间: 2002-7-31 04:22
提示: 作者被禁止或删除 内容自动屏蔽
作者: huanghai    时间: 2002-9-28 18:53
用于VBS还是不错的。
作者: WTM1    时间: 2002-9-28 19:33
不错!
作者: Trynew    时间: 2002-9-28 22:48
insertZero = Right("00000000000000000000" & strWord,allLong )
是不是喜欢走弯路?


作者: WTM1    时间: 2002-9-29 01:36
绕的太远了!!
作者: huanghai    时间: 2002-9-29 20:37
Trynew,高招。
一块砖引来一块玉,值:)




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3