Access交流中心

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

查询

巴士岁月  发表于:2011-03-08 14:20:40  
复制

请教一下,有没有哪种方法能实现以下功能:设  表1中有  字段A,  字段B,  字段C

                                                   aaa     100     1500

                                                   bbb      60      1600

                                                   aaa      600     ***

                                                   bbb      400     ***

                                                   aaa      800     ***

                                                   aaa      300     ***

有没有哪种方式能得出:                    表1中有  字段A,  字段B,  字段C

                                                   aaa     100     1400   (注:1500-字段B100)

                                                   bbb      60      1540  (注:1600-字段B60)

                                                   aaa      600     800    (注:1500-字段B(100+600)

                                                   bbb      400     1140

                                                   aaa      800     0

                                                   aaa      300     -300

就是说字段C=表中第一行的值-本行字段B的值-在这一行之前所有符合字段A与之相同的字段B

 

好象很简单,不过我搞了半天没搞定,用ADODB写了算法能实现,但感觉效率很低,象这种问题,ACCESS应该有能很快实现的查询之类的,万望前辈们指点为盼,谢谢

 

Top
巴士岁月 发表于:2011-03-09 08:53:01
感觉是不是要用多维数组,但我以前没用过数组,所以不清楚,高手指教谢谢

罗衣惹轻尘 发表于:2011-03-09 14:44:07

用Dsum试试看?

大体这样,但需要一个递增的ID号,否则不好计算。

 

SELECT tbl_Test.Id, tbl_Test.字段0, tbl_Test.字段1, tbl_Test.字段2, DFirst("字段2","tbl_test","字段0='" & [字段0] & "'")-DSum("字段1","tbl_test","字段0='" & [字段0] & "' and ID<=" & [ID]) AS 字段3
FROM tbl_Test;

点击下载此附件

巴士岁月 发表于:2011-04-07 10:25:37

大体这样,但需要一个递增的ID号,否则不好计算。

 

谢谢轻尘,结贴



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