以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]运算符后缺少操作数  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=145132)

--  作者:lgj716330
--  发布时间:2020/1/9 13:46:00
--  [求助]运算符后缺少操作数
Dim b1 As New SQLGroupTableBuilder("统计表1","统计表")
 b1.Groups.AddDef("部门名称")
 b1.Groups.AddDef("年份")
 b1.Groups.AddDef("月份")
 b1.Totals.AddDef("保底")
 b1.Totals.AddDef("实际")
b1.build


DataTables("统计表1").dataCols.add("月度差距", Gettype(Double))
DataTables("统计表1").dataCols.add("累计差距", Gettype(Double))

Dim t1 As Table = Tables("统计表1") 

For Each r1 As Row In t1.Rows
        r1("月度差距") =r1("实际")-r1("保底")
Next

Dim bjs As List(Of String) = DataTables("统计表1").GetValues("部门名称")
For Each bj As String In bjs
    Dim drs As List(Of DataRow) = DataTables("统计表1").Select("[部门名称] = " & bj)
    For n As Integer = 0 To drs.Count - 1 
        If n > 0 Then 
            drs(n)("累计差距") = drs(n-1)("月度差距")+drs(n)("月度差距")
        End If
    Next
Next

语法错误:“**部门”运算符后缺少操作数。

--  作者:有点蓝
--  发布时间:2020/1/9 13:54:00
--  
代码看不出什么问题,估计是数据的原因。导出统计表数据测试看看
--  作者:有点蓝
--  发布时间:2020/1/9 13:55:00
--  
是不是没有指定数据源:

b.ConnectionName = "Sale"

--  作者:lgj716330
--  发布时间:2020/1/9 14:18:00
--  
数据源有指定了,上面省略掉了,我再看看
--  作者:lgj716330
--  发布时间:2020/1/9 15:15:00
--  
Dim b1 As New SQLGroupTableBuilder("统计表1","统计表")
b1.ConnectionName = "Sale"
 b1.Groups.AddDef("部门名称")
 b1.Groups.AddDef("年份")
 b1.Groups.AddDef("月份")
 b1.Totals.AddDef("保底")
b1.Totals.AddDef("保底期")
 b1.Totals.AddDef("实际")
b1.build

DataTables("统计表1").dataCols.add("月度差距", Gettype(Double))
DataTables("统计表1").dataCols.add("累计差距", Gettype(Double))

Dim t1 As Table = Tables("统计表1") 

For Each r1 As Row In t1.Rows
        r1("月度差距") =r1("实际")-r1("保底")
Next

Dim bjs As List(Of String) = DataTables("统计表1").GetValues("部门名称|保底期")
For Each bj As String In bjs
    Dim drs As List(Of DataRow) = DataTables("统计表1").Select("部门名称 = \'" & bj(0) & "\' and 保底期 = \'" & bj(1) & "\'")
    For n As Integer = 0 To drs.Count - 1 
        If n > 0 Then 
            drs(n)("累计差距") = drs(n-1)("月度差距")+drs(n)("月度差距")
        End If
    Next
Next

改成这样,出现以下错误,看不懂
无法将类型为“System.Collections.Generic.List`1[System.String[]]”的对象强制转换为类型“System.Collections.Generic.List`1[System.String]”。
[此贴子已经被作者于2020/1/9 15:15:58编辑过]

--  作者:有点蓝
--  发布时间:2020/1/9 15:16:00
--  
GetValues的帮助看到最后