For Each dr As DataRow In DataTables("合同表").Select("")
Dim dt1 As DataTable=DataTables("批发表")
Dim dt2 As DataTable=DataTables("入库表")
Dim y As Integer = cdate(dr("录入时间")).year '指定年份
Dim q As Integer = Math.Ceiling(cdate(dr("录入时间")).Month / 3) '指定季度
'第一季度应返数量
Dim YFSL1 As Double = dt1.SqlCompute("sum(数量)", "高开编号 = '" & dr("财务编号") & "' and month(单据日期) in (1,2,3)" )
Dim YFSL2 As Double = dt1.SqlCompute("sum(数量)", "返利编号 = '" & dr("财务编号") & "' and month(单据日期) in (1,2,3)" )
Dim YFSL3 As Double = dt2.SqlCompute("sum(数量)", "高开编号 = '" & dr("财务编号") & "' and month(单据日期) in (1,2,3)" )
Dim YFSL4 As Double = dt2.SqlCompute("sum(数量)", "返利编号 = '" & dr("财务编号") & "' and month(单据日期) in (1,2,3)" )
dr("第一季度应返数量") = YFSL1 + YFSL2+ YFSL3+ YFSL4
'第一季度应返金额
Dim YFJE1 As Double = dt1.SqlCompute("sum(返利应返金额)", "返利编号 = '" & dr("财务编号") &"' And month(单据日期) In (1,2,3)" )
Dim YFJE2 As Double = dt1.SqlCompute("sum(高开应返金额)", "高开编号 = '" & dr("财务编号") & "' and month(单据日期) in (1,2,3)" )
Dim YFJE3 As Double = dt2.SqlCompute("sum(返利应返金额)", "返利编号 = '" & dr("财务编号") & "' and month(单据日期) in (1,2,3)" )
Dim YFJE4 As Double = dt2.SqlCompute("sum(高开应返金额)", "高开编号 = '" & dr("财务编号") & "' and month(单据日期) in (1,2,3)" )
dr("第一季度应返金额") = YFJE1 + YFJE2+ YFJE3+ YFJE4
'以下代码是计算第一季度计提数量
If q = 1 Then
Dim dt3 As New Date(y, 3 * (q - 1) + 1, 1) '获取该季度的第一天
Dim dt4 As Date = dt3.AddMonths(1)
Dim Filter As String
Filter = "单据日期 >= #" & dt3 & "# And 单据日期 < #" & dt4 & "#"
Dim JTSL1 As Double = dt1.Compute("sum(数量)", "高开编号 = '" & dr("财务编号") & "' and " & Filter)
Dim JTSL2 As Double = dt1.Compute("sum(数量)", "返利编号 = '" & dr("财务编号") & "' and " & Filter)
Dim JTSL3 As Double = dt2.Compute("sum(数量)", "高开编号 = '" & dr("财务编号") & "' and " & Filter)
Dim JTSL4 As Double = dt2.Compute("sum(数量)", "返利编号 = '" & dr("财务编号") & "' and " & Filter)
dr("第一季度计提数量") = JTSL1 + JTSL2+ JTSL3+ JTSL4
End If
Next
红色代码我想实现:第一季度计提数量=合同表里财务编号是录入日期是第一季度的,在批发表和入库表对应返利编号和高开编号,并且单据日期是第一季度的数量和-收缴表对应财务编号,并且登记日期是第一季度的数量和
有点色老师帮忙改一下红色部分代码,弄了一下午,实在弄不出来了。