bxpcn 发表于 2014-5-12 14:04:14

有没有更好的方法,替换【如果】条件镶嵌?

本帖最后由 通达林河水 于 2016-7-30 15:53 编辑 <br /><br />这段条件代码,花了2个多小时,慢慢回车分行填写。。。
脑筋要打结了。。。还好顺利通过,条件OK,符合设计要求。
各位兄弟们,有没有更好的方法啊~~~~~
脑筋彻底打结。。。下午要休息,无法继续了。。。
=================================================
如果 (本报表.OV203DSHK.月份过滤 无值)
那么
如果 (本报表.OV203DSHK.业务组过滤 无值) 那么
      如果 (本报表.OV203DSHK.业务员过滤 无值)
      那么 (OV101B3.OV101.金额合计>0) 与 (OV101B3.OV101.出货单状态="已出货") 与 (OV101B3.OV101.付款情况<>"10")
      否则 (OV101B3.OV101.金额合计>0) 与 (OV101B3.OV101.出货单状态="已出货") 与 (OV101B3.OV101.付款情况<>"10") 与 (OV101B3.OV101.业务员=本报表.OV203DSHK.业务员过滤)
      结束
否则
      如果 (本报表.OV203DSHK.业务员过滤 无值) 那么 (OV101B3.OV101.金额合计>0) 与 (OV101B3.OV101.出货单状态="已出货") 与 (OV101B3.OV101.付款情况<>"10") 与 (OV101B3.OV101.业务组=本报表.OV203DSHK.业务组过滤)
      否则 (OV101B3.OV101.金额合计>0) 与 (OV101B3.OV101.出货单状态="已出货") 与 (OV101B3.OV101.付款情况<>"10") 与 (OV101B3.OV101.业务组=本报表.OV203DSHK.业务组过滤) 与 (OV101B3.OV101.业务员=本报表.OV203DSHK.业务员过滤)
      结束
结束
否则
如果 (本报表.OV203DSHK.业务组过滤 无值) 那么
      如果 (本报表.OV203DSHK.业务员过滤 无值) 那么 (OV101B3.OV101.金额合计>0) 与 (OV101B3.OV101.出货单状态="已出货") 与 (OV101B3.OV101.付款情况<>"10") 与 串联(年(OV101B3.OV101.收款日期),"年",月(OV101B3.OV101.收款日期),"月")=本报表.OV203DSHK.月份过滤
      否则 (OV101B3.OV101.金额合计>0) 与 (OV101B3.OV101.出货单状态="已出货") 与 (OV101B3.OV101.付款情况<>"10") 与 (OV101B3.OV101.业务员=本报表.OV203DSHK.业务员过滤) 与 串联(年(OV101B3.OV101.收款日期),"年",月(OV101B3.OV101.收款日期),"月")=本报表.OV203DSHK.月份过滤
      结束
否则
      如果 (本报表.OV203DSHK.业务员过滤 无值) 那么 (OV101B3.OV101.金额合计>0) 与 (OV101B3.OV101.出货单状态="已出货") 与 (OV101B3.OV101.付款情况<>"10") 与 (OV101B3.OV101.业务组=本报表.OV203DSHK.业务组过滤) 与 串联(年(OV101B3.OV101.收款日期),"年",月(OV101B3.OV101.收款日期),"月")=本报表.OV203DSHK.月份过滤
      否则 (OV101B3.OV101.金额合计>0) 与 (OV101B3.OV101.出货单状态="已出货") 与 (OV101B3.OV101.付款情况<>"10") 与 (OV101B3.OV101.业务组=本报表.OV203DSHK.业务组过滤) 与 (OV101B3.OV101.业务员=本报表.OV203DSHK.业务员过滤) 与 串联(年(OV101B3.OV101.收款日期),"年",月(OV101B3.OV101.收款日期),"月")=本报表.OV203DSHK.月份过滤
      结束
结束
结束

bxpcn 发表于 2014-5-12 14:06:58

本帖最后由 通达林河水 于 2016-7-30 15:53 编辑 <br /><br />实现 按照【年月】+【业务组】+【业务员】,三者组合条件,自动刷新查询列表。
设计 OK

运行 OK

完成任务,然后,
脑筋崩溃中。。。。

通达林河水 发表于 2014-5-12 18:19:59

本帖最后由 通达林河水 于 2016-7-30 15:53 编辑 <br /><br />组合查询条件定义办法请参考“ 统计报表(领导) ”。

bxpcn 发表于 2014-5-12 20:01:34

本帖最后由 通达林河水 于 2016-7-30 15:53 编辑 <br /><br />CST007
学习中。。。
感谢 河水兄 提醒。

bxpcn 发表于 2014-5-12 20:04:27

本帖最后由 通达林河水 于 2016-7-30 15:53 编辑 <br /><br />晕
为什吗,还是通篇 【如果、那么】呢。。。

奔溃。。。

bxpcn 发表于 2014-5-12 20:15:05

本帖最后由 通达林河水 于 2016-7-30 15:53 编辑 <br /><br />好吧,官方DEMO用法,BXPCN放弃再优化的念头。。。
不知是否现在版本改进了,
我用的全部都是【筛选条件改变自动执行】。
手动执行一直没用过。。。

通达林河水 发表于 2014-5-13 13:05:19

本帖最后由 通达林河水 于 2016-7-30 15:53 编辑 <br /><br />参考筛选条件部分,而不是填充方式。

bxpcn 发表于 2014-5-13 23:36:12

本帖最后由 通达林河水 于 2016-7-30 15:53 编辑 <br /><br />筛选公式指定为“(本报表.参数表.城市无值或本报
表.参数表.城市=XS03.基本信息.城市) 与 (本报表.参数表.系统 无值 或本报表.参数表.系
统=XS03.基本信息.系统) 与(本报表.参数表.门店无值或本报表.参数表.门店=XS03.基
本信息.门店) 与(本报表.参数表.品项无值或本报表.参数表.品项=XS03.销售明细.品项)
与(本报表.参数表.起始日期无值或日数(本报表.参数表.起始日期,XS03.基本信息.销售
日)>=0) 与(本报表.参数表.终止日期 无值 或 日数(本报表.参数表.终止日期,XS03.基本信
息.销售日)<=0)”
这个方法不错。
用有值或无值组,直接组合,简单粗暴,爽歪歪。
这几天会抽空DEMO下,看实际2者取数速度如何。
重点测自动刷新列表。。。手动点击刷新作为后备方法。

通达林河水 发表于 2014-5-14 09:19:46

本帖最后由 通达林河水 于 2016-7-30 15:53 编辑 <br /><br />好的。

bxpcn 发表于 2014-5-14 23:33:26

本帖最后由 通达林河水 于 2016-7-30 15:53 编辑 <br /><br />用有值或无值组,直接组合,看语句貌似没问题。
直接克隆了一份203表为204表,修改筛选条件,用有值或无值的组合。
反复测试2份报表,
外网查询,执行速度没差异感觉。
代码清爽了,思路简洁了。
。。。待续
页: [1] 2
查看完整版本: 有没有更好的方法,替换【如果】条件镶嵌?