Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

论坛三杰---老头之间的巅峰对决

煮江品茶  发表于:2010-07-01 20:31:55  
复制


  论坛中有三个老头,其名曰牛先生、放弃、煮江品茶,皆初学者也。但凡老头均有脾气,固执者要么是老头,要么是疯子。因此上你不要责备他们的问题太肤浅,你也不要责备他们老是问同一个问题,你到了这个年龄也这个德行。看到一个版友的版友好像叫做三十岁学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 ctl
If B = True Then
    frm.Requery
End If
Set ctls = frm.Controls
For Each ctl In ctls
    If ctl.ControlType = acSubform Then
        clt.Form.Requery
    End If
Next ctl
End Function

 

第三步:多数情况下虽不想刷新主窗体,但希望刷新主窗体中的列表框和组合框控件,则该函数可以进一步改写为:

Function frmrq(frm As Form, B As Boolean)

Dim ctls As Controls
Dim ctl As ctl
If B = True Then
    frm.Requery
End If
Set ctls = frm.Controls
For Each ctl In ctls
    If ctl.ControlType = acSubform Then
        clt.Form.Requery
    End If
    If ctl.ControlType = acComboBox Or ctl.ControlType = acListBox Then
        clt.Requery
    End If
Next ctl
End Function

 


 

 

Top
wj.s 发表于:2010-07-01 20:41:16
顶一个,要有进步,真的要有孜孜不倦,不耻发帖的精神才行.

wyh99999 发表于:2010-07-01 20:46:06
煮江品茶老师,您比“放弃老兄”更执着。哈哈。。。。

牛先生 发表于:2010-07-01 23:00:27

哈哈哈,煮江品茶老弟的一番宏论,令在下感动的“痛哭流涕”,不错,在下也感觉到贵网中的个别工作人员,以自己的那点雕虫小技,便自命清高,岂不知,尺有所短、寸有所长,于那位“某某”先生来说,老夫当年在前线捕俘擒敌之时,他大概还在穿开裆裤呢,老夫来贵网转游,一来为竹笛老板壮壮人气,二来“无事生非”的找点乐子,三来也为那些类似于老夫这等初学之辈当块抛砖引玉之“砖头”。于是乎“笑骂由他笑骂,老夫我自为之”。现将“自嘲”旧作一首,博取诸兄一笑:

抱弦唱月对影怜,
流水曲尽谁堪然。
把酒临风邀嫦娥,
露绿烟红舞花间。
松涛听风烹清茗,
竹雨谈诗胜酒仙。
世人莫笑老夫痴,
我道能狂觉少年。



红尘如烟 发表于:2010-07-02 16:44:35
GOOD

wyh99999 发表于:2010-07-02 21:22:56

人品与作品既有关连也无关连。无论别人怎样的人品与作品,旁观者应该是善意对待。



CH 发表于:2010-07-12 19:01:46

不错不错,向长辈们致敬!



qixiang 发表于:2010-07-13 08:48:30

拥戴!!!



benhum 发表于:2011-08-11 14:48:54

拜读此般大作。

长见识了。



麥田 发表于:2011-08-11 15:08:00

老牛也是只知道索取  不知道回报之人   哈  当你回答人家问题  回答了1个人家说你好  2个也说你好  99个还是说你好  第100个找理由不回答  那你什么都不是  还可能说你一痛扁你的话

 

 

    牛先生 QQ:692952617 点击这里给牛先生发消息
获得社区协助:请教问题(即发帖)94篇,其中获得解决的84篇;
协助社区成员:协助他人(即回帖)7篇,其中被设为【最佳答案】的3篇;

 

我只知道别人帮你解决了84个问题了,你居然只回复了其他网友7个帖子,狂汗  可能也就是当初拒绝再回答你问题的原因吧!



BruceLee 发表于:2011-08-11 15:10:59
路过  打酱油 

总记录:10篇  页次:1/1 9 1 :