Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
"表A"的"起号"有的是跟上一行"止号"连续的,有的是不连续的.
统计要求是(如"表B"):
1,根据"表A"中连续的起止号段形成一个分组行,共得到三个分组行.
2,根据各分组行统计出所属"单证状态"的总张数
3,根据各分组行统计出所属"退单、废单"的总张数.
4,根据各分组行统计出所属"售单"的保费总金额.
求代码,给个提示也行.
下载信息 [文件大小: 下载次数: ] | |
![]() |
放在项目 maintablechanged 事件中:(你自己优化吧)
DataTables("表B").datarows.clear()
Dim n As Integer
For i As Integer = 0 To Tables("表A").count-1
If i = 0
Tables("表B").addnew()
Tables("表B").Rows(n)("起号") = Tables("表A").Rows(i)("起号")
Tables("表B").Rows(n)("序号") = n+1
n = n + 1
Else
If i = Tables("表A").count-1
Tables("表B").addnew()
Tables("表B").Rows(n-1)("止号") = Tables("表A").Rows(i)("止号")
Tables("表B").Rows(n-1)("全部单证张数") = Tables("表A").Compute("Sum(张数)","起号 >= '" & _
Tables("表B").Rows(n-1)("起号") & "' and 起号 <= '" & Tables("表A").Rows(i)("起号") & "' ")
Tables("表B").Rows(n-1)("售单张数") = Tables("表A").Compute("Sum(张数)","单证状态 = '售单' and 起号 >= '" & _
Tables("表B").Rows(n-1)("起号") & "' and 起号 <= '" & Tables("表A").Rows(i)("起号") & "' ")
Tables("表B").Rows(n-1)("退废单张数") = Tables("表A").Compute("Sum(张数)","(单证状态 = '退单' or 单证状态 = '废单') and 起号 >= '" & _
Tables("表B").Rows(n-1)("起号") & "' and 起号 < '" & Tables("表A").Rows(i)("起号") & "' ")
Tables("表B").Rows(n-1)("售单金额") = Tables("表A").Compute("Sum(保费)","单证状态 = '售单' and 起号 >= '" & _
Tables("表B").Rows(n-1)("起号") & "' and 起号 <= '" & Tables("表A").Rows(i)("起号") & "' ")
Tables("表B").Rows(n)("序号") = "合计"
Tables("表B").Rows(n)("全部单证张数") = Tables("表B").Compute("Sum(全部单证张数)")
Tables("表B").Rows(n)("售单张数") = Tables("表B").Compute("Sum(售单张数)")
Tables("表B").Rows(n)("退废单张数") = Tables("表B").Compute("Sum(退废单张数)")
Tables("表B").Rows(n)("售单金额") = Tables("表B").Compute("Sum(售单金额)")
Else
If val(Tables("表A").Rows(i)("起号")) - val(Tables("表A").Rows(i-1)("止号")) > 1
Tables("表B").addnew()
Tables("表B").Rows(n-1)("止号") = Tables("表A").Rows(i-1)("止号")
Tables("表B").Rows(n)("起号") = Tables("表A").Rows(i)("起号")
Tables("表B").Rows(n-1)("全部单证张数") = Tables("表A").Compute("Sum(张数)","起号 >= '" & _
Tables("表B").Rows(n-1)("起号") & "' and 起号 < '" & Tables("表B").Rows(n)("起号") & "' ")
Tables("表B").Rows(n-1)("售单张数") = Tables("表A").Compute("Sum(张数)","单证状态 = '售单' and 起号 >= '" & _
Tables("表B").Rows(n-1)("起号") & "' and 起号 < '" & Tables("表B").Rows(n)("起号") & "' ")
Tables("表B").Rows(n-1)("退废单张数") = Tables("表A").Compute("Sum(张数)","(单证状态 = '退单' or 单证状态 = '废单') and 起号 >= '" & _
Tables("表B").Rows(n-1)("起号") & "' and 起号 < '" & Tables("表B").Rows(n)("起号") & "' ")
Tables("表B").Rows(n-1)("售单金额") = Tables("表A").Compute("Sum(保费)","单证状态 = '售单' and 起号 >= '" & _
Tables("表B").Rows(n-1)("起号") & "' and 起号 < '" & Tables("表B").Rows(n)("起号") & "' ")
Tables("表B").Rows(n)("序号") = n+1
n = n + 1
End If
End If
End If
Next
已经收藏,再慢慢参悟学习.感谢狐爸的提示和"mr725"老师的帮助.
"hhbb"您好!
s="起号 Like '" & dr("起号").Substring(0,1) & "*'"
这段代码的意思不大明白,能否说明一下?
"hhbb"您好!
s="起号 Like '" & dr("起号").Substring(0,1) & "*'"
这段代码的意思不大明白,能否说明一下?
起号 包含 起号的第一个字符