Foxtable(狐表)用户栏目专家坐堂 → 报表自动汇总问题


  共有16363人关注过本帖树形打印复制链接

主题:报表自动汇总问题

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106115 积分:539686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/6/12 20:30:00 [显示全部帖子]

1、代码放到项目的afteropenproject事件,或者设计一个窗口,放到窗口按钮点击事件中
2、不需要理会
3、参考这里进度的用法:http://www.foxtable.com/webhelp/scr/1493.htm

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106115 积分:539686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/6/19 23:09:00 [显示全部帖子]

2、drawcell事件
Select Case e.Col.Name
    Case "团期进度"
        If e.Row.IsNull("国际航班_入境日期") OrElse e.Row.IsNull("国际航班_出境日期") Then
        Else
            Dim sum As Double = (cdate(e.Row("国际航班_出境日期")) - cdate(e.Row("国际航班_入境日期"))).Totaldays
            If sum = 0 Then Return
            Dim h As Double = (Date.Today - cdate(e.Row("国际航班_入境日期"))).Totaldays
            Dim v As Double =h/sum*100
            e.StartDraw()
            Dim Width As Integer = (e.Width - 2 )* v \ 100
            If v = 100 Then
                e.Graphics.FillRectangle(Brushes.Green,e.x + 1,e.y + 1, Width, e.Height - 2)
            Else
                e.Graphics.FillRectangle(Brushes.Red,e.x + 1,e.y + 1, Width, e.Height - 2)
            End If
            e.EndDraw()
        End If
End Select

3、DataColChanged事件,清空团号,然后重置列
Select e.DataCol.Name
    Case "基本信息_日期","基本信息_组团社"
        If e.DataRow.IsNull("基本信息_日期") OrElse e.DataRow.IsNull("基本信息_组团社") Then
            e.DataRow("基本信息_团号") = Nothing
        Else
            Dim d As Date = e.DataRow("基本信息_日期")
            Dim y As Integer = d.Year
            Dim m As Integer = d.Month
            Dim Days As Integer = Date.DaysInMonth(y,m)
            Dim fd As Date = New Date(y,m,1)
            Dim ld As Date = New Date(y,m,Days)
            Dim bh As String = "EZKQ-" & Format(d,"yyyyMMdd") & "-" & e.DataRow("基本信息_组团社") & "-"
            If e.DataRow("基本信息_团号").StartsWith(bh) = False
                Dim max As String
                Dim idx As Integer
                Dim flt As String
                flt = "基本信息_组团社 = '" & e.DataRow("基本信息_组团社") & "' And 基本信息_日期 >= #" & fd & "# And 基本信息_日期 <= #" & ld & "# And [_Identify] <> " & e.DataRow("_Identify")
                max = e.DataTable.Compute("Max(基本信息_团号)",flt)
                If max > "" Then
                    idx = CInt(max.Substring(max.Length- 4,4)) + 1
                Else
                    idx = 1
                End If
                e.DataRow("基本信息_团号") = bh & Format(idx,"0000")
            End If
        End If
End Select

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106115 积分:539686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/16 14:16:00 [显示全部帖子]

数据更新参考:http://www.foxtable.com/webhelp/scr/1453.htm

团号一样可以参考编号的用法:http://www.foxtable.com/webhelp/scr/2403.htm

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106115 积分:539686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/19 15:45:00 [显示全部帖子]


分表datacolchanged事件

Select Case e.DataCol.Name
    Case "日期","酒店地区1","入住日期1",...其他列自己补上...
        Dim Filter As String = "[团号] = '" & e.DataRow("团号") & "'"
        Dim dr As DataRow = DataTables("团期一览").Find(Filter)
        If dr Is Nothing
            dr = DataTables("团期一览").AddNew
            dr("团号") = e.DataRow("团号")
        End If
        dr(e.DataCol.Name) = e.NewValue
        
End Select
[此贴子已经被作者于2018/10/19 15:45:31编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106115 积分:539686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/19 16:06:00 [显示全部帖子]

不好用具体是什么?必须在各个分表里写代码同步数据

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106115 积分:539686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/19 16:31:00 [显示全部帖子]

50楼的代码我测试没有任何问题。删除测试也没有问题

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106115 积分:539686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/19 17:16:00 [显示全部帖子]

代码里e.OldValue 改为e.NewValue  

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106115 积分:539686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/19 17:45:00 [显示全部帖子]

只要改分表的数据,”团期一览“表可以更新,我测试没有问题

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106115 积分:539686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/26 13:57:00 [显示全部帖子]

哪个表,哪个窗口,哪个事件有问题?怎么操作会出现错误?

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106115 积分:539686 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/10/26 15:00:00 [显示全部帖子]

我打开没有任何错误。打开那个窗口?

 回到顶部
总数 20 1 2 下一页