Access交流中心

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

数据较多时,如何在窗体上实时累加,并赋值给变量P

肥明  发表于:2016-08-12 09:22:27  
复制

窗体1的数据来源是表1, Text3的控件来源是 =Format(Sum([数量]),"#.##"),表1只有5条数据,运行查询时,窗体的 Text3和弹出的对话框均可以准确显示累计数量420

窗体2的数据来源是表2,Text3的控件来源是 =Format(Sum([数量]),"#.##"),有72条数据,运行同样的查询时,窗体的 Text3和弹出的对话框都没有显示累计数量,按下对话框后的确定按钮后, Text3才正确显示累计数量5220,请问怎么处理才可以在大量数据的情况可以Text3的值赋给变量P。



请帮忙看一下数据库,我想达到的目的是把窗体上Text3的值赋给变量P,当表数据量少的时候运行正常,数据量稍大时就不行,感觉好像Text3计算稍微慢了一点,还没计算出结果就开始赋值,所以最后赋给P的不是Text3的计算结算,而是空值,请帮忙修改一下数据 库,谢谢,

点击下载此附件

如果通过2个事件分了两个过程,就可以解决问题,但 强调一下,我一定要在一个按钮的单击事件完成呢,因为我需要这样做,请帮忙。

下面是我的部分代码

Dim AA As String
Me.Text2.RowSource = "SELECT DISTINCT 名称 FROM            "
DoCmd.SetWarnings False
Dim rs As DAO.Recordset     'SQL语句的值不能直接赋值给变量的,要引用ADO 或DAO,
Set rs = CurrentDb.OpenRecordset("select count(*) as AA from (select d 
AA = rs("AA")
For K = 0 To AA - 1
Me.Text2 = Me.[Text2].[ItemData](K)     '更改数据Text2的值
Me.Requery                                    '刷新数据,目的同时刷新
Text3的值,但实际效果是来不及计算,Text3为空
N1 = DCount("[剩余            >0")   'N1表示卖空次数
If N1 = 0 Then       '=0 表示从没卖空过
'Text13 = "A1=" & Text4 & ",B1=;"
P = Text3    实际效果是Text3来不及计算,Text3为空,导致赋值给变量P时也为空
Text13 = "A1=" & Text4 & ",B1=,P1=" & P & ""
.……
DoCmd.RunSQL "insert into   Text13
.……
Next K

 

Top
仙来 发表于:2016-08-12 11:01:48

传mdb



zhaoyoulong 发表于:2016-08-12 11:25:33
把 Me.Requery去掉



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