Access交流中心

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

我窗体里这段VBA 为啥出错,总是提取数据不符

阿祺  发表于:2021-03-26 11:43:39  
复制

代码在form1里,代码的目的是做个计算,点击按钮

 

数据来自查询"Eligible",(共三列,ID,MADays, Score,表是按Score从大到小排列).

 

另有一个benchmark的查询,里边是预定值

 

我想在VBA里做的计算是从上到下累加查询里 MADays 这一列(按Score 从高到低排列顺序),当总和数大于benchmark查询里benchmark这个值时,停止累加. 这时算出一共有多少的ID(就是多少个行数,在这个查询里,加到第59行时,总值大于预定值,停止累加)59个ID作为count值,显示在窗体里,MADays累加值也显示在窗体里。

 

 

正确计算是,加到第59行退出,这时累加值刚好大于预定值。虽然代码显示的计算值也达到了要求,但它的累加顺序是错的。它只加了58行,窗体里 count 那个值。我用Excel做了一遍累加,把Excel 也附上了。

 

不知道为什么它没按设计的方法去累加,只能求助高人了


请看附件


点击下载此附件

 

Top
某.强人 发表于:2021-03-28 08:23:14
FCount = .AbsolutePosition(AbsolutePosition属性从零开始计数的,所以后面需要加一吧)

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