Foxtable(狐表)用户栏目专家坐堂 → 如何求和?谢谢


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

主题:如何求和?谢谢

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/1/10 12:14:00 [显示全部帖子]

估计是他没有定义colnames列名称集合!

............   '前面是他原来的代码
dim colnames as New List(Of String)
For Each cl As Col In CurrentTable.Cols
    colnames.add(cl.Name)
Next 
 '加入该红色部分代码段
For T As Integer = 8 To ColNames.Count - 1 '逐列设置和填入内容
    If tb.Cols(ColNames(T)).IsNumeric then
        rs2.Cells(cnt,T).Text = tb.Compute("Sum(" & ColNames(T) & ")")
    End If
Next

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/1/10 12:24:00 [显示全部帖子]

他的问题为什么我不敢轻易动手:

1、要么没文件;
2、要么只有半截子代码;(一看里面的大部分变量就知道前面还有代码)
3、要么就一下子把整个很长的代码全贴出来,让人眼花缭乱,又苦于无测试文件(狐表增加、插入代码可谓所见即所得,为何不一边写代码以便测试,测试通不过的代码段加以说明再贴出来?),工作忙的时候,自然就是望而生畏了!
[此贴子已经被作者于2010-1-10 12:24:52编辑过]

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/1/10 15:48:00 [显示全部帖子]

学习精神可嘉,大家并不是不赞成,也在不同程度地帮助,只是希望提问方法还需要提高一下。

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/1/10 15:53:00 [显示全部帖子]

您没有看看窗口打印?应该不亚于易表的报表设计工具吧?


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/1/10 15:55:00 [显示全部帖子]

说正事吧,问题找到了没有,没有的话发文件!


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/1/10 18:33:00 [显示全部帖子]

1、不是的,您的表确实不能统计,原因是您的那些津贴列(涉及到金额的所有列)为什么不设置为双精度小属型?全部是字符型,如何统计?
2、您用的是1229版?好像有问题,就像原来有用户提出的无法更改表结构,现在是改为双精度小数型就报错!

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/1/10 18:48:00 [显示全部帖子]

逐个修改、压缩项目,重启,终于搞定!

增加合计没必要像您那么麻烦:

 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:实例一.rar


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/1/10 18:55:00 [显示全部帖子]

我没仔细研究您的其他代码,只增加了这几行:

Dim Sum As Double
Sum = Tables("调标表").Compute("Sum(调整前地方津贴补贴)","单位名称 = '" & ck.value & "'")
Rs2.Cells(cnt,8).Text = sum '设置表格内最后一行第九个单元格填入文本,因为前八个合并,所以从第九个算起
Sum = Tables("调标表").Compute("Sum(调整后地方津贴补贴)","单位名称 = '" & ck.value & "'")
Rs2.Cells(cnt,9).Text = sum '设置表格内最后一行第十个单元格填入文本
Sum = Tables("调标表").Compute("Sum(月增资额)","单位名称 = '" & ck.value & "'")
Rs2.Cells(cnt,10).Text = sum '设置表格内最后一行第十一个单元格填入文本
Sum = Tables("调标表").Compute("Sum(补发合计)","单位名称 = '" & ck.value & "'")
Rs2.Cells(cnt,12).Text = sum '设置表格内最后一行第十三个单元格填入文本

您自己可以根据您原来的代码调整并进行简化!

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/1/10 18:58:00 [显示全部帖子]

以下是引用yangming在2010-1-10 18:48:00的发言:
将最后五列改成双精度小数,然后加上以下代码在合计下面,网格线上面
For T As Integer = 8 To ColNames.Length - 1 '逐列设置和填入内容
    If tb.Cols(ColNames(T)).IsNumeric then
        rs2.Cells(cnt,T).Text = tb.Compute("Sum(" & ColNames(T) & ")")
    End If
Next



      楼主的报表是经过筛选了的,必须指定sum()的合计条件!


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2010/1/10 19:05:00 [显示全部帖子]

楼主这样的变量定义完全是绕弯子:

Dim ck As WinForm.ComBoBox = e.Form.Controls("输入单位名称")

直接定义为:

Dim ck As string = e.Form.Controls("输入单位名称").value  ’因为e.Form.Controls("输入单位名称")的当前值为字符型

这样一来其他所有地方直接引用ck 即可,没必要再引用为 ck.value ,甚至引用的地方少的话可以直接引用e.Form.Controls("输入单位名称").value

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