Office中国论坛/Access中国论坛

标题: 【Access小品】遍历--Access常用手段 [打印本页]

作者: todaynew    时间: 2009-11-24 19:41
标题: 【Access小品】遍历--Access常用手段
遍历者几何?对此定义没有研究,通俗的理解就是在一类物件中翻找一气。遍历说的是手段,不是目的。没有目的的遍历那叫折腾,所谓清风不识字何必乱翻书。于Access中观察遍历,其目的几何?手段几何?归纳目的无非是要找到所要的数据,这些数据可能是各种类型的。归纳手段无非是循环,常用者为for each in next和for to next。

      遍历总是从一类中查找,所以类是很重要的。但凡对象为复数者均为一类。有些对象看起来不是类,但其如能细分为更小的单元,也不妨将其视为一类,此思路有解构的意味。类者必有其元素,这些元素中就有你所想要的东西。女人是一类,你要找的老婆是其中的一个元素,你寻找的过程就是遍历。不过找老婆总不能满世界乱找,这个遍历的范围太大。于是你要大致限定一些条件,以提高你择偶成功的效率。因此于Access中,也是需要在遍历的过程中设置若干条件的。

        遍历事关老婆,也就万分要紧。但凡未婚者与离婚者,均需掌握遍历之法。所谓他山之石可以攻玉,学会Access遍历,一切遍历也就豁然开朗了。于是乎便提供了以下的一个遍历问题的集成实例。这个实例中共写了如下八个小单元:

    1、子文件夹及文件遍历
    2、数据表及查询遍历
    3、字段遍历
    4、窗体及控件遍历
    5、报表遍历
    6、记录集遍历
    7、Excel表标签遍历
    8、字符串单个字符遍历

      这八个单元总各有一两个小巧的自定义函数,如果你觉得需要,可以放到你的程序中使用。需要提醒注意的是,在移植到其他Access数据库中使用时,有一些函数需要增加下列三个引用:

   Microsoft Scripting Runtime
   Microsoft Office 11.0 Object Library
   Microsoft Excel 11.0 Object Library

[attach]40510[/attach]

[attach]40519[/attach]
[attach]40518[/attach]

[attach]40517[/attach]

[attach]40516[/attach]

[attach]40515[/attach]

[attach]40514[/attach]

[attach]40513[/attach]

[attach]40512[/attach]

[attach]40511[/attach]


VBA开发神器第一版发布及培训-平台插件VBA伴侣(OfficeHelper下载)
http://www.office-cn.net/thread-119660-1-1.html






作者: njy6000    时间: 2009-11-24 20:29
收藏,看什么时候能用再参考!
作者: fnsmydyang    时间: 2009-11-24 21:01
学习收藏了,谢谢
作者: Grant    时间: 2009-11-24 21:29
赞一个,勤劳的鸟儿有虫吃
作者: ACMAIN_CHM    时间: 2009-11-24 21:48

作者: asklove    时间: 2009-11-24 22:11
好东西应该要收藏
作者: goto2008    时间: 2009-11-24 22:36
todaynew 的作品都很有意思。。。学习
作者: fcghw    时间: 2009-11-24 23:26
很有意思,参考!
作者: ui    时间: 2009-11-25 00:16
学习 学习!!
作者: todaynew    时间: 2009-11-25 06:21

ACMAIN_CHM 发表于 2009-11-24 21:48

许久不见,不知安否?甚念。
作者: todaynew    时间: 2009-11-25 06:21
感谢首长和同志们支持
作者: 5988143    时间: 2009-11-25 07:33
感谢首长和同志们支持
todaynew 发表于 2009-11-25 06:21


作品愈來愈精湛了~
要嚴重支持一下~
呵呵!
作者: ynjxw    时间: 2009-11-25 08:51
好东西!
作者: zhanguoru    时间: 2009-11-25 09:02
学习,谢谢!!
作者: todaynew    时间: 2009-11-25 18:15
增加两个函数:


Function GetObject(ObjectType As String, Accessname As String) As String
'功能:获取其他Access数据库中的对象字符串
'参数:ObjectType--类型参数,AllForms=窗体;AllReports=报表;AllMacros=宏;AllModules=模块;AllDataAccessPages=数据访问页
'     Accessname --Access数据库名称字符串
Dim appAccess As New Access.Application
Dim obj As AccessObject
Dim objs As Object

appAccess.OpenCurrentDatabase Accessname
appAccess.Visible = True
Select Case ObjectType
    Case "AllForms"
        Set objs = appAccess.CurrentProject.AllForms
    Case "AllReports"
        Set objs = appAccess.CurrentProject.AllReports
    Case "AllMacros"
        Set objs = appAccess.CurrentProject.AllMacros
    Case "AllModules"
        Set objs = appAccess.CurrentProject.AllModules
    Case "AllDataAccessPages"
        Set objs = appAccess.CurrentProject.AllDataAccessPages
    Case Else
        Exit Function
End Select

For Each obj In objs
    If obj.IsLoaded = False Then
        GetObject = GetObject & obj.Name & ";"
    End If
Next obj
appAccess.CloseCurrentDatabase
Set appAccess = Nothing
End Function


Function GetObjCtl(ObjectType As String, Accessname As String, Objectname As String) As String
'功能:获取其他Access数据库中的对象中控件字符串
'参数:ObjectType--类型参数,AllForms=窗体;AllReports=报表;AllMacros=宏;AllModules=模块;AllDataAccessPages=数据访问页
'     Accessname--Access数据库名称字符串
'     Objectname --对象名称字符串
Dim appAccess As New Access.Application
Dim ctls As Controls
Dim ctl As Control
Dim obj As Object

appAccess.OpenCurrentDatabase Accessname
appAccess.Visible = True
Select Case ObjectType
    Case "AllForms"
        appAccess.DoCmd.OpenForm Objectname
        Set obj = appAccess.Forms(Objectname)
    Case "AllReports"
        appAccess.DoCmd.OpenReport Objectname, acViewPreview
        Set obj = appAccess.Reports(Objectname)
    Case "AllDataAccessPages"
        appAccess.DoCmd.OpenDataAccessPage Objectname
        Set obj = appAccess.DataAccessPages(Objectname)
    Case Else
        Exit Function
End Select

Set ctls = obj.Controls
For Each ctl In ctls
    GetObjCtl = GetObjCtl & ctl.Name & ";"
Next ctl

appAccess.CloseCurrentDatabase
Set appAccess = Nothing
End Function

作者: chaojianan    时间: 2009-11-25 20:56
收藏了,谢谢todaynew。

作者: heqing3000    时间: 2009-12-31 15:18
收藏了。谢谢!
作者: wufeng980114    时间: 2009-12-31 20:37
谢谢了
作者: ycxchen    时间: 2010-1-1 09:55
谢谢,学习!
作者: dragonszr    时间: 2010-1-5 22:08
学习学习再学习!
作者: leijiqiang    时间: 2010-1-11 08:38
学习下下
作者: c101    时间: 2010-1-11 09:09
谢谢分享
作者: 路遥    时间: 2010-1-25 13:21
收藏,楼主文采不错
将抽象的概念用形象的比喻解说,让人一目了然
赞一个!~~
作者: forever1qaz    时间: 2010-1-25 16:25
10# ui
作者: forever1qaz    时间: 2010-1-25 16:26
看看学习下。。以备不时之需!
作者: zhanghonglgq    时间: 2010-1-26 10:38
非常有用
作者: li08hua    时间: 2010-1-27 13:24
谢谢分享!
作者: 风啸啸    时间: 2010-2-26 12:40
好好学习。
作者: lovelaceliu    时间: 2010-3-11 21:53
学习了,收藏以备后用
作者: zhengweb_0    时间: 2010-3-17 09:27
收了
作者: lovehere    时间: 2010-3-18 17:19
虽然不是很明白,收藏先
作者: szyuer    时间: 2010-3-18 17:42
谢谢,学习一下...
作者: ZHENGLIAN    时间: 2010-8-17 11:55
收藏,看什么时候能用再参考!
作者: gddsb    时间: 2010-8-18 22:31
收藏,看什么时候能用再参考!
作者: gddsb    时间: 2010-8-18 22:32
学习 学习!!

作者: lkkl66    时间: 2010-8-18 23:34
回复 todaynew 的帖子
收藏哦!在实际程序编写中,有许多地方要参考用到的!
谢谢了!

   
作者: szyewj    时间: 2010-8-22 14:17
支持精品原創作~
作者: caoguangyao    时间: 2010-12-6 13:08
不学白不学,学了不白学
作者: 黄冠涛    时间: 2010-12-7 21:31
学习 学习
作者: wuweipaopao    时间: 2011-3-16 10:57
谢谢分享!
作者: 164561319    时间: 2011-4-25 21:41
我也想做个这样的系统    请问怎么看代码啊?还是其他什么编程的东西吗?
作者: wanwenjie    时间: 2011-4-26 10:16
学习
作者: ri136998    时间: 2011-7-7 11:57
学习...
作者: qczvba    时间: 2011-7-23 10:13
跟着版主真是学习不完,谢谢老大。
作者: wang1950317    时间: 2011-7-23 11:49
好东西啊!谢谢!收藏备用!
作者: willywenlong    时间: 2011-8-3 16:57
谢谢分享啊

作者: tjgtw888    时间: 2011-8-22 09:53
不错、不错,感谢作者
作者: jinzhanxi    时间: 2011-8-22 10:53
谢谢分享
作者: jinzhanxi    时间: 2011-8-24 17:14
相当不错
作者: 柯以笙萧默    时间: 2011-9-11 21:25
学习学习再学习!
作者: ysh5858    时间: 2011-9-11 22:53
学习, 学习 ,再学习!

作者: 沁月    时间: 2011-10-22 12:54
{:soso_e183:}
作者: huxinhua    时间: 2012-1-11 08:51
收藏了,谢谢
作者: zhylee    时间: 2014-11-5 13:03
学习下

作者: coolcoolbear    时间: 2015-1-1 17:13
参考用用,多谢分享。
作者: zhidao    时间: 2015-1-17 11:21
不错收藏了
作者: joshey    时间: 2015-1-30 10:55
精品技巧,必学。
作者: nncchh    时间: 2015-5-25 22:49
谢谢分享
作者: nncchh    时间: 2015-5-25 22:49
学习
作者: nncchh    时间: 2015-5-25 22:50
学习了
作者: 好运牛    时间: 2015-7-26 23:02
很经典收藏学习,谢谢分享
作者: coolcoolbear    时间: 2015-8-1 19:23
收藏了,谢谢
作者: 灰太郎    时间: 2022-2-8 11:30
123456
作者: 灰太郎    时间: 2022-2-8 11:32
123456
作者: 灰太郎    时间: 2022-2-8 11:34
123456




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