Foxtable(狐表)用户栏目专家坐堂 → [求助]计算非重复值的行数


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

主题:[求助]计算非重复值的行数

帅哥哟,离线,有人找我吗?
沪上游客
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:266 积分:2150 威望:0 精华:0 注册:2012/3/28 16:49:00
[求助]计算非重复值的行数  发帖心情 Post By:2023/1/9 15:25:00 [只看该作者]

老师您好!
如下图:

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20230109151504.jpg
图片点击可在新窗口打开查看

如果Tables(不是DataTables)中列“主合同编号”中多行只有一个主合同编号(重复或单个),那么加载指定关联表,否则不加载。
相当于排除重复值后行数等于1就加载,否则不加载关联表。
请问代码怎么写?写在那个表事件?

我的AfterLoad 表事件代码如下:
Tables("支出合同基础数据").Sort = "财务编号"
e.DataTable.LoadChildren("支出合同收支表")
e.DataTable.LoadChildren("支出合同印花税统计表")
e.DataTable.LoadChildren("支出合同补充或决算")
e.DataTable.LoadChildren("支出合同研发成本")
DataTables("支出合同基础数据").DataCols("乙方单位名称").RaiseDataColChanged()
DataTables("支出合同基础数据").Save()
With Tables("支出合同基础数据")
    .MergeMode = MergeModeEnum.Standard
    .MergeCols.Clear()
    .MergeCols.Add("主合同编号")
    .MergeCols.Add("财务编号")
    .MergeCols.Add("工程名称")
    .MergeSort = "主合同编号,财务编号,工程名称"
    .AllowMerge = True
End With
[此贴子已经被作者于2023/1/9 15:36:36编辑过]

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/1/9 15:55:00 [只看该作者]

没理解上面的意思。

比如上面表格20行数据,都是同一个主合同编号的就加载子表数据?

 回到顶部
帅哥哟,离线,有人找我吗?
沪上游客
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:266 积分:2150 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2023/1/11 11:57:00 [只看该作者]

对的,是这个意思,谢谢老师,代码怎么写?

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/1/11 12:06:00 [只看该作者]

参考:http://www.foxtable.com/webhelp/topics/2712.htm

Tables("支出合同基础数据").RepeatFilter("主合同编号"3)
if Tables("支出合同基础数据").rows.count > 1 then
msgbox("有多个主合同编号")
else
加载子表数据的代码
end if

 回到顶部
帅哥哟,离线,有人找我吗?
沪上游客
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:266 积分:2150 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2023/1/14 12:01:00 [只看该作者]

老师你好!
这样的话,每次加载,“支出合同基础表”表只显示唯一值,有没有直接计算唯一值的数值(也就是上面代码执行后的行数)>1的代码?
以前我做过是在窗口的,设置两个表,一表是隐藏计算,另一个表是显示。
谢谢老师!
[此贴子已经被作者于2023/1/14 12:04:46编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
沪上游客
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:266 积分:2150 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2023/1/14 12:12:00 [只看该作者]

如果没有的话,那只能在共有窗口加一个隐藏表,就设置一列“主合同编号”,同步加载后计算,这样能行吗?
[此贴子已经被作者于2023/1/14 12:21:27编辑过]

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/1/14 13:10:00 [只看该作者]

if DataTables("支出合同基础数据").getvalues("主合同编号").count > 1 then

 回到顶部
帅哥哟,离线,有人找我吗?
沪上游客
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:266 积分:2150 威望:0 精华:0 注册:2012/3/28 16:49:00
  发帖心情 Post By:2023/1/14 19:30:00 [只看该作者]

谢谢蓝老师!图片点击可在新窗口打开查看

 回到顶部