老师,sql语句对我太难了,直接放弃,改用代码手工统计应该最方便,数据表生成没问题了,但是统计哪儿需要核对登记日期的月与i是同月,请老师看看,条件哪儿和代码逻辑应该怎么修改?
Dim d As Date = Date.Today
Dim i As Integer
Dim dtb As New DataTableBuilder("统计")
dtb.AddDef("所属机构", Gettype(String), 32)
dtb.AddDef("项目名称", Gettype(String), 100)
dtb.AddDef("合同金额", Gettype(Double))
For i = 1 To d.Month
dtb.AddDef(d.Year & "年" & i & "月_开piao金额" , Gettype(Double))
dtb.AddDef(d.Year & "年" & i & "月_税价合计金额" , Gettype(Double))
dtb.AddDef(d.Year & "年" & i & "月_可抵扣增值税" , Gettype(Double))
dtb.AddDef(d.Year & "年" & i & "月_可抵扣成本" , Gettype(Double))
Next
dtb.Build()
For Each nm() As String In DataTables("合同签订").sqlGetValues("所属机构|项目名称|合同金额")
Dim dr As DataRow = DataTables("统计").AddNew()
dr("所属机构") = nm(0)
dr("项目名称") = nm(1)
dr("合同金额") = nm(2)
dr(d.Year & "年" & i & "月_开piao金额") = DataTables("开piao申请").Compute("Sum(开piao金额)","项目名称 = '" & nm(1) & "' And "登记日期" .Month" = i")
dr(d.Year & "年" & i & "月_税价合计金额") = DataTables("进项piao录入").Compute("Sum(税价合计金额)","项目名称 = '" & nm(1) & "' And 寄达日期.Month = i")
dr(d.Year & "年" & i & "月_可抵扣增值税") = DataTables("进项piao录入").Compute("Sum(税额)","项目名称 = '" & nm(1) & "' And fa piao类别 = '专用' And 寄达日期.Month = i")
dr(d.Year & "年" & i & "_可抵扣成本") = dr(d.Year & "年" & i & "月_税价合计金额") - dr(d.Year & "年" & i & "月_可抵扣增值税")
Next
[此贴子已经被作者于2021/12/7 8:51:46编辑过]