背景:基于数据库结构的需要,将传奇的Excel报表项目迁移到MS Access中。
限制:开发环境在Excel和Access中。由于大块数据处理和保留移动的n个月数据,它无法通过记录集进行循环。
问题:在当前的Excel报表平台中,存在多个子工具分别处理数据的问题。因此,它具有通过遍历每一行来处理小块数据的特权。使用IF-ELSE执行条件检查。
在建议的MS接入结构中,这些IF-ELSE被转换为IIF。鉴于目前的情况,我想知道对IIF和SWITCH的性能比较有什么看法。任何更好的解决方案都非常受欢迎。
PS:导入源码后,数据库会自动关闭,以便在“膨胀”时进行压缩和修复。最终,db应该与ms 2003和2010软件包兼容。
发布于 2013-08-14 21:01:47
我想这可能就是你想要的:
根据表达式是否为真,Iif函数返回两个值中的一个。如果LineTotal的值超过100,则以下表达式使用Iif函数返回布尔值True。否则,它将返回False。
当您有三个或更多条件要测试时,开关函数非常有用。Switch函数返回与一系列中计算为true的第一个表达式相关联的值。
发布于 2017-04-11 23:00:28
我认为Switch是一个VBA函数(类似于Nz),而Iif是一个SQL函数。这对您可以探索here, on Allen Browne's site有很大的影响。
在客户端-服务器体系结构(SQL Server/Oracle或类似的后端)中工作时,在查询中应特别避免使用这些VBA函数。
https://stackoverflow.com/questions/18232329
复制相似问题