以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求助:在全局代码中写入代码块 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=160402) |
-- 作者:czy66ds -- 发布时间:2021/2/1 13:49:00 -- 求助:在全局代码中写入代码块 有如下代码块: Dim SQLxs,sqlA,sqlB As String For Each pp As String In ppjhs sqlA = " union all SEL ECT 单号,日期,a.条码,商品,色号,尺寸,数量,标准价,(Case when 数量 = 0 Or 标准价=0 Then 0 Else Round(成交金额 / (数量*标准价),2 ) End) As 折扣," & _ "( Case when 数量 = 0 Then 0 Else Round(成交金额 / 数量,0) End) As 成交价,成交金额,(数量*标准价) As 标准金额,系列,业务员,年代,季节,波段,大类,小类,品名,颜色别名,尺寸名,店铺,备注 Fr om {@销售记录表} as a INNER JOIN {@商品表} as b ON a.条码 = b.条码 where $ " SQLB = sqlA.replace("@",pp) SQLxs & = SQLB Next 希望写入全局代码,最终获得SQLxs,可以吗?
|
-- 作者:有点蓝 -- 发布时间:2021/2/1 14:00:00 -- 何必折腾自己不熟悉的东西。使用自定义函数不好么,全局代码每编辑一下还得重启项目。 public function xxx函数名(ppjhs as string()) as string Dim SQLxs,sqlA,sqlB As String For Each pp As String In ppjhs sqlA = " union all SEL ECT 单号,日期,a.条码,商品,色号,尺寸,数量,标准价,(Case when 数量 = 0 Or 标准价=0 Then 0 Else Round(成交金额 / (数量*标准价),2 ) End) As 折扣," & _ "( Case when 数量 = 0 Then 0 Else Round(成交金额 / 数量,0) End) As 成交价,成交金额,(数量*标准价) As 标准金额,系列,业务员,年代,季节,波段,大类,小类,品名,颜色别名,尺寸名,店铺,备注 Fr om {@销售记录表} as a INNER JOIN {@商品表} as b ON a.条码 = b.条码 where $ " SQLB = sqlA.replace("@",pp) SQLxs & = SQLB Next return SQLxs end function
|
-- 作者:czy66ds -- 发布时间:2021/2/1 14:04:00 -- 谢谢 |
-- 作者:czy66ds -- 发布时间:2021/2/1 14:30:00 -- 此主题相关图片如下:snipaste_全品牌销售记录.png |
-- 作者:有点蓝 -- 发布时间:2021/2/1 14:36:00 -- 2楼给的是全局代码的用法,不是自定义函数,自定义函数参考:http://www.foxtable.com/webhelp/topics/1486.htm |