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


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

主题:报表自动汇总问题

帅哥哟,离线,有人找我吗?
jacksun
  41楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:68 积分:457 威望:0 精华:0 注册:2018/6/3 23:00:00
  发帖心情 Post By:2018/10/16 15:33:00 [只看该作者]

ICH-20181013-昆山春秋-01
ICH-20181013-昆山春秋-02
ICH-20181014-昆山春秋-03,
图片点击可在新窗口打开查看此主题相关图片如下:wechat screenshot_20181016153122.png
图片点击可在新窗口打开查看
此行因为是14号的,应该定义为ICH-20181014-昆山春秋-01

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  42楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/16 15:38:00 [只看该作者]

改成

 

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 bh As String = "ICH-" & 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 基本信息_产品信息_日期 = #" & d & "# And [_Identify] <> " & e.DataRow("_Identify")
                max = e.DataTable.Compute("Max(基本信息_产品信息_团号)",flt)
                If max > "" Then
                    idx = CInt(max.Substring(max.Length- 2,2)) + 1
                Else
                    idx = 1
                End If
                e.DataRow("基本信息_产品信息_团号") = bh & Format(idx,"00")
            End If
        End If
End Select


 回到顶部
帅哥哟,离线,有人找我吗?
jacksun
  43楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:68 积分:457 威望:0 精华:0 注册:2018/6/3 23:00:00
  发帖心情 Post By:2018/10/16 15:56:00 [只看该作者]

没有看懂这个,这个是团期一览里面的,需要再北京浩洲(已上传foxtable)等分表中显示的,这个团期,然后自动同步到“团期一览”中的

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  44楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/16 16:00:00 [只看该作者]

以下是引用jacksun在2018/10/16 15:56:00的发言:
没有看懂这个,这个是团期一览里面的,需要再北京浩洲(已上传foxtable)等分表中显示的,这个团期,然后自动同步到“团期一览”中的

 

请上传对应实例测试,说明如何操作,最后得到什么效果。


 回到顶部
帅哥哟,离线,有人找我吗?
jacksun
  45楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:68 积分:457 威望:0 精华:0 注册:2018/6/3 23:00:00
  发帖心情 Post By:2018/10/16 16:06:00 [只看该作者]

“中新南宁”表,
数据表,表属性,事件,datacolchanged
现在需要编码
同一日期,同意组团社下,编码为,ICH+日期+“南宁中新”+01
若同一日期有两个团则为ICH+日期+“南宁中新”+02
若不同日期,则后缀则为01

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  46楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/16 16:10:00 [只看该作者]

代码改成

 

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 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 日期 = #" & d & "# And [_Identify] <> " & e.DataRow("_Identify")
                max = e.DataTable.Compute("Max(团号)",flt)
                If max > "" Then
                    idx = CInt(max.Substring(max.Length- 2,2)) + 1
                Else
                    idx = 1
                End If
                e.DataRow("团号") = bh & Format(idx,"00")
            End If
        End If
End Select


 回到顶部
帅哥哟,离线,有人找我吗?
jacksun
  47楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:68 积分:457 威望:0 精华:0 注册:2018/6/3 23:00:00
  发帖心情 Post By:2018/10/16 16:51:00 [只看该作者]

已解决,谢谢版主

 回到顶部
帅哥哟,离线,有人找我吗?
jacksun
  48楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:68 积分:457 威望:0 精华:0 注册:2018/6/3 23:00:00
  发帖心情 Post By:2018/10/19 15:29:00 [只看该作者]

版主好,我研究了一下,没有找到几个窗口汇总到一起的方法,请版主指教
现在的想法是:
“团期一览”表格中
“日期”“团号”“组团社”“产品结构”列里面的数据,全部集合来自于
分表     “北京浩洲”“中新难宁”“辽宁北方”“福州厦航”“FIT团”窗口中的数据。
任何分表中数据有变动/增加行/删除行,实时反映到“团期一览“表格中。
不知道怎么写这个代码。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:操团系统.table



 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  49楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105965 积分:538900 威望: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jacksun
  50楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:68 积分:457 威望:0 精华:0 注册:2018/6/3 23:00:00
  发帖心情 Post By:2018/10/19 15:57:00 [只看该作者]

Select Case e.DataCol.name
    Case "团号"
        Dim dr As DataRow = DataTables("团期一览").Find("基本信息_团号 = '" & e.OldValue & "'")
        If dr Is Nothing Then
            dr = DataTables("团期一览").AddNew()
            dr("基本信息_日期") = e.DataRow("日期")
            dr("基本信息_团号") = e.DataRow("团号")
            dr("基本信息_组团社") = e.DataRow("组团社")
            dr("基本信息_产品结构") = e.DataRow("产品结构")
        Else
            dr("基本信息_团号") = e.DataRow("团号")
        End If
    Case "基本信息_日期","基本信息_组团社","基本信息_产品结构"
        Dim dr As DataRow = DataTables("团期一览").Find("基本信息_团号 = '" & e.DataRow("团号") & "'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select

这个是之前的代码,但是上面上传的程序里面,不好用
有没有可以在”团期一览“datacolchanged写的,同时也方便一些

 回到顶部
总数 115 上一页 1 2 3 4 5 6 7 8 9 10 下一页 ..12