小弟最近刚刚接触Access,请问下大家access 能否试下如下项目帐及利润的统计功能?
1, 我们公司以项目号作为单元来统计一个项目的销售额,采购成本
2, 一个项目下面可能有多个销售订单(或者叫形式发票)这个数据是该项目的进账统计,总额即为该项目的销售额
3, 一个项目下面还可能有多个采购订单
销售订单的金额之和 - 采购订单金额之和 = 该项目的利润。
我目前的想法是建立3个表
表#1 为项目号登记表:录入销售人员,日期,项目号,客户名称等信息 (主键为项目号)
表#2 为销售订单的登记,录入 发票号,所属项目号,发票金额信息
表#3 为采购订单的登记,录入订单号,所属的项目号,订单金额等
问题是:我要统计项目号为NC001 的利润,需要用表#2里面所有属于该项目 的发票金额之和 减去表3#里面所有属于该项目的订单之和 得出毛利润。这张按项目号统计销售额 和 毛利润
的表该如何得出呢?
Dsum("发票金额", "表#2", "[所属项目号] = 'NC001'") - Dsum("订单金额", "表#3", "[所属项目号] = 'NC001'")
直接用SQL语句查询每个项目的利润语句如下:
select t1.所属项目号,t1.fp as 发票总金额,t2.dd as 订单金额,t1.fp -t2.dd as 利润 from
(select 所属项目号,sum(发票金额) as fp FROM 表#2 group by 所属项目号) as t1
LEFT JOIN (select 所属项目号,sum(订单金额) as dd from 表#3 group by 所属项目号) as t2
on t1.所属项目号=t2.所属项目号;
点击下载此附件
谢谢 zhf_2003的回复,我大概能看懂您的意思,自己试了一下还是没有成功,现在把例子文件上传上来,能否帮我看下?
我确实需要查询并获得每个项目的利润
我用的查询语句是:
SELECT DISTINCTROW 项目号登记.项目号, 项目号登记.业务, 项目号登记.销售, 项目号登记.客户, Sum(发票.发票金额) AS [发票金额 之 合计], Sum(采购订单.订单金额) AS [订单金额 之 合计]
FROM (项目号登记 INNER JOIN 发票 ON 项目号登记.[项目号] = 发票.[项目号]) INNER JOIN 采购订单 ON 项目号登记.[项目号] = 采购订单.[项目号]
GROUP BY 项目号登记.项目号, 项目号登记.业务, 项目号登记.销售, 项目号登记.客户;
好像计算出来的一个项目的发票金额之和是有重复的。
3楼的用这个试试
SELECT 项目号登记.项目号, 项目号登记.业务, 项目号登记.销售, 项目号登记.客户, A.发票金额之合计, B.订单金额之合计
FROM (项目号登记 INNER JOIN (SELECT 发票.项目号, Sum(发票.发票金额) AS 发票金额之合计 FROM 发票 GROUP BY 发票.项目号) AS A ON 项目号登记.项目号 = A.项目号) INNER JOIN (SELECT 采购订单.项目号, Sum(采购订单.订单金额) AS 订单金额之合计 FROM 采购订单 GROUP BY 采购订单.项目号) AS B ON 项目号登记.项目号 = B.项目号;
朱先生好厉害!这条语句计算出来了 每个项目的总销售额 和 总采购成本。下一步我要对两个总额做减法得出毛利润。我先理解一下你的语句,看能不能自己把减法这部分写出来。。。
如果写不出来,还需要请教朱先生哦!
回复朱先生一个问题,利润这一列我已经做出来了。只是在你的语句里面添加一列即可(红色部分):
SELECT 项目号登记.项目号, 项目号登记.业务, 项目号登记.销售, 项目号登记.客户, A.发票金额之合计, B.订单金额之合计,A.发票金额之合计-B.订单金额之合计 AS 利润
FROM (项目号登记 INNER JOIN (SELECT 发票.项目号, Sum(发票.发票金额) AS 发票金额之合计 FROM 发票 GROUP BY 发票.项目号) AS A ON 项目号登记.项目号 = A.项目号) INNER JOIN (SELECT 采购订单.项目号, Sum(采购订单.订单金额) AS 订单金额之合计 FROM 采购订单 GROUP BY 采购订单.项目号) AS B ON 项目号登记.项目号 = B.项目号;
但是我对于你的语句 ON之后那一部分(蓝色的)不是太理解。通常不是要用where 去做吗?能否讲解下 为什么用ON呢?
追加一个问题:
我如果需要 在出来的表格里面再添加一列 利润率,计算公式为 利润/订单金额之合计,按照%比的格式显示出来。可以做吗?
利润这列也加出来了,怎么设置 显示格式为 xx.xx%呢?
用 format(参数,"0.00%")
format(利润公式,"0.00%") as 利润
各类数据格式的设置在帮助里面有
感谢 zhf_2003
用 format(参数,"0.00%")
format(利润公式,"0.00%") as 利润
各类数据格式的设置在帮助里面有
总记录:11篇 页次:1/1 9 1 :