设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 3572|回复: 13
打印 上一主题 下一主题

[窗体] 请教版主关于结存(余额)的设计问题!

[复制链接]
跳转到指定楼层
1#
发表于 2012-1-1 21:38:03 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 smilingkiss 于 2012-1-1 22:44 编辑

表记录字段如下:[单价],[数量],[总额],(其中[总额]=[单价]*[数量]
窗体上加一个[结存]文本框控件,如果是第一条记录,则[结存]=[总额],否则,[结存]=上一条记录的[结存]+本条记录的[总额],如此类推,不知道能否实现?有劳版主指教了!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
14#
发表于 2012-3-7 15:24:50 | 只看该作者
好的,原来求余额这么简单,都不需要什么临时表和编程,直接查询就出来了。学习,佩服!
13#
发表于 2012-1-3 09:38:15 | 只看该作者
经andymark的提醒,明明白白了,多谢两位!
12#
发表于 2012-1-3 09:20:08 | 只看该作者
因为引用了2次相同的表,第二次引用表1需要另名才能认别
也可以这样书写
SELECT ID, 单价, 数量, (select sum(单价*数量) from 表1 as b where b.id<=表1.id) AS 总额
FROM 表1
11#
发表于 2012-1-3 09:00:45 | 只看该作者
ycxchen 发表于 2012-1-3 08:47
十分感谢版主手把手式的教导!抱歉,我还是不明为何要设b来比较的?不用行吗?

不用怎么比呀,自己跟自己比?
也就是a.id<=a.id?
10#
发表于 2012-1-3 08:56:35 | 只看该作者
下载学习
9#
发表于 2012-1-3 08:47:27 | 只看该作者
本帖最后由 ycxchen 于 2012-1-3 08:48 编辑

十分感谢版主手把手式的教导!抱歉,我还是不明为何要设b来比较的?不用行吗?
8#
发表于 2012-1-2 22:39:28 | 只看该作者
ycxchen 发表于 2012-1-2 17:43
在4楼的代码中,我也想请教:既然表1已经有单价、数量字段了,为何还要表的别名的?另, 为何要设b.id

1.表1是可以不用别名a,也就是可以把a改写为表1,这里的别名a是为了书写方便!
2.至于b,就一定要用了,这是为了比较。
3.为何要设b.id<=a.id这个条件?
       因为楼主要得到的结果是余额,也就是累计(相当于报表的运行总和)
   这里为了方便我们还是用a来代表表1
假设:查询现在处于第一条记录,也就是a.id=1时,b.id<=a.id,也就是b.id<=1,显而易见只有一条记录,也就是第一条记录。那么余额就是第一条记录的单价*数量
当处于第二条记录时,a.id=2,b.id<=a.id,也就是b.id<=2,那么就有两条记录,就是id=1,和 id=2的记录。说到这里应该不用再说了吧!
7#
发表于 2012-1-2 17:43:05 | 只看该作者
在4楼的代码中,我也想请教:既然表1已经有单价、数量字段了,为何还要表的别名的?另, 为何要设b.id<=a.id这个条件?
6#
发表于 2012-1-2 10:55:25 | 只看该作者
a,b 是表的别名,也就是说: a表,b表其实是表1(相当于副本)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-1-25 11:13 , Processed in 0.107092 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表