Foxtable(狐表)用户栏目专家坐堂 → [求助]提示列不存在


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

主题:[求助]提示列不存在

帅哥,在线噢!
lgj716330
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1301 积分:10050 威望:0 精华:0 注册:2013/11/8 15:27:00
[求助]提示列不存在  发帖心情 Post By:2020/11/20 14:23:00 [只看该作者]

Dim b As New CrossTableBuilder("统计表",DataTables("统计表0"))

Dim  dt As   fxDataSource

b.HGroups.AddDef("部门名称")

 b.HGroups.AddDef("年份")

b.VGroups.AddDef("月份","{0}月销售")

 b.Totals.AddDef("销售金额")

 b.Filter= "(" & filter & ")"

dt =   b.BuildDataSource()

 

Dim b1 As New SQLGroupTableBuilder("统计表1","目标分解表")

b1.C

Dim  dt1 As   fxDataSource

b1.Groups.AddDef("部门名称")

 b1.Groups.AddDef("年份")

b1.Totals.AddDef("一月","1月目标")  '对数量进行统计

 b1.Totals.AddDef("二月","2月目标")  '对数量进行统计

 b1.Totals.AddDef("三月","3月目标")  '对数量进行统计

 b1.Totals.AddDef("四月","4月目标")  '对数量进行统计

 b1.Totals.AddDef("五月","5月目标")  '对数量进行统计

 b1.Totals.AddDef("六月","6月目标")  '对数量进行统计

 b1.Totals.AddDef("七月","7月目标")  '对数量进行统计

 b1.Totals.AddDef("八月","8月目标")  '对数量进行统计

 b1.Totals.AddDef("九月","9月目标")  '对数量进行统计

 b1.Totals.AddDef("十月","10月目标")  '对数量进行统计

 b1.Totals.AddDef("十一月","11月目标")  '对数量进行统计

 b1.Totals.AddDef("十二月","12月目标")  '对数量进行统计

 b1.Totals.AddDef("合计","年度总目标")  '对数量进行统计

 b1.Filter= "年份= " & N1 & " and (" & filter & ")"

dt1 =   b1.BuildDataSource()

 

Dim  nms11 As String() = {"部门名称","年份"}  

 

dt.Combine(nms11,dt1,nms11) 

 

Tables("统计_Table1").DataSource = dt 

 

Dim dic As new Dictionary(of String, String) 

For Each c As Col  In Tables("统计_Table1").cols

    dic.add(c.Caption, c.name)

Next

If dic.ContainsKey("1月销售") = False Then

    DataTables("统计_Table1").dataCols.add("1月销售", Gettype(Double))

    dic.add("1月销售", "1月销售")

End If

If dic.ContainsKey("2月销售") = False Then

    DataTables("统计_Table1").dataCols.add("2月销售", Gettype(Double))

    dic.add("2月销售", "2月销售")

End If

If dic.ContainsKey("3月销售") = False Then

    DataTables("统计_Table1").dataCols.add("3月销售", Gettype(Double))

    dic.add("3月销售", "3月销售")

End If

If dic.ContainsKey("4月销售") = False Then

    DataTables("统计_Table1").dataCols.add("4月销售", Gettype(Double))

    dic.add("4月销售", "4月销售")

End If

If dic.ContainsKey("5月销售") = False Then

    DataTables("统计_Table1").dataCols.add("5月销售", Gettype(Double))

    dic.add("5月销售", "5月销售")

End If

If dic.ContainsKey("6月销售") = False Then

    DataTables("统计_Table1").dataCols.add("6月销售", Gettype(Double))

    dic.add("6月销售", "6月销售")

End If

If dic.ContainsKey("7月销售") = False Then

    DataTables("统计_Table1").dataCols.add("7月销售", Gettype(Double))

    dic.add("7月销售", "7月销售")

End If

If dic.ContainsKey("8月销售") = False Then

    DataTables("统计_Table1").dataCols.add("8月销售", Gettype(Double))

    dic.add("8月销售", "8月销售")

End If

If dic.ContainsKey("9月销售") = False Then

    DataTables("统计_Table1").dataCols.add("9月销售", Gettype(Double))

    dic.add("9月销售", "9月销售")

End If

If dic.ContainsKey("10月销售") = False Then

    DataTables("统计_Table1").dataCols.add("10月销售", Gettype(Double))

    dic.add("10月销售", "10月销售")

End If

If dic.ContainsKey("11月销售") = False Then

    DataTables("统计_Table1").dataCols.add("11月销售", Gettype(Double))

    dic.add("11月销售", "11月销售")

End If

If dic.ContainsKey("12月销售") = False Then

    DataTables("统计_Table1").dataCols.add("12月销售", Gettype(Double))

    dic.add("12月销售", "12月销售")

End If


提示不存在“统计表1”中的各个统计列,但结果又能出来,Tables("统计_Table1").DataSource = dt 之后的代码取消又不会提示错误


此主题相关图片如下:qq图片20201120142004.png
按此在新窗口浏览图片




 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106158 积分:539907 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/20 14:51:00 [只看该作者]

调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm

看是哪一句代码出错

 回到顶部
帅哥,在线噢!
lgj716330
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1301 积分:10050 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2020/11/20 17:24:00 [只看该作者]

有点晕,用msgbox()测试完后,再把msgbox()删除,又正常了,不知道会不会是哪里有空格的影响

 回到顶部
帅哥,在线噢!
lgj716330
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1301 积分:10050 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2020/11/20 18:28:00 [只看该作者]

Dim N1,y1,y2 As Integer
N1 = e.Form.Controls("NF").value 
y1 = e.Form.Controls("YF1").value 
y2 = e.Form.Controls("YF2").value 

Dim b02 As New GroupTableBuilder("统计表02",DataTables("统计表0"))
Dim  dt02 As   fxDataSource
 b02.Groups.AddDef("部门名称")
 b02.Groups.AddDef("年份")
 b02.Totals.AddDef("销售","正常月份销售")
 b02.Totals.AddDef("销售",AggregateEnum.count,"正常月份数")
For Each rr As Row In Tables("统计表0").Rows
Dim d As Date =rr("日期")
Dim y As Integer = d.year
Dim m As Integer = d.month
If y=n1 Then
 b02.Filter= "月份 > " & m & " And 月份 <= " & y2 & ""
Else
 b02.Filter= "月份 <= " & y2 & ""
End If
Next

dt02 =   b02.BuildDataSource()

上面的条件取不到数,经msgbox测试条件值是没问题,是不是这样写条件不行

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

肯定不行,for循环完毕,b02.Filter只能是Tables("统计表0")最后一行的条件。截图说明一下,要做什么条件

 回到顶部
帅哥,在线噢!
lgj716330
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

Dim N1,y1,y2 As Integer
N1 = e.Form.Controls("NF").value 
y1 = e.Form.Controls("YF1").value 
y2 = e.Form.Controls("YF2").value 

Dim b0 As New groupTableBuilder("统计表0",DataTables("查询表1"))
b0.Groups.AddDef("开业日期",DateGroupEnum.None)
 b0.Groups.AddDef("部门名称")
 b0.Groups.AddDef("年份")
 b0.Groups.AddDef("月份")
 b0.Totals.AddDef("金额","销售")
 b0.Filter= "(" & filter & ")"
b0.Build 

Dim b02 As New GroupTableBuilder("统计表02",DataTables("统计表0"))
Dim  dt02 As   fxDataSource
 b02.Groups.AddDef("部门名称")
 b02.Groups.AddDef("年份")
 b02.Totals.AddDef("销售","正常月份销售")
 b02.Totals.AddDef("销售",AggregateEnum.count,"正常月份数")
For Each rr As Row In Tables("统计表0").Rows
Dim d As Date =rr("开业日期")
Dim y As Integer = d.year
Dim m As Integer = d.month
If y=n1 Then
 b02.Filter= "月份 > " & m & " And 月份 <= " & y2 & ""
Else
 b02.Filter= "月份 <= " & y2 & ""
End If
Next
dt02 =   b02.BuildDataSource()

此主题相关图片如下:qq图片20201122134731.png
按此在新窗口浏览图片

目的是想实现,在“统计表0”中,如果开业日期的年份同筛选条件中的年份相同的,则选取条件为"月份 > " & m & " And 月份 <= " & y2 & "",否则筛选条件为"月份 <= " & y2 & ""


 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106158 积分:539907 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/22 21:04:00 [只看该作者]

没看懂,请上传实例并截图说明一下

 回到顶部