Foxtable(狐表)用户栏目专家坐堂 → [求助]下列加红字的一段代码如何修改?


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

主题:[求助]下列加红字的一段代码如何修改?

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


加好友 发短信
等级:五尾狐 帖子:1145 积分:8926 威望:0 精华:0 注册:2012/7/10 9:09:00
[求助]下列加红字的一段代码如何修改?  发帖心情 Post By:2014/9/20 10:26:00 [只看该作者]

[求助]下列加红字的一段代码如何修改?姓名列有时会以两个人或三个人的名字出现,如王五、刘七、张八,在一个单元格,用顿号分开,这时如何进行计数统计
Dim tm As String  = ProjectPath & "Attachments\任免汇报.doc" 
Dim fl As String = ProjectPath & "Reports\任免汇报.doc" 
Dim wrt As New WordReport(Tables("政府会议_任免"),tm,fl) '定义一个WordReport
wrt.Replace("[计数]",Tables("政府会议_任免").Compute("Count(姓名)")) '用代码计算出总的销售数量并替换模板中的合计
wrt.Replace("[列表]",Tables("政府会议_任免").DataTable.GetComboListString("内容",Tables("政府会议_任免").Filter,"序列号").Replace("|",vbcrlf & "")) 
wrt.Replace("[文号]",Tables("政府会议_任免").DataTable.GetComboListString("文号",Tables("政府会议_任免").Filter,"序列号").Replace("|","、")) 
wrt.Build() '生成报表
wrt.Show() '显示报表

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/9/20 10:52:00 [只看该作者]

比如计算王五
wrt.Replace("[计数]",Tables("政府会议_任免").Compute("Count(姓名)","姓名 ='王五' or 姓名 like '王五,%' or 姓名 like '%,王五'") )

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


加好友 发短信
等级:五尾狐 帖子:1145 积分:8926 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2014/9/22 8:09:00 [只看该作者]

统计一列的姓名有多少个,不是统计王五


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


加好友 发短信
等级:五尾狐 帖子:1145 积分:8926 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2014/9/22 8:12:00 [只看该作者]

其中一个或多个单元格有两个人的姓名,一个单元格里的两个人的姓名用顿号分开,如何统计

[此贴子已经被作者于2014-9-22 8:12:34编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/9/22 8:36:00 [只看该作者]

分开储存更加利于统计.这样只能遍历统计.效率很差.

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


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

 需要额外处理,参考代码

 

Dim count As Integer = 0
For Each r As Row In Tables("表A").Rows
    If r.IsNull("第三列") = False Then
        count += r("第三列").split(",").Length
    End If
Next
msgbox(count)


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


加好友 发短信
等级:五尾狐 帖子:1145 积分:8926 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2014/9/22 12:22:00 [只看该作者]

这段代码放在哪里呢


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


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

 呃,写到你原本的代码中去,把对应的改一下啊,你现在还看不懂代码?

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


加好友 发短信
等级:五尾狐 帖子:1145 积分:8926 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2014/9/22 15:10:00 [只看该作者]

很惭愧,学的不深,我放进去后,不知道怎么调整,谢谢

'''
Dim tm As String  = ProjectPath & "Attachments\任免汇报.doc"
Dim fl As String = ProjectPath & "Reports\任免汇报.doc"
Dim wrt As New WordReport(Tables("政府会议_任免"),tm,fl) '定义一个WordReport
Dim count As Integer = 0
For Each r As Row In Tables("任免表").Rows
    If r.IsNull("姓名") = False Then
        count += r("姓名").split("、").Length
    End If
Next
'msgbox(count)
wrt.Replace("[计数]",Tables("政府会议_任免").Compute("Count")) '用代码计算出总的销售数量并替换模板中的合计
wrt.Replace("[列表]",Tables("政府会议_任免").DataTable.GetComboListString("内容",Tables("政府会议_任免").Filter,"序列号").Replace("|",vbcrlf & ""))
wrt.Replace("[文号]",Tables("政府会议_任免").DataTable.GetComboListString("文号",Tables("政府会议_任免").Filter,"序列号").Replace("|","、"))
wrt.Build() '生成报表
wrt.Show() '显示报表

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


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

wrt.Replace("[计数]", count) '用代码计算出总的销售数量并替换模板中的合计

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