Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-窗体/数据页

【access小品】论坛三杰---老头之间的巅峰对决

时 间:2010-07-01 20:34:12
作 者:todaynew   ID:10802  城市:武汉
摘 要:巅峰对决
正 文:

  Access软件网论坛中有三个老头,其名曰牛先生、放弃、煮江品茶,皆初学者也。但凡老头均有脾气,固执者要么是老头,要么是疯子。因此上你不要责备他们的问题太肤浅,你也不要责备他们老是问同一个问题,你到了这个年龄也这个德行。看到一个版友的版友好像叫做三十岁学Access什么的,这不值得骄傲。如果有人说五六十岁开始学Access,而且比你认真,比你执着,那你就该汗颜了。老头学习Access这类东西一定是不拘泥常规的,因为他们常常很自信,不喜欢按部就班的做事。在他们看来,按部就班循序渐进是年轻人的事情,老子吃的盐都比你吃的饭多,还有什么老子搞不懂的呢?呵呵。
  老头与老头也有不同,牛先生是不光三七二十一便想为儿子搞一套管理程序,想将自己的管理经验传给后辈。其实后辈自有后辈的想法,就是他用你的程序也是逗你开心,怎么可能真的管用呢?不过从另外一个角度看,牛先生乐此不疲,也算是从Access中得到许多乐趣,以我看这就足够了。放弃不常发言,一旦发言便要问个究竟,管他是否在理,你不说明白,他不放弃。在下与这两老头不同,纯粹娱乐,但凡有点意思的问题便喜欢寻求解法,于是乎著小品数十篇,混迹若干论坛,也小有名气。
  这两日放弃同志问一个窗体刷新问题,实在执拗。想来都是老头,还是给他一个尽善尽美的解法,于是将解法分解递进,供放弃老兄参考之。
第一步:刷新主子两级窗体的自定义函数
Public Function frmrq(frm As Form)
'功能:主子两级窗体刷新
'示例:call frmrq(me.form)
Dim ctls As Controls
Dim ctl As Control
frm.Requery
Set ctls = frm.Controls
For Each ctl In ctls
    If ctl.ControlType = acSubform Then
        ctl.Form.Requery
    End If
Next ctl
End Function
第二步:有时候不太希望刷新主窗体,因为刷新主窗体的话,主窗体记录会跳回到首记录,那么这个函数可以改造为:
Function frmrq(frm As Form, B As Boolean)
'功能:刷新主子窗体
'示例:同时刷新主子窗体:call frmrq(me.form,true)
'      只刷新子窗体:call frmrq(me.form,fasle)
Dim ctls As Controls
Dim ctl As Control
If B = True Then
    frm.Requery
End If
Set ctls = frm.Controls
For Each ctl In ctls
    If ctl.ControlType = acSubform Then
        ctl.Form.Requery
    End If
Next ctl
End Function
第三步:多数情况下虽不想刷新主窗体,但希望刷新主窗体中的列表框和组合框控件,则该函数可以进一步改写为:
Function frmrq(frm As Form, B As Boolean)
Dim ctls As Controls
Dim ctl As  Control
If B = True Then
    frm.Requery
End If
Set ctls = frm.Controls
For Each ctl In ctls
    If ctl.ControlType = acSubform Then
        ctl.Form.Requery
    End If
    If ctl.ControlType = acComboBox or ctl.ControlType = acListBox Then
        ctl.Requery
    End If
Next ctl
End Function



Access软件网官方交流QQ群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助