Foxtable(狐表)用户栏目专家坐堂 → [求助]语法错误


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

主题:[求助]语法错误

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


加好友 发短信
等级:六尾狐 帖子:1303 积分:10071 威望:0 精华:0 注册:2013/11/8 15:27:00
[求助]语法错误  发帖心情 Post By: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,都提示错误

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

[此贴子已经被作者于2019/12/25 14:42:06编辑过]

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


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

b.Totals.AddExp("成本金额","case when [综合] is Null then 0 when [综合] =0 then 0 else isnull([金额],0)*(1-[综合])/[综合]")

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


加好友 发短信
等级:六尾狐 帖子:1303 积分:10071 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By: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编辑过]

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


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

那就不是这里的问题,贴出完整代码,或者上传实例说明

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


加好友 发短信
等级:六尾狐 帖子:1303 积分:10071 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By: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编辑过]

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


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

1、上面代码有没有哪个列名称是2个表都有的?
2、msgbox(b.Filter)看看生成的条件是否有问题

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


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

已解决

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


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

GroupTableBuilder 是不是不能使用Totals.AddExp,向Totals添加表达式统计列
[此贴子已经被作者于2019/12/25 20:54:39编辑过]

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


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

是的

 回到顶部