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


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

主题:报表自动汇总问题

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


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

代码写到 DataColChanged 事件

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


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

已经写到DataColChanged事件,但是还是没有反应,不知道什么设置错了。
图片点击可在新窗口打开查看此主题相关图片如下:capture.png
图片点击可在新窗口打开查看

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


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

重置列

 

图片点击可在新窗口打开查看


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


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

版主早,严格按照版主的要求,进行操作的,无反应,不知道是什么地方出了问题
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:操团系统.table


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/21 8:55: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 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

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


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

版主好,现在编程过程中,出现如下问题,希望版主指点
这个操团系统的主要分成几个表
第一个是主表-团期一览
下设分表-北京浩洲-中新南宁-辽宁北方,福州厦航,FIT团等(这些是客户名称,后续可能会删改)
现在需要的逻辑是,在分表中增加/删减/改动信息,希望通过编程自动同步到
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:排团系统.table

团期一览工作表中

至于分表中的团号列(辽宁北方等),已经成功用代码自动填写出来,现在的问题,最后的后缀两位数,
希望能设置成同一日期抵达的自动排列为01/02/03.。。
不同日期的全部都是后缀成01 ,不知道怎么再修改代码,希望版主指导。

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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望: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

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


加好友 发短信
等级:幼狐 帖子:68 积分:457 威望:0 精华:0 注册:2018/6/3 23:00:00
  发帖心情 Post By:2018/10/16 15:05: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 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 = "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 日期 >= #" & fd & "# And 日期 <= #" & ld & "# 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
  39楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

如果,2018年09月11号,有3个团到达,组团社为ZXZD希望写成ICH-20180911-ZSZD-01
如果同一日期有两个团,则写成ICH-2018091-ZSZD-02
 09月12号的团,依然写成ICH-20180912-ZSZD-01
但是现在写出来的代码不是这样的,不同日期也会排进去的

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/10/16 15:20: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 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 = "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 基本信息_产品信息_日期 >= #" & fd & "# And 基本信息_产品信息_日期 <= #" & ld & "# 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

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