Foxtable(狐表)用户栏目专家坐堂 → 主表调用多个子表的汇总数据无法统计文集


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

主题:主表调用多个子表的汇总数据无法统计文集

帅哥哟,离线,有人找我吗?
G流星雨
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:136 积分:1361 威望:0 精华:0 注册:2017/2/25 22:34:00
主表调用多个子表的汇总数据无法统计文集  发帖心情 Post By:2017/4/1 17:00:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:销售合同.table

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
问题:
1、总表需要汇总 单个表格的汇总销售额,是否有办法直接统计到汇总额里边?我的现在直接建立关联表统计过来,不在同一列。
2、南京1和南京2需要合力完成目标,单独统计销售总额,目标值和结存需要合并,是否能实现?
3、南京,苏州,无锡三个地方的合同编号不允许重复,如果重复,进行提示,南京苏州无锡都是使用窗口模式进行录入,如何保障南京窗口录入合同编号不与无锡苏州重复?南京合同编号列设置了重复不允许,但是窗口仍然可以输入重复项,不知问题在哪?
4、登录日志:
       1、第一个方式:原表格使用的是互联网+SQL sever,日志是否可以保存TXT文件到服务器,表格里的记录保留3个月的,滚动删除是否可以?
       2、第二个方式;表格直接保留1年记录,滚动删除是否能实现?
      
5、管理员是否有增加用户名和表的功能?如一个用户对应一个表,当添加一个用户时系统直接添加对应的“常州”表?
望高手指导一下

 回到顶部
帅哥哟,离线,有人找我吗?
G流星雨
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:136 积分:1361 威望:0 精华:0 注册:2017/2/25 22:34:00
  发帖心情 Post By:2017/4/1 17:00:00 [显示全部帖子]

最新的附件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:销售合同.table

楼上的表取消,使用本楼的表
[此贴子已经被作者于2017/4/1 17:02:28编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
G流星雨
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:136 积分:1361 威望:0 精华:0 注册:2017/2/25 22:34:00
  发帖心情 Post By:2017/4/1 19:38:00 [显示全部帖子]

谢谢,我试试这几个方法,

 回到顶部
帅哥哟,离线,有人找我吗?
G流星雨
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:136 积分:1361 威望:0 精华:0 注册:2017/2/25 22:34:00
  发帖心情 Post By:2017/4/1 20:41:00 [显示全部帖子]

项目事件MainTableChanged中加入下面的代码:

If MainTable.Name = "总表" Then
    DataTables("总表").DataCols("公司名称").RaiseDataColChanged()
End If


DataColChanged事件 中设置如下代码:

If e.DataCol.Name = "公司名称" Then '发生变化的是产品列.
    '则累计订单表中同名产品总的销售量,然后赋值给变动行的数量列
    e.DataRow("销售汇总") = DataTables("南京").Compute("Sum(销售额)","[公司名称] = '" & e.NewValue & "'")
    e.DataRow("销售汇总") = DataTables("苏州").Compute("Sum(销售额)","[公司名称] = '" & e.NewValue & "'")
    e.DataRow("销售汇总") = DataTables("无锡").Compute("Sum(销售额)","[公司名称] = '" & e.NewValue & "'")

End If



销售汇总中没有数据过来,不知道哪有问题?

 回到顶部
帅哥哟,离线,有人找我吗?
G流星雨
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:136 积分:1361 威望:0 精华:0 注册:2017/2/25 22:34:00
  发帖心情 Post By:2017/4/6 13:55:00 [显示全部帖子]

谢谢,色大师。
第一个问题:

根据你的代码,发现只有公司名称,在总表和分表标题以及分表的列是同名才会统计。
比如:总表----南京
        分表标题---南京
        分表公司名称列----南京
        才会统计到总表里边。

          分表公司名称列----南京1  就不会统计了。
第二个问题:
   窗口里的TextBox的初始值设置了以后,应用窗口时没有显示?有办法设定初始值吗?
1、窗口里的TextBox输入的合同编号的前几位使用固定字母,不知道有什么办法?
2、窗口里的TextBox输入合同编号要检测整个表内不能有重复项,这个已经有蓝大师的方法搞定,不过存在初始值会报重复值错误,能否实现整表除了初始值,其他重复项报错?下列代码改了后还是有点问题.
If e.DataCol.Name = "合同编号" Then
    Dim dr As DataRow 
     dr = e.DataTable.Find("合同编号 = '" & e.NewValue & "'")

    If dr IsNot Nothing and dr isnot "NANJING" Then

        MessageBox.Show("此合同号已经存在!")
         e.Cancel = True
      
    End If

End If

 回到顶部
帅哥哟,离线,有人找我吗?
G流星雨
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:136 积分:1361 威望:0 精华:0 注册:2017/2/25 22:34:00
[求助]  发帖心情 Post By:2017/4/6 14:48:00 [显示全部帖子]

1、总表里的321和 三峡 无法统计过来,帮忙看看是那个地方的问题。
2、重复项问题已经解决,原来是把代码写到(DataColChanged某一列的内容被更改后执行,此时列的内容已经是更改后的值。)造成的
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:销售合同1.table





3、登录日志:
       1、第一个方式:原表格使用的是互联网+SQL sever,日志是否可以保存TXT文件到服务器,表格里的记录保留3个月的,滚动删除是否可以?
       2、第二个方式;表格直接保留1年记录,滚动删除是否能实现?

      使用计划管理的话,要保存1年半的记录,对于毫秒来说,数字太大。并且好像是不能够滚动删除,有没有其他办法?
[此贴子已经被作者于2017/4/6 14:55:59编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
G流星雨
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:136 积分:1361 威望:0 精华:0 注册:2017/2/25 22:34:00
  发帖心情 Post By:2017/4/6 15:46:00 [显示全部帖子]

1、这一条应该没啥问题。
2、3个月滚动是保留从现在时间向后推迟3个月的记录,超过3个月的记录删除。

 回到顶部
帅哥哟,离线,有人找我吗?
G流星雨
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:136 积分:1361 威望:0 精华:0 注册:2017/2/25 22:34:00
  发帖心情 Post By:2017/4/6 16:03:00 [显示全部帖子]

我是仿照别人的表做了一个系统数据操作日志表,记录所有的更改等一大堆的信息
1、这几天调试就已经200多行了,比我用的数据表的信息量都大。
2、这样用起来1年还不知道有多大的数据在里边,为了有可追溯,准备只保留一年半的数据
3、如果能够实现日志文件自动保存TXT上传服务器,这样我的日志表就可以只显示3个月的信息就行了

If e.DataTable.Name <> "系统数据操作日志表"  Then
    If e.DataRow.RowState = 2 Then
        Return
    Else
        Dim dr As DataRow = DataTables("系统数据操作日志表").AddNew
        dr("ID") = e.DataRow("_Identify")
        dr("用户") = User.Name
        dr("涉及表") = e.DataTable.Name
        dr("涉及列") = e.DataCol.Name
        dr("涉及行") = e.DataRow("_Identify")
        dr("时间") = Date.Now
        dr("操作") = """" & e.OldValue &  """ 改成了 """ & e.NewValue & """"
        Dim str As String = ""
        For Each c As DataCol In e.DataTable.DataCols
            If c.name = e.DataCol.name Then
                str += c.Name & "=" & e.oldvalue & "|"
            Else
                str += c.Name & "=" & e.DataRow(c.Name) & "|"
            End If
        Next
        dr("原始数据") = str
    End If

[此贴子已经被作者于2017/4/6 16:10:12编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
G流星雨
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:136 积分:1361 威望:0 精华:0 注册:2017/2/25 22:34:00
  发帖心情 Post By:2017/4/7 9:48:00 [显示全部帖子]

谢谢你的建议,O(∩_∩)O~

 回到顶部
帅哥哟,离线,有人找我吗?
G流星雨
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:136 积分:1361 威望:0 精华:0 注册:2017/2/25 22:34:00
  发帖心情 Post By:2017/4/7 9:57:00 [显示全部帖子]

问下色大师
1、软件开发完成发布时,选择开发者退出用户组,后续内容需要添加使用管理员权限是否可以继续开发?
2、发布版没有开发者存在,没编译的继续开发过程中,表的变化会不会影响已经发布使用的软件运行?肯定是在原来数据库(服务器SQL)的基础上进一步完善的,会影响发布版的使用吗?

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