0

背景:将传奇的 Excel 报告项目迁移到 MS Access 中以满足数据库结构的非常需要。

限制:开发环境在 Excel 和 Access 中。由于大量数据处理和移动 n 个月数据的保留,它无法通过记录集循环。

问题:在目前的Excel报表平台中,有多个子工具分别用于处理数据。因此,它有权通过遍历每一行来处理小块数据。使用 IF-ELSE 执行条件检查。

在提议的 MS Access 结构中,这些 IF-ELSE 被转换为 IIF。鉴于这种情况,想知道关于 IIF 与 SWITCH 的性能比较的意见。欢迎任何更好的解决方案。

PS:导入源后,数据库会自动关闭以压缩并修复它“膨胀”。最终 db 应该与 ms 2003 和 2010 软件包兼容

4

2 回答 2

1

我认为这可能是你想要的:

微软

Iif 函数根据表达式是否为真返回两个值之一。如果 LineTotal 的值超过 100,则以下表达式使用 Iif 函数返回布尔值 True。否则返回 False。

当您要测试三个或更多条件时,切换功能很有用。Switch 函数返回与计算结果为 true 的系列中的第一个表达式关联的值。

于 2013-08-14T13:01:46.730 回答
1

我认为这Switch是一个 VBA 函数(如Nz),Iif而是一个 SQL 函数。这有很多含义,您可以在 Allen Browne 的网站上进行探索。
在客户端-服务器架构(SQL Server/Oracle 或类似后端)中工作时,应特别避免在查询中使用这些 VBA 函数。

于 2017-04-11T15:00:28.073 回答