Foxtable(狐表)用户栏目专家坐堂 → 用按钮统计数据问题


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

主题:用按钮统计数据问题

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/14 9:43:00 [只看该作者]

如果不用10楼的方法修改。那你可以不改代码,你直接把编号列改成字符类型的列即可。

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2017/2/14 10:24:00 [只看该作者]

For Each dr As DataRow In DataTables("合同表").Select("")
    '全年应返数量
    Dim dt1 As DataTable=DataTables("批发表")
    Dim dt2 As DataTable=DataTables("入库表")
    Dim dt3 As DataTable=DataTables("收缴表")
    Dim YFSL1 As Double = dt1.Compute("sum(数量)", "高开编号 = '" & val(dr("财务编号")))
    Dim YFSL2 As Double = dt1.Compute("sum(数量)", "返利编号 = '" & val(dr("财务编号")))
    Dim YFSL3 As Double = dt2.Compute("sum(数量)", "高开编号 = '" & val(dr("财务编号")))
    Dim YFSL4 As Double = dt2.Compute("sum(数量)", "返利编号 = '" & val(dr("财务编号")))
    dr("全年应返数量") = YFSL1 + YFSL2+ YFSL3+ YFSL4
    '全年应返金额
    Dim YFJE1 As Double = dt1.Compute("sum(返利应返金额)", "返利编号 = '" & val(dr("财务编号")))
    Dim YFJE2 As Double = dt1.Compute("sum(高开应返金额)", "高开编号 = '" & val(dr("财务编号")))
    Dim YFJE3 As Double = dt2.Compute("sum(返利应返金额)", "返利编号 = '" & val(dr("财务编号")))
    Dim YFJE4 As Double = dt2.Compute("sum(高开应返金额)", "高开编号 = '" & val(dr("财务编号")))
    dr("全年应返金额") = YFJE1 + YFJE2+ YFJE3+ YFJE4
    
    '全年已返数量
    Dim FHSL As Double = dt3.Compute("sum(收缴数量)", "财务编号 = '" & val(dr("财务编号")))
    dr("全年已返数量") = FHSL
    
    '全年已返金额
    Dim FHJE As Double = dt3.Compute("sum(收缴金额)", "财务编号 = '" & val(dr("财务编号")))
    dr("全年已返金额") = FHJE
    
    '全年未返数量
    dr("全年未返数量")= dr("全年应返数量")-dr("全年已返数量")
    dr("全年未返金额")= dr("全年应返金额")-dr("全年已返金额")
Next

有点色老师,我把代码改成以上这样,结果出现如下错误提示:




 Framework 版本:2.0.50727.3649
Foxtable 版本:2016.7.29.1
错误所在事件:窗口,数据统计,Button1,Click
详细错误信息:
表达式包含无效的字符串常量: '201600001。




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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2017/2/14 10:38:00 [只看该作者]

有点色老师,我把代码改了,如下:
For Each dr As DataRow In DataTables("合同表").Select("")
    '全年应返数量
    Dim dt1 As DataTable=DataTables("批发表")
    Dim dt2 As DataTable=DataTables("入库表")
    Dim dt3 As DataTable=DataTables("收缴表")
    Dim YFSL1 As Double = dt1.Compute("sum(数量)", "高开编号 = '" & val(dr("财务编号")))
    Dim YFSL2 As Double = dt1.Compute("sum(数量)", "返利编号 = '" & val(dr("财务编号")))
    Dim YFSL3 As Double = dt2.Compute("sum(数量)", "高开编号 = '" & val(dr("财务编号")))
    Dim YFSL4 As Double = dt2.Compute("sum(数量)", "返利编号 = '" & val(dr("财务编号")))
    dr("全年应返数量") = YFSL1 + YFSL2+ YFSL3+ YFSL4
    '全年应返金额
    Dim YFJE1 As Double = dt1.Compute("sum(返利应返金额)", "返利编号 = '" & val(dr("财务编号")))
    Dim YFJE2 As Double = dt1.Compute("sum(高开应返金额)", "高开编号 = '" & val(dr("财务编号")))
    Dim YFJE3 As Double = dt2.Compute("sum(返利应返金额)", "返利编号 = '" & val(dr("财务编号")))
    Dim YFJE4 As Double = dt2.Compute("sum(高开应返金额)", "高开编号 = '" & val(dr("财务编号")))
    dr("全年应返金额") = YFJE1 + YFJE2+ YFJE3+ YFJE4
    
    '全年已返数量
    Dim FHSL As Double = dt3.Compute("sum(收缴数量)", "财务编号 = '" & val(dr("财务编号")))
    dr("全年已返数量") = FHSL
    
    '全年已返金额
    Dim FHJE As Double = dt3.Compute("sum(收缴金额)", "财务编号 = '" & val(dr("财务编号")))
    dr("全年已返金额") = FHJE
    
    '全年未返数量
    dr("全年未返数量")= dr("全年应返数量")-dr("全年已返数量")
    dr("全年未返金额")= dr("全年应返金额")-dr("全年已返金额")
Next

出现如下错误提示,是怎么回事。

.NET Framework 版本:2.0.50727.3649
Foxtable 版本:2016.7.29.1
错误所在事件:窗口,数据统计,Button1,Click
详细错误信息:
表达式包含无效的字符串常量: '201600001。


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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2017/2/14 10:56:00 [只看该作者]

有点色老师,我改完了,代码如下:
For Each dr As DataRow In DataTables("合同表").Select("")
    '全年应返数量
    Dim dt1 As DataTable=DataTables("批发表")
    Dim dt2 As DataTable=DataTables("入库表")
    Dim dt3 As DataTable=DataTables("收缴表")
    Dim YFSL1 As Double = dt1.Compute("sum(数量)", "高开编号 = '" & val(dr("财务编号")))
    Dim YFSL2 As Double = dt1.Compute("sum(数量)", "返利编号 = '" & val(dr("财务编号")))
    Dim YFSL3 As Double = dt2.Compute("sum(数量)", "高开编号 = '" & val(dr("财务编号")))
    Dim YFSL4 As Double = dt2.Compute("sum(数量)", "返利编号 = '" & val(dr("财务编号")))
    dr("全年应返数量") = YFSL1 + YFSL2+ YFSL3+ YFSL4
    '全年应返金额
    Dim YFJE1 As Double = dt1.Compute("sum(返利应返金额)", "返利编号 = '" & val(dr("财务编号")))
    Dim YFJE2 As Double = dt1.Compute("sum(高开应返金额)", "高开编号 = '" & val(dr("财务编号")))
    Dim YFJE3 As Double = dt2.Compute("sum(返利应返金额)", "返利编号 = '" & val(dr("财务编号")))
    Dim YFJE4 As Double = dt2.Compute("sum(高开应返金额)", "高开编号 = '" & val(dr("财务编号")))
    dr("全年应返金额") = YFJE1 + YFJE2+ YFJE3+ YFJE4
    
    '全年已返数量
    Dim FHSL As Double = dt3.Compute("sum(收缴数量)", "财务编号 = '" & val(dr("财务编号")))
    dr("全年已返数量") = FHSL
    
    '全年已返金额
    Dim FHJE As Double = dt3.Compute("sum(收缴金额)", "财务编号 = '" & val(dr("财务编号")))
    dr("全年已返金额") = FHJE
    
    '全年未返数量
    dr("全年未返数量")= dr("全年应返数量")-dr("全年已返数量")
    dr("全年未返金额")= dr("全年应返金额")-dr("全年已返金额")
Next



但出现如下错误提示:


.NET Framework 版本:2.0.50727.3649
Foxtable 版本:2016.7.29.1
错误所在事件:窗口,数据统计,Button1,Click
详细错误信息:
表达式包含无效的字符串常量: '201600001。



这是怎么回事?

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2017/2/14 10:56:00 [只看该作者]

不好意思,发重了。


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/14 11:09:00 [只看该作者]

把单引号去掉

 

  Dim YFSL1 As Double = dt1.Compute("sum(数量)", "高开编号 = '" & val(dr("财务编号")))

 

改成

 

  Dim YFSL1 As Double = dt1.Compute("sum(数量)", "高开编号 = " & val(dr("财务编号")))


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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2017/2/14 13:23:00 [只看该作者]

非常感谢有点色老师的帮忙。

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2017/3/16 10:22:00 [只看该作者]


有点色老师,我的代码如下:

'全年数据统计
For Each dr As DataRow In DataTables("返利合同").Select("")
    Dim dt1 As DataTable=DataTables("批发及退货报表1")    '定义dt1为批发表
    Dim dt2 As DataTable=DataTables("入库结构报表1")    '定义dt2为入库表
    Dim dt3 As DataTable=DataTables("返利收缴明细表")    '定义dt3为收缴表
    
    '全年应返数量
    Dim YFSL1 As Double = dt1.Compute("sum(数量)", "高开编号 = " & val(dr("财务编号")))  '按高开编号求批发表中数量
    Dim YFSL2 As Double = dt1.Compute("sum(数量)", "返利编号 = " & val(dr("财务编号")))  ' 按返利编号求批发表中数量
    Dim YFSL3 As Double = dt2.Compute("sum(数量)", "高开编号 = " & val(dr("财务编号")))   '按高开编号求入库表中数量
    Dim YFSL4 As Double = dt2.Compute("sum(数量)", "返利编号 = " & val(dr("财务编号")))   '按返利编号求入库表中数量
    dr("全年应返数量") = YFSL1 + YFSL2+ YFSL3+ YFSL4                                      '全年应返数量=批发表中高开编号数量+批发表中返利编号数量+入库表中高开编号数量+入库表中返利编号数量
    
    '全年应返金额
    Dim YFJE1 As Double = dt1.Compute("sum(返利应返金额)", "返利编号 = " & val(dr("财务编号")))   '按高开编号求批发表中金额
    Dim YFJE2 As Double = dt1.Compute("sum(高开应返金额)", "高开编号 = " & val(dr("财务编号")))   '按高开编号求批发表中金额
    Dim YFJE3 As Double = dt2.Compute("sum(返利应返金额)", "返利编号 = " & val(dr("财务编号")))   '按高开编号求批发表中金额
    Dim YFJE4 As Double = dt2.Compute("sum(高开应返金额)", "高开编号 = " & val(dr("财务编号")))   '按高开编号求批发表中金额
    dr("全年应返金额") = YFJE1 + YFJE2+ YFJE3+ YFJE4                                              '全年应返金额=批发表中高开编号金额+批发表中返利编号金额+入库表中高开编号金额+入库表中返利编号金额
    
    
    '全年已返数量
    Dim FHSL As Double = dt3.Compute("sum(数量)", "财务编号 = " & val(dr("财务编号")))        '按财务编号求收缴表中的已返数量
    dr("全年已返数量") = FHSL                                                                     '全年已返数量
    
    '全年已返金额
    Dim FHJE As Double = dt3.Compute("sum(合计金额)", "财务编号 = " & val(dr("财务编号")))         '按财务编号求收缴表中的已返金额
    dr("全年已返金额") = FHJE                                                                      '全年已返金额
    
    '全年未返数量
    dr("全年未返数量")= dr("全年应返数量")-dr("全年已返数量")                                     '全年未返数量=全年应返数量-全年已返数量
    dr("全年未返金额")= dr("全年应返金额")-dr("全年已返金额")                                     '全年未返金额=全年应返金额-全年已返金额
Next

在运行时出现如下错误提示:

.NET Framework 版本:2.0.50727.3649
Foxtable 版本:2016.7.29.1
错误所在事件:窗口,数据统计,Button全年,Click
详细错误信息:
无法在 System.String 和 System.Int32 上执行“=”操作。


请问是哪出了问题,请有点色老师帮忙。



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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/16 10:25:00 [只看该作者]

加入msgbox 定位是哪一句代码有错。

 

你的编号列,都要是数值列,才行,不能是字符列。


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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2017/3/16 10:36:00 [只看该作者]

有点色老师,我的编号不能设为数值列,因为,格式为2016-gy01001-001,是这样的格式,怎么办呢。

 回到顶部
总数 22 上一页 1 2 3 下一页