以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]语法错误 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=144617) |
-- 作者:lgj716330 -- 发布时间:2019/12/25 14:20:00 -- [求助]语法错误 Dim JJ As String = e.Form.Controls("CPJJ").value If JJ = "" Then b.Totals.AddExp("成本金额","case when [综合] is Null then 0 when [综合] =0 then 0 else -isnull([金额],0)*(1-[综合])/[综合]") End If 上述标色部分,控件为空时,JJ = ""或JJ is nothing 或 jj.length=0,都提示错误 [此贴子已经被作者于2019/12/25 14:42:06编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/12/25 15:09:00 -- b.Totals.AddExp("成本金额","case when [综合] is Null then 0 when [综合] =0 then 0 else isnull([金额],0)*(1-[综合])/[综合]") |
-- 作者:lgj716330 -- 发布时间:2019/12/25 15:22:00 -- If JJ = "春" Then b.Totals.AddExp("成本金额","case when [春季] is Null then 0 when [春季] =0 then 0 else -isnull([金额],0)*(1-[春季])/[春季]") End If 但这样没问题,-是需要转换为负数 控件是CheckedComboBox
[此贴子已经被作者于2019/12/25 15:25:58编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/12/25 15:30:00 -- 那就不是这里的问题,贴出完整代码,或者上传实例说明 |
-- 作者:lgj716330 -- 发布时间:2019/12/25 16:31:00 -- Dim N1 As Integer = e.Form.Controls("NF").value Dim N2 As Integer = N1 - 1 Dim Y1 As Integer = e.Form.Controls("YF2").value \' Dim N11 As Integer = e.Form.Controls("NFF").value \' Dim Y11 As Integer = e.Form.Controls("YFF").value \' Dim JJ As String = e.Form.Controls("CPJJ").value \' Dim Filter As String = "1=1" \'设置筛选条件 With e.Form.Controls("CPNF") If .Value IsNot Nothing Then If Filter > "" Then Filter = Filter & " And " End If Filter = Filter & "年份 In ( \'" & .Value.replace(",","\',\'") & "\')" End If End With Dim tj1,tj2 As WinForm.RadioButton tj1 = Forms("店铺").Controls("RadioButton1") tj2 = Forms("店铺").Controls("RadioButton2") If tj1.checked=True Then Dim b As New SQLGroupTableBuilder("统计表","汇总表") b.C b.AddTable("汇总表", "仓店编号","档案","业务编号") b.Groups.AddDef("部门名称") If JJ="冬" Then b.Totals.AddExp("积压成本金额","case when [冬季] is Null then 0 when [冬季] =0 then 0 else -isnull([成本金额],0)*(1-[冬季])/[冬季]") End If b.Filter = "(" & filter & ") and ((月份 <= \'" & Y1 & "\' and 年份 = \'" & N1 & "\') or (月份 <= 12 and 年份 < \'" & N1 & "\'))" b.Build end if messagebox显示是b.Build这里的问题, messagebox.show(1) b.Build messagebox.show(2) 这中间提示错误 [此贴子已经被作者于2019/12/25 16:34:39编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/12/25 16:44:00 -- 1、上面代码有没有哪个列名称是2个表都有的? 2、msgbox(b.Filter)看看生成的条件是否有问题
|
-- 作者:lgj716330 -- 发布时间:2019/12/25 17:54:00 -- 已解决 |
-- 作者:lgj716330 -- 发布时间:2019/12/25 20:53:00 -- GroupTableBuilder 是不是不能使用Totals.AddExp,向Totals添加表达式统计列 [此贴子已经被作者于2019/12/25 20:54:39编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/12/26 9:14:00 -- 是的 |