Foxtable(狐表)用户栏目专家坐堂 → [求助]类型转换


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

主题:[求助]类型转换

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


加好友 发短信
等级:六尾狐 帖子:1387 积分:10693 威望:0 精华:0 注册:2013/11/8 15:27:00
[求助]类型转换  发帖心情 Post By:2019/11/29 11:41:00 [只看该作者]

Dim b As New SQLGroupTableBuilder("统计表","积压")
b.C 
b.AddTable("积压", "部门编号","店铺档案","业务系统编号")
 b.Groups.AddDef("{积压}.部门名称")
 b.Groups.AddDef("{积压}.部门编号")
 b.Totals.AddDef("调拔汇总")
 b.Totals.AddDef("零售汇总")
 b.Totals.AddExp("平均售罄率","-isnull([零售汇总],0)/isnull([调拔汇总],0)")


b.Build 

Dim bjs As List(Of String) = DataTables("统计表").GetValues("部门编号|平均售罄率")
For Each bj As String In bjs
    Dim drs As List(Of DataRow) = DataTables("店铺档案").Select("[部门编号] = " & bj(0))
    For n As Integer = 0 To drs.Count - 1 
        If n > 0 Then 
            drs(n)("参考售罄率") = bj(1) 
        End If
    Next
Next

无法将类型为“System.Collections.Generic.List`1[System.String[]]”的对象强制转换为类型“System.Collections.Generic.List`1[System.String]”。

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


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

Dim bjs As List(Of String()) = DataTables("统计表").GetValues("部门编号|平均售罄率")

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


加好友 发短信
等级:六尾狐 帖子:1387 积分:10693 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2019/11/29 12:14:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:3db6476b-14a5-4fa6-acb2-0783dc096dd9.png
图片点击可在新窗口打开查看

售罄率是double类型,不知怎么调整


[此贴子已经被作者于2019/11/29 12:14:54编辑过]

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


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

For Each bj As String() In bjs

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


加好友 发短信
等级:六尾狐 帖子:1387 积分:10693 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2019/12/1 19:36:00 [只看该作者]

Dim HZ1 As String
HZ1 = e.Form.Controls("ZZFL").Text 

Dim b As New GroupTableBuilder("统计表1",DataTables("查询表1"))
 b.Groups.AddDef("部门") 
 b.Groups.AddDef(HZ1)
b.Totals.AddDef("销售金额")

b.Build 

Dim bjs As List(Of String()) = DataTables("统计表1").GetValues(HZ1)
For Each  bj As  String() In bjs
    Dim  drs As List(Of  DataRow) = DataTables("统计表1").Select("HZ1 = '" & bj & "'", "销售金额 DESC")
     For n As  Integer = 0 To drs.Count -  1  
       If n > 0 AndAlso drs(n)("销售金额") = drs(n-1)("销售金额") Then  
            drs(n)("区内排名") = drs(n-1)("区内排名")  
         Else
             drs(n)("区内排名") = n + 1 
         End If
      Next
Next

出现以下错误

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

[此贴子已经被作者于2019/12/1 19:36:49编辑过]

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2019/12/1 19:52:00 [只看该作者]

检查这一行,去掉括号试试:

For Each  bj As  String() In bjs

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


加好友 发短信
等级:六尾狐 帖子:1387 积分:10693 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2019/12/1 20:52:00 [只看该作者]

Dim bjs As List(Of String()) = DataTables("统计表1").GetValues(HZ1)
For Each  bj As  String() In bjs

这里的两个()去掉后会提示,未找到列[HZ1],但用msgbox(bjs(0))是能显示列中的值的

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


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

GetValues的帮助请先仔细、认真的看一看:http://www.foxtable.com/webhelp/topics/2747.htm

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


加好友 发短信
等级:六尾狐 帖子:1387 积分:10693 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2019/12/1 21:11:00 [只看该作者]

嗯,知道问题在哪了
原来e.Form.Controls("ZZFL")这里初始是空值的,现在改成了有默认值,Select("HZ1 = '" & bj & "'", 这里改成Select("" & HZ1 & " = '" & bj & "'", 

 回到顶部