设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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

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

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

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2012-1-1 22:02:19 | 只看该作者
1.发帖请用简明能说明问题的标题
2、表中没有必要保存金额,其完全可以利用查询得到
3. 你的问题应该是求余额
4.最好能传例子
3#
 楼主| 发表于 2012-1-1 22:44:54 | 只看该作者
已经更新,请版主指教方法
4#
发表于 2012-1-1 23:55:55 | 只看该作者
smilingkiss 发表于 2012-1-1 22:44
已经更新,请版主指教方法

请把表中的总额去掉
  1. SELECT a.ID, a.单价, a.数量, (select sum(单价*数量) from 表1 as b where b.id<=a.id) AS 总额
  2. FROM 表1 AS a;
复制代码

本帖子中包含更多资源

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

x
5#
 楼主| 发表于 2012-1-2 10:46:47 | 只看该作者
谢谢版主!那么晚了还孜孜不倦啊
另,能否对代码给我简单分析说明一下,我是菜鸟,不知道其中的a,b是怎么定义的,谢谢!
6#
发表于 2012-1-2 10:55:25 | 只看该作者
a,b 是表的别名,也就是说: a表,b表其实是表1(相当于副本)
7#
发表于 2012-1-2 17:43:05 | 只看该作者
在4楼的代码中,我也想请教:既然表1已经有单价、数量字段了,为何还要表的别名的?另, 为何要设b.id<=a.id这个条件?
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的记录。说到这里应该不用再说了吧!
9#
发表于 2012-1-3 08:47:27 | 只看该作者
本帖最后由 ycxchen 于 2012-1-3 08:48 编辑

十分感谢版主手把手式的教导!抱歉,我还是不明为何要设b来比较的?不用行吗?
10#
发表于 2012-1-3 08:56:35 | 只看该作者
下载学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-1 04:35 , Processed in 0.179225 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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