周一至周五 : 08:30 - 17:30 客服专员电话/微信:17301649370 QQ:2902102332
微信咨询

扫码微信咨询

关注公众号

关注微信公众号

电话: 021 5161 9370
返回顶部
关于快表回写语句问题的求助!!!
显示全部楼层 倒序浏览 发表日期 2019-07-08 14:32:27 3118次阅读 3次回复
T_46.png
T_46 为价格明细表
t_47 、t_56 为调价单的主表、明细表
2111.png
设计想法为:
1、在调价表中,根据主表选择价格类别,查询以后明细表显示物品名称以及对应的单价。(此步骤以实现)

2、在子表中输入每个商品的调整后价格回写至 t_46 价格表中。
因为这里回写需要根据价格类别判断,回写到对应字段列中。
一下语句在SQL中,测试可用。但是在快表表间公式中报错。
11.png
各路大神帮我分析一下,一下语句问题在哪。或者有没有其他实现的方式!!!

表间公式 截图如下,使用变量和不使用变量报错都一样!
22211.png
IF( [T_47].[F_379] = '单价1')
BEGIN
UPDATE [T_46] SET [T_46].[F_362] = [T_56].[F_374] FROM [T_46],[T_47],[T_56]
WHERE [T_56].[ID] = [T_47].[ID] AND [T_46].[F_360] = [T_56].[F_384]
END
ELSE IF( [T_47].[F_379] ='单价2')
BEGIN
UPDATE [T_46] SET [T_46].[F_363] = [T_56].[F_374] FROM [T_46],[T_47],[T_56]
WHERE [T_56].[ID] = [T_47].[ID] AND [T_46].[F_360] = [T_56].[F_384]
END
ELSE IF( [T_47].[F_379] ='单价3')
BEGIN
UPDATE [T_46] SET [T_46].[F_364] = [T_56].[F_374] FROM [T_46],[T_47],[T_56]
WHERE [T_56].[ID] = [T_47].[ID] AND [T_46].[F_360] = [T_56].[F_384]
END
ELSE IF( [T_47].[F_379] ='单价4')
BEGIN
UPDATE [T_46] SET [T_46].[F_365] = [T_56].[F_374] FROM [T_46],[T_47],[T_56]
WHERE [T_56].[ID] = [T_47].[ID] AND [T_46].[F_360] = [T_56].[F_384]
END
ELSE IF( [T_47].[F_379] ='单价5')
BEGIN
UPDATE [T_46] SET [T_46].[F_366] = [T_56].[F_374] FROM [T_46],[T_47],[T_56]
WHERE [T_56].[ID] = [T_47].[ID] AND [T_46].[F_360] = [T_56].[F_384]
END

SELECT F_384 AS [物品编号],F_373 AS[物品名称],F_373 AS [原单价],F_374 AS [调整后单价] FROM T_56  
说一种其它的思路:思路1:T_46设计成主表+明细表的方法,主表是NAME字段,明细表是价格字段+日期字段(可选),目的表数据回写时判断NAME是否存在,如果存在再判断价格是否存在,如果不存在补充价格信息+日期信息进T_46表中。也就是需判断主表是否存在对应商品和明细表中是否有这个价格,如果不要求判断价格是否重复,那回写判断主表后决定是否补充明细价格。
思路2:T_46设计成明细表,NAME字段,价格字段,日期(可选),只要需要回写补充的就写入即可。不用设计成一个NAME字段+多个价格字段,后面如果要调这些数据也方便。
在表间公式的扩展控制中有一项 口公式不叠加当前记录ID(慎选) 的勾选项  打勾后不再自动追加ID 另外你的语句中最后的Where部分开始 可以放在底部的过滤条件中
电话/微信:18049989370 QQ:857188287

精彩评论3

SELECT F_384 AS [物品编号],F_373 AS[物品名称],F_373 AS [原单价],F_374 AS [调整后单价] FROM T_56  
说一种其它的思路:思路1:T_46设计成主表+明细表的方法,主表是NAME字段,明细表是价格字段+日期字段(可选),目的表数据回写时判断NAME是否存在,如果存在再判断价格是否存在,如果不存在补充价格信息+日期信息进T_46表中。也就是需判断主表是否存在对应商品和明细表中是否有这个价格,如果不要求判断价格是否重复,那回写判断主表后决定是否补充明细价格。
思路2:T_46设计成明细表,NAME字段,价格字段,日期(可选),只要需要回写补充的就写入即可。不用设计成一个NAME字段+多个价格字段,后面如果要调这些数据也方便。
在表间公式的扩展控制中有一项 口公式不叠加当前记录ID(慎选) 的勾选项  打勾后不再自动追加ID 另外你的语句中最后的Where部分开始 可以放在底部的过滤条件中
电话/微信:18049989370 QQ:857188287
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则  允许回帖邮件提醒楼主

快表软件是国内较早研究表格类软件开发平台的团队之一,迄今已有十多年的行业经验.致力于为企事业单位提供实用可靠的数字化平台。
  • 微信公众号

  • 微信小商店

  • 微信客服

  • Powered by Discuz! X3.4 | Copyright © 2022-2024, XiRong Soft. | 快表软件
  • 沪ICP备13033196号 | 营业执照 |上海西戎软件科技有限公司|沪公网安备31011502002146号|沪ICP备13033196号 |