收入和支出的水晶报告,具有期初和期末余额

时间:2014-05-01 06:11:04

标签: c# sql sql-server crystal-reports

我需要使用mssql附加输出并在水晶报表中显示

我有表名称收入,费用,费用详情HeadMaster。
表结构

校长
HeadMasterId
名称

收入
IncomeId
HeadMasterId
IncomeDetails
TxnDate
金额

费用
ExpenseId
HeadMasterId
ExpDetails
TxnDate
金额

ExpenseDetails
ExpenseDetailsId
ExpenseId
CenterId
金额

我写了3个查询 1。收入明细

SELECT TxnDate, Name AS Particular, Amount FROM Income I INNER JOIN HeadMaster
HM ON HM.HeadMasterId = I.HeadMasterId WHERE TxnDate >= '2014-02-01 00:00:00' AND
TxnDate <= '2014-03-15 23:59:59' ORDER BY TxnDate 

2。费用明细

SELECT TxnDate, Name AS Particular, Amount FROM Expense E INNER JOIN ExpenseDetails 
ED ON ED.ExpenseId = E.ExpenseId INNER JOIN HeadMaster HM ON 
HM.HeadMasterId = E.HeadMasterId WHERE TxnDate >= '2014-02-01 00:00:00' AND 
TxnDate <= '2014-03-15 23:59:59' ORDER BY TxnDate 

第3。期初余额

DECLARE @Expense NUMERIC(8,2)
DECLARE @Income NUMERIC(8,2)
DECLARE @Balance NUMERIC(8,2)
SELECT @Income = SUM(I.Amount) FROM Income WHERE TxnDate < '2014-02-01 00:00:00'
SELECT @Expense = SUM(I.Amount) FROM Expense WHERE TxnDate < '2014-02-01 00:00:00
SET @Balance = @Income - @Expense
SELECT @Balance AS OpeningBalance


如何将查询输出合并为类似于Crystal Report中的所需输出?
我也可以将这个查询合并到一个查询中吗?

我正在使用Visual Studio IDE 2012 for Win App使用C#和Crystal Report。

输出应该看起来像这些enter image description here

1 个答案:

答案 0 :(得分:1)

您可以在水晶报表本身中执行所需的操作,而不是编写多个查询。

  1. 由于您分别有IncomeExpences。主要报告和主要报告中的2个子报告并列详细部分。
  2. 在子报告1中,获取Income的信息。在建立连接时获取所有必需的表,并在数据库专家的Links Tab中链接这些表。
  3. 类似地,在第二个子报告中,取Expences个表并按照相同的过程链接表。
  4. Link1Link2了解如何关联表格。

    4.现在两个子报告都将组分组如下:

    Group1: Sub report1 `Income`..
            Sub Report2  `Expences`
    

    5。现在在子报告中创建第二组,如下所示:

    Group 2: Sub Report1: Date
             Sub Report2: Date
    

    6.现在在两个子报告中创建第3组如下:

    Group 3: Sub Report1: Balance
             Sub Report2: Balance
    

    7.详细信息请填写字段DateParticularsAmount,并根据需要将摘要记录在组页脚中。

    8.在lines

    之间获取精确输出作为屏幕截图[{1}}

    让我知道它是怎么回事。