Access交流中心

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

如何改写此窗体代码

雪风  发表于:2009-07-24 20:05:45  
复制

窗体图片:

 

窗体代码如下:

 

Private Sub Form_Load()
    SetTranslucent Me.hwnd, 255  'from 0 to 255
    Me.点工核算份数.Caption = DLookup("点工单号之计数", "监控点工")
    Me.点工核算人工.Caption = DLookup("审核人工之总计", "监控点工")
    Me.修改核算份数.Caption = DCount("*", "监控修改单核算")
    Me.修改单核算工时.Caption = DLookup("SUM([核算工时之总计])", "监控修改单核算")
    Me.修改单核算重量.Caption = DLookup("SUM([核算重量之总计])", "监控修改单核算")
    Me.修改单结算份数.Caption = DCount("*", "监控修改单结算")
    Me.修改单结算工时.Caption = DLookup("SUM([结算工时(H)之总计])", "监控修改单结算")
    Me.修改单结算重量.Caption = DLookup("SUM([结算重量(kg)之总计])", "监控修改单结算")
    Me.工艺单核算份数.Caption = DCount("*", "监控工艺单核算")
    Me.工艺单结算份数.Caption = DCount("*", "监控工艺单结算")
    Me.工艺单核算工时.Caption = DLookup("SUM([核算工时之总计])", "监控工艺单核算")
    Me.工艺单核算重量.Caption = DLookup("SUM([核算重量之总计])", "监控工艺单核算")
    Me.工艺单结算重量.Caption = DLookup("SUM([结算重量(kg)之总计])", "监控工艺单结算")
    Me.工艺单结算工时.Caption = DLookup("SUM([结算工时(H)之总计])", "监控工艺单结算")
    Me.钢构合同签订份数.Caption = DCount("*", "监控钢结构合同签订")
    Me.钢构合同签订金额.Caption = DLookup("SUM([签订款之总计])", "监控钢结构合同签订")
    Me.钢构合同结算份数.Caption = DCount("*", "监控钢结构合同结算")
    Me.钢构合同结算金额.Caption = DLookup("SUM([最终结算款之总计])", "监控钢结构合同结算")
    Me.涂装合同签订份数.Caption = DCount("*", "监控涂装合同签订")
    Me.涂装合同签订金额.Caption = DLookup("SUM([签订款之总计])", "监控涂装合同签订")
    Me.涂装合同结算份数.Caption = DCount("*", "监控涂装合同结算")
    Me.涂装合同结算金额.Caption = DLookup("SUM([最终结算款之总计])", "监控涂装合同结算")
    Me.安装合同签订份数.Caption = DCount("*", "监控安装合同签订")
    Me.安装合同签订金额.Caption = DLookup("SUM([签订款之总计])", "监控安装合同签订")
    Me.安装合同结算份数.Caption = DCount("*", "监控安装合同结算")
    Me.安装合同结算金额.Caption = DLookup("SUM([最终结算款之总计])", "监控安装合同结算")
    Me.签订份数合计.Caption = DCount("*", "监控钢结构合同签订") + DCount("*", "监控涂装合同签订") + DCount("*", "监控安装合同签订")
    Me.结算份数合计.Caption = DCount("*", "监控钢结构合同结算") + DCount("*", "监控涂装合同结算") + DCount("*", "监控安装合同结算")
    Me.合同签订金额合计.Caption = DLookup("SUM([签订款之总计])", "监控钢结构合同签订") + DLookup("SUM([签订款之总计])", "监控涂装合同签订") + DLookup("SUM([签订款之总计])", "监控安装合同签订")
    Me.合同结算金额合计.Caption = DLookup("SUM([最终结算款之总计])", "监控钢结构合同结算") + DLookup("SUM([最终结算款之总计])", "监控涂装合同结算") + DLookup("SUM([最终结算款之总计])", "监控安装合同结算")
End Sub

 

结果运行速度太慢了,打开窗体要1-2分钟时间,能否优化一下代码.使运行速度可以提高!!!

 

Top
小魏 发表于:2009-07-24 21:58:52

你用太多的域函数了,这当然慢了,有些数据你是否可以先用查询计算出来,然后再在窗体上引数据源?



蟹仔 发表于:2009-07-25 13:22:36
我发现如果先定一个变量,如i 接着i= 函数得到的值,再把i值赋予到控件会变快。

雪风 发表于:2009-07-25 18:20:57
那如何从表中得到所需的数据呢?

点燃一支烟 发表于:2009-07-25 18:21:01
我滴个老天,呵呵

雪风 发表于:2009-07-25 18:39:11
为了提高速度,我已经做了七八个查询表了!看来这样子还是不行呀!只有在做窗体中加入一条时间条来延长运行时间.不然让人心烦.还以为是死机了呢!

蟹仔 发表于:2009-07-25 22:35:16

你尝试下  dim i1,i2,i3,i4,i5 as string

         i1=DLookup("点工单号之计数", "监控点工")
         i2=DLookup("审核人工之总计", "监控点工")
           以此类推.....

me.点工核算份数=i1

me.Me.点工核算人工=i2

  还有,你这些控件为什么要用caption? 你尝试下不使用标签,而改成不可用/锁定/背景色透明 的文本框。



蟹仔 发表于:2009-07-25 22:40:55
我做过一个有120个文本框控件的窗体,其中90个是用dlookup赋值的。打开速度很快。还有个很明显的例子!!我用me.控件=dlookup()来给文本框定值,打开窗体的时候那个文本框会闪一下。 但先赋值i 再me.控件=i。就不会闪一下。

雪风 发表于:2009-07-26 11:05:11
谢谢 kangkai的指点,速度稍微快些,不过这办法解决了我另外一个问题!

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