设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: tmtony

[Access本身] Access技巧接龙

[复制链接]
发表于 2005-4-12 23:10:00 | 显示全部楼层
谁帮写个清除空格的函数,不管空格在字段何处,通通清除
发表于 2006-8-4 23:24:00 | 显示全部楼层
以下是引用ntcat在2004-12-28 11:13:00的发言:


关于取得汉字的第一个拼音字母的函数,推荐使用我的GetPyAbOfHz函数.速度比上述HZPY快一倍. 不信? 测试代码附后

Public Function GetFirstChr(ByVal sSrc As String)
    Dim sTemp As String
    sTemp = Left(sSrc, 1)
Select Case Asc(sTemp)
    Case 48 To 122
         GetFirstChr = sTemp
    Case Is >= Asc("匝")
         GetFirstChr = "Z"
    Case Is >= Asc("压")
         GetFirstChr = "Y"
    Case Is >= Asc("昔")
         GetFirstChr = "X"
    Case Is >= Asc("挖")
         GetFirstChr = "W"
    Case Is >= Asc("塌")
         GetFirstChr = "T"
    Case Is >= Asc("撒")
         GetFirstChr = "S"
    Case Is >= Asc("然")
         GetFirstChr = "R"
    Case Is >= Asc("期")
         GetFirstChr = "Q"
    Case Is >= Asc("啪")
         GetFirstChr = ""
    Case Is >= Asc("哦")
         GetFirstChr = "O"
    Case Is >= Asc("拿")
         GetFirstChr = "N"
    Case Is >= Asc("妈")
         GetFirstChr = "M"
    Case Is >= Asc("垃")
         GetFirstChr = "L"
    Case Is >= Asc("喀")
         GetFirstChr = "K"
    Case Is >= Asc("击")
         GetFirstChr = "J"
    Case Is >= Asc("哈")
         GetFirstChr = "H"
    Case Is >= Asc("噶")
         GetFirstChr = "G"
    Case Is >= Asc("发")
         GetFirstChr = "F"
    Case Is >= Asc("蛾")
         GetFirstChr = "E"
    Case Is >= Asc("搭")
         GetFirstChr = "D"
    Case Is >= Asc("擦")
         GetFirstChr = "C"
    Case Is >= Asc("芭")
         GetFirstChr = "B"
    Case Is >= Asc("啊")
         GetFirstChr = "A"
    Case Else
         GetFirstChr = "0"
End Select
End Function
'取得汉字的拼音缩写
Public Function GetPyAbOfHz(ByVal sHz As String) As String
    Dim sTmp, ch As String
    Dim i As Integer
    For i = 1 To Len(sHz)
        ch = Mid(sHz, i, 1)
        Select Case ch
            Case ".", "(", ")", "+", "-"
                sTmp = sTmp & ch
            Case " "
            Case Else
                sTmp = sTmp & GetFirstChr(ch)
        End Select
    Next
    GetPyAbOfHz = sTmp
End Function
'----------------------------------------速度测试代码:---------

Public Sub speed_HZPY()
    Dim a1 As Single
        Dim i As Long

    a1 = Timer
    For i = 1 To 66542
        HZPY ("地要不是在遥呐喊浊夺标炽烈二有遥感地于规划")
    Next
    Debug.Print Timer - a1
End Sub
Public Sub SPEED_GetPyAbOfHz()
    Dim a1 As Single
    Dim i As Long
    a1 = Timer
    For i = 1 To 66542
        GetPyAbOfHz ("地要不是在遥呐喊浊夺标炽烈二有遥感地于规划")
    Next
    Debug.Print Timer - a1
   
End Sub

你的函数不认识,“埭”,字,但能判断“金属”为JS。HZPY判断“金属”为JZ,但认识“埭”字。
发表于 2006-9-24 18:59:00 | 显示全部楼层
以下是引用lanchong在2005-4-12 15:10:00的发言:
谁帮写个清除空格的函数,不管空格在字段何处,通通清除

新鲜出炉。你试试!!嘿嘿。。。


Public Function txtpu(text As Variant)
If Not IsNull(text) Then '字符串为空时不计算
    Dim my1 As Integer  '取字符起始位置
    Dim my2 As Integer  '取字符终止位置
   
    Dim mytt As Variant ' 取字符
'    Dim text As Variant '原始字符串
    Dim txt As Variant  ' 结果
   
'   text = text
   
    my1 = 1 '起始位数


    While my1 < Len(text)  '循环次数
        my2 = InStr(my1, text, " ", 1)  '取得截取字符的结束位置
        
        If my2 > 0 Then '是否为最后一次到值
           
           mytt = Mid(text, my1, my2 - my1)
           my1 = my2 + 1 '计数器加1
        
        Else
           mytt = Mid(text, my1)
           my1 = Len(text) + 100 '计数加100。退出循环
      End If
      txt = txt & Trim(mytt)
    Wend
    txtpu = txt
End If
End Function


[此贴子已经被作者于2006-9-24 10:59:30编辑过]

发表于 2006-9-25 16:56:00 | 显示全部楼层
以下是引用lanchong在2005-4-12 15:10:00的发言:
谁帮写个清除空格的函数,不管空格在字段何处,通通清除

可以直接使用string=Replace(string," ",""),要连全角的空格也清除可以这样:

? replace(replace(" 123 123 qwer qwer qwer qwer  ",chr(32),""),chr(-24159),"")
发表于 2006-9-28 17:31:00 | 显示全部楼层
Public Function jjos(x As Double, m As Integer, n As Integer)
'// **“四舍六入,逢五奇进偶舍”自定义函数过程 **

'// 函数形式 jjos(x,m,n) ,返回值ret_jjos为 Decimal 型

'// x为操作数值, m为最多保留小数位数,n为有效数字位数

'// m、n皆为 Integer 型

'// m = 0 表示取整数,n = 0 表示对有效数字无要求

Dim i As Integer, ret_jjos As Double, j As Integer


j = 1

If x < 0 Then j = -1  ' //j用于记忆是正数还是负数

If n > 0 Then

Do While Abs(x) >= 10 ^ (n - m)

     x = x / 10    '//向前移动一个小数点

     i = i + 1

Loop

End If

If Int(x * 10 ^ (m + 1)) = x * 10 ^ (m + 1) Then

    x = Round(x, m + 2)

    ret_jjos = Val(Left(Right(Str(x), 3), 1))

    If Right(Str(x), 2) = "50" And Int(ret_jjos / 2) = ret_jjos / 2 Then

        ret_jjos = Int(x / 10 ^ m) * 10 ^ i '//唯一此种情况舍

    Else

        ret_jjos = Round(x, m) * 10 ^ i '//不是那种情况执行四舍五入

    End If

Else

    ret_jjos = Round(x, m) * 10 ^ i  ' //其它情况执行四舍五入

End If

If n > 0 Then

    If Int(ret_jjos) >= 10 ^ (n - 1) Then

        ret_jjos = Int(ret_jjos)

    ElseIf Abs(ret_jjos) >= 1 Then

        ret_jjos = Val(Left(Str(Abs(ret_jjos)), n + 1)) * j

    End If

End If

jjos = ret_jjos  '//返回处理结果


End Function
发表于 2006-10-3 22:03:00 | 显示全部楼层
请问高手们,MD5加密是要来加密什么的?[em06]
发表于 2006-10-8 01:07:00 | 显示全部楼层
md5是实现的是单向加密,他人(比如系统管理人员)拿到加密后的字串是无法还原为加密前的字串的。系统验证的方式仍是通过将字串md5加密后,比较加密后的字串是否完全相同来判定。

主要适用于登陆密码的加密,最大限度的保证密码只有用户自己才能通过验证。

发表于 2006-10-12 22:26:00 | 显示全部楼层
学习了,顶上去[em01][em01]
发表于 2006-10-14 23:32:00 | 显示全部楼层
真的学习
发表于 2006-10-15 04:10:00 | 显示全部楼层
以下是引用lanchong在2005-4-12 15:10:00的发言:
谁帮写个清除空格的函数,不管空格在字段何处,通通清除

试试函数trim 、LTRIM、RTRIM?好像就是这个功能的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 14:59 , Processed in 0.084854 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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