2014-07-01 39 views
0

我有一个现金表与字段:doc_num,旁白,日期,债权人,债务人 现在我想显示总额(债权人债务人)作为每行rows.also显示前余额 像这样的:查询中的错误以获得余额

-------------------------------------------------------------------------------------- 
doc_num-------date----------narration------------credit-------debtor---balance 
-------------------------------------------------------------------------------------- 
         previous balance         2000  
1  2014/06/10  remit    5000   0    5000 
2  2014/06/12  bar     0   2000   3000 
3  2014/06/15  remit    1000   0    4000 

这是我的查询:

SELECT ''     AS docnum, 
     ''     AS c_date, 
     'previous balance' AS narration, 
     " "     AS creditor, 
     " "     AS debtor, 
     Sum(creditor-debtor), 
     "c_date< ' " & 2014/06/10 & "'" AS Balance 
FROM Cash 
UNION 
SELECT doc_num, 
     c_date, 
     narration, 
     creditor, 
     debtor, 
     Sum(creditor-debtor), 
     "doc_num<=" & doc_num AS Balance 
FROM Cash 
WHERE (((Cash.c_date) Between ("2014/06/10") And ("2014/06/15"))) 
ORDER BY docnum; 

我面临过这样的错误: 试图执行查询该剂量不包括指定表达式“doc_num”作为骨料 我用的一部分这个查询在访问(mdb) 什么是正确的查询? 谢谢

+0

在where子句列出所有非聚合列之后,你缺少'group by'语句。 – xQbert

+0

它的MS访问...如错误说:) – Gonzix

+0

您使用SUM,因此您需要使用 – Gonzix

回答

1

也许这个:''和'“让我有点失望。

SELECT ''     AS docnum, 
     ''     AS c_date, 
     'previous balance' AS narration, 
     " "     AS creditor, 
     " "     AS debtor, 
     Sum(creditor-debtor), 
     "c_date< ' " & 2014/06/10 & "'" AS Balance 
FROM Cash 
Group by '','','previous balance', " ", " ", "c_date< ' " & 2014/06/10 & "'" 
UNION 
SELECT doc_num, 
     c_date, 
     narration, 
     creditor, 
     debtor, 
     Sum(creditor-debtor), 
     "doc_num<=" & doc_num AS Balance 
FROM Cash 
WHERE (((Cash.c_date) Between ("2014/06/10") And ("2014/06/15"))) 
GROUP BY doc_num, 
     c_date, 
     narration, 
     creditor, 
     debtor, 
     "doc_num<=" & doc_num 
ORDER BY docnum; 
+0

感谢您的y代码组。我在ms中使用这个代码访问一个剂量不工作again.do你运行这个代码? – unforgiven

+0

不,因为我没有表格和数据库。我建议将代码分解为两个单独的select语句,并逐个单独尝试,这样您可以一次集中处理一条语句以解决问题。我知道你的问题的根源在于团队;但我不确定如何设置这些语法。 – xQbert

+0

好吧,根据我的表你可以写查询来获得在每一行中的信贷和债务人的余额?这对我至关重要。 – unforgiven