设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: tmtony
打印 上一主题 下一主题

[Access本身] Access技巧接龙

[复制链接]
11#
发表于 2004-12-5 21:30:00 | 只看该作者
将秒为单位的如98989.90秒,转化为:时:分:**.**的形式的函数,如果前面是0则不显示!!Function SecToTime(dblSecond As Double) As String

    SecToTime = Format((Int(dblSecond) / 60 / 60 / 24), "HH:MM:SS")

    If Int(dblSecond) <> dblSecond Then SecToTime = SecToTime & Round(dblSecond - Int(dblSecond), 2)

    SecToTime = IIf(Left(SecToTime, 6) = "00:00:", Mid(SecToTime, 7), IIf(Left(SecToTime, 3) = "00:", Mid(SecToTime, 4), SecToTime))

End Function

12#
发表于 2004-12-5 23:15:00 | 只看该作者
读取英语单词首字母的函数:Function GetWordZM(strEng As String) As String

    Dim i As Integer, Var As Variant

    Var = Split(strEng, " ")

    For i = 0 To UBound(Var)

        GetWordZM = GetWordZM & UCase(Left(Var(i), 1))

    Next

End Function

13#
发表于 2004-12-6 00:27:00 | 只看该作者
在 ADP 中使用“域聚合函数”的方法

在 Access 帮助中说,ADP 中“域聚合函数”不能引用窗体控件。

不要相信,这是微软欺骗善男信女的。没有“域聚合函数”真的非常不方便。

比如:从前有只窗,窗上有只框,名字叫做“穷”。从前有个表,名字叫做“表”,表中有两列,叫做“鸡”和“钱”

MDB 的统计“钱”的方法:变量 = Dsum("钱", "表", "鸡=穷")

模糊统计:变量 = Dsum("钱", "表", "鸡 Like '*' & 穷 & '*'")

ADP 的统计“钱”的方法:变量 = Dsum("钱", "表", "鸡='" & 穷 & "'")

模糊统计:变量 = Dsum("钱", "表", "鸡 Like '" & '%' & 穷 & '%' & "'")

其他的如:Davg;Dcount;Dlookup;Dlast…… 用法一样。

在 ADP 事件中写“=Sum(a)”再移一移鼠标,点“...”就会弹出“表达式生成器”。





[此贴子已经被作者于2004-12-5 16:31:57编辑过]

14#
发表于 2004-12-6 08:13:00 | 只看该作者
在一对多的窗体中,父子窗体都有很多计算控件,控件自动计算时,Access非常不稳定,经常错误退出。

经过试验,发现父子窗体的“记录源”由原来绑定“表”都改为绑定“查询”后,非常稳定,再没有错误发生。
15#
发表于 2004-12-7 21:55:00 | 只看该作者
汉字转拼音函数:HZQP()expression必需的。包含要转换的字符串。delimiter可选的。用于标识分隔拼音的字符串字符。如果忽略,则使用空格字符(" ")作为分隔符。如果delimiter是一个长度为零的字符串,则返回仅包含一个元素,即完整的 expression字符串。limit可选的。要返回拼音字符数,–1表示返回所有的拼音字符数,1表示返回拼音首字母。Function HZQP(expression As String, Optional delimiter As String = " ", Optional limit As Integer = -1) As String

Dim STR As String, arrWord(400) As String

Dim i As Integer, j As Integer

arrWord(1) = "吖a"

arrWord(2) = "哎ai"

arrWord(3) = "腤an"

arrWord(4) = "肮ang"

arrWord(5) = "凹ao"

arrWord(6) = "八ba"

arrWord(7) = "挀bai"

arrWord(8) = "扳ban"

arrWord(9) = "邦bang"

arrWord(10) = "勹bao"

arrWord(11) = "陂bei"

arrWord(12) = "奔ben"

arrWord(13) = "崩beng"

arrWord(14) = "皀bi"

arrWord(15) = "边bian"

arrWord(16) = "杓biao"

arrWord(17) = "憋bie"

arrWord(18) = "邠bin"

arrWord(19) = "仌bing"

arrWord(20) = "拨bo"

arrWord(21) = "峬bu"

arrWord(22) = "嚓ca"

arrWord(23) = "猜cai"

arrWord(24) = "飡can"

arrWord(25) = "仓cang"

arrWord(26) = "撡cao"

arrWord(27) = "冊ce"

arrWord(28) = "嵾cen"

arrWord(29) = "噌ceng"

arrWord(30) = "叉cha"

arrWord(31) = "拆chai"

arrWord(32) = "辿chan"

arrWord(33) = "伥chang"

arrWord(34) = "抄chao"

arrWord(35) = "车che"

arrWord(36) = "抻chen"

arrWord(37) = "阷cheng"

arrWord(38) = "吃chi"

arrWord(39) = "充chong"

arrWord(40) = "抽chou"

arrWord(41) = "出chu"

arrWord(42) = "搋chuai"

arrWord(43) = "巛chuan"

arrWord(44) = "刅chuang"

arrWord(45) = "吹chui"

arrWord(46) = "旾chun"

arrWord(47) = "踔chuo"

arrWord(48) = "呲ci"

arrWord(49) = "从cong"

arrWord(50) = "凑cou"

arrWord(51) = "粗cu"

arrWord(52) = "汆cuan"

arrWord(53) = "崔cui"

arrWord(54) = "邨cun"

arrWord(55) = "搓cuo"

arrWord(56) = "咑da"

arrWord(57) = "呆dai"

arrWord(58) = "丹dan"

arrWord(59) = "当dang"

arrWord(60) = "刀dao"

arrWord(61) = "恴de"

arrWord(62) = "灯deng"

arrWord(63) = "仾di"

arrWord(64) = "敁dian"

arrWord(65) = "刁diao"

arrWord(66) = "爹die"

arrWord(67) = "丁ding"

arrWord(68) = "丟diu"

arrWord(69) = "东dong"

arrWord(70) = "剅dou"

arrWord(71) = "嘟du"

arrWord(72) = "耑duan"

arrWord(73) = "垖dui"

arrWord(74) = "吨dun"

arrWord(75) = "多duo"

arrWord(76) = "妸e"

arrWord(77) = "奀en"

arrWord(78) = "儿er"

arrWord(79) = "发fa"

arrWord(80) = "帆fan"

arrWord(81) = "方fang"

arrWord(82) = "飞fei"

arrWord(83) = "分fen"

arrWord(84) = "丰feng"

arrWord(85) = "仏fo"

arrWord(86) = "紑fou"

arrWord(87) = "夫fu"

arrWord(88) = "旮ga"

arrWord(89) = "该gai"

arrWord(90) = "干gan"

arrWord(91) = "冈gang"

arrWord(92) = "皋gao"

arrWord(93) = "戈ge"

arrWord(94) = "给gei"

arrWord(95) = "根gen"

arrWord(96) = "更geng"

arrWord(97) = "工gong"

arrWord(98) = "勾gou"

arrWord(99) = "估gu"

arrWord(100) = "瓜gua"

arrWord(101) = "乖guai"

arrWord(102) = "关guan"

arrWord(103) = "光guang"

arrWord(104) = "归gui"

arrWord(105) = "衮gun"

arrWord(106) = "呙guo"

arrWord(107) = "铪ha"

arrWord(108) = "嗨hai"

arrWord(109) = "佄han"

arrWord(110) = "夯hang"

arrWord(111) = "蒿hao"

arrWord(112) = "诃he"

arrWord(113) = "黒hei"

arrWord(114) = "拫hen"

arrWord(115) = "亨heng"

arrWord(116) = "叿hong"

arrWord(117) = "侯hou"

arrWord(118) = "乎hu"

arrWord(119) = "花hua"

arrWord(120) = "怀huai"

arrWord(121) = "欢huan"

arrWord(122) = "巟huang"

arrWord(123) = "灰hui"

arrWord(124) = "昏hun"

arrWord(125) = "吙huo"

arrWord(126) = "丌ji"

arrWord(127) = "加jia"

arrWord(128) = "戋jian"

arrWord(129) = "江jiang"

arrWord(130) = "艽jiao"

arrWord(131) = "阶jie"

arrWord(132) = "巾jin"

arrWord(133) = "坕jing"

arrWord(134) = "冂jiong"

arrWord(135) = "丩jiu"

arrWord(136) = "凥ju"

arrWord(1
16#
发表于 2004-12-9 01:14:00 | 只看该作者
不用在VBA中调用API,实现文件选取对话框!

http://www.office-cn.net/bbs/dispbbs.asp?boardID=5&ID=23272&page=1
17#
发表于 2004-12-9 04:52:00 | 只看该作者


连这种变量类型都没,我用的是ACCESS2000

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
18#
发表于 2004-12-10 17:39:00 | 只看该作者
请加入一个引用:你可以看看我的引用,是不是比你的多一个!Office 2000 Runtime 的引用!



[此贴子已经被作者于2004-12-10 10:00:51编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
19#
发表于 2004-12-12 23:31:00 | 只看该作者
更新后即保存记录 DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
20#
发表于 2004-12-13 00:45:00 | 只看该作者
'--------============转二进制函数=============--------'Adapt By:Gnoy'-------------------------------------------------------------------------Private Declare Sub CopyMemory _

    Lib "kernel32" Alias "RtlMoveMemory" _

    (Destination As Any, Source As Any, ByVal length As Long)Public Function ByteArrayAsBin(ByVal b As Variant) As String

    Dim z As Long

    Dim u As Long

    u = UBound(b)

    For z = 0 To u

        ByteArrayAsBin = ByteArrayAsBin & ByteAsBin(b(z))

        If z <> u Then

            If (z + 1) Mod 4 = 0 Then

                ByteArrayAsBin = ByteArrayAsBin & vbNewLine

            Else

                ByteArrayAsBin = ByteArrayAsBin & " "

            End If

        End If

    Next z

End FunctionPublic Function ByteAsBin(ByVal b As Byte) As String

    Dim z As Long

    For z = 7 To 0 Step -1

        ByteAsBin = ByteAsBin & Abs(CLng(CBool(b And (2 ^ z))))

    Next z

End FunctionPublic Function CurrencyAsBin(ByVal c As Currency) As String

    Dim b(7) As Byte

    CopyMemory b(0), c, 8

    CurrencyAsBin = ByteArrayAsBin(b)

End FunctionPublic Function DateAsBin(ByVal d As Date) As String

    Dim b(7) As Byte

    CopyMemory b(0), d, 8

    DateAsBin = ByteArrayAsBin(b)

End FunctionPublic Function DoubleAsBin(ByVal d As Double) As String

    Dim b(7) As Byte

    CopyMemory b(0), d, 8

    DoubleAsBin = ByteArrayAsBin(b)

End FunctionPublic Function IntegerAsBin(ByVal i As Integer) As String

    Dim b(1) As Byte

    CopyMemory b(0), i, 2

    IntegerAsBin = ByteArrayAsBin(b)

End FunctionPublic Function LongAsBin(ByVal l As Long) As String

    Dim b(3) As Byte

    CopyMemory b(0), l, 4

    LongAsBin = ByteArrayAsBin(b)

End FunctionPublic Function SingleAsBin(ByVal s As Single) As String

    Dim b(3) As Byte

    CopyMemory b(0), s, 4

    SingleAsBin = ByteArrayAsBin(b)

End FunctionPublic Function StringAsBin(ByVal s As String) As String

    Dim b() As Byte

    Dim z As Long

    Dim u As Long

    b = StrConv(s, vbFromUnicode)

    StringAsBin = ByteArrayAsBin(b)

End Function

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-19 18:50 , Processed in 0.097698 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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