以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 复杂统计 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=148460) |
||||
-- 作者:nxqtxwz -- 发布时间:2020/4/8 13:23:00 -- 复杂统计 老师您好,想实现学生情况表中的记录发生变化,状况统计表中的数据跟着发生变化,请问老师代码怎么写呢?
|
||||
-- 作者:有点蓝 -- 发布时间:2020/4/8 14:12:00 -- 参考:http://www.foxtable.com/webhelp/topics/1472.htm |
||||
-- 作者:nxqtxwz -- 发布时间:2020/4/8 15:26:00 -- 还是请老师给个例子吧,水平低弄不了。谢谢。
|
||||
-- 作者:有点蓝 -- 发布时间:2020/4/8 16:22:00 -- 学生情况表 Select Case e.DataCol.Name Case "当前状态" Dim pr As DataRow If e.OldValue > "" pr = DataTables("状况统计").Find("当前状态 = \'" & e.OldValue & "\'") If pr IsNot Nothing Then DataTables("状况统计").DataCols("当前状态").RaiseDataColChanged(pr) End If End If If e.NewValue > "" pr = DataTables("状况统计").Find("当前状态 = \'" & e.NewValue & "\'") If pr IsNot Nothing Then DataTables("状况统计").DataCols("当前状态").RaiseDataColChanged(pr) End If End If Case "年龄","建档立卡","本在本","本在外","补录" Dim pr As DataRow pr = DataTables("状况统计").Find("当前状态 = \'" & e.DataRow("当前状态") & "\'") If pr IsNot Nothing Then DataTables("状况统计").DataCols("当前状态").RaiseDataColChanged(pr) End If End Select 统计表 If e.DataCol.Name = "当前状态" Then Dim Filter As String = "[当前状态] = \'" & e.NewValue & "\'" e.DataRow("以下_建档") = DataTables("学生情况").Compute("count(姓名)", Filter & " and 年龄 < 16 and 建档立卡=true") e.DataRow("以上_补录") = DataTables("学生情况").Compute("count(姓名)", Filter & " and 年龄 >= 16 and 补录=\'补录\'") End If |