我所追求的是在MS Access中使用sql的基础工作量摘要,这就是我想要做的:
Sum(IIf(([Time Report].Destination) Like 'D-[Time Report].[Baselocation]',0)) AS [Total WorkFromBase in P2]
这不起作用,因为 MS Access 不理解正则表达式,我需要附加的“D-”才能匹配。
据我所知,我的选择是:
- 学习并使用 VB 宏(?)来获得正确的模式匹配
- 使用一组复杂的 IIf 语句,因为 sql 没有原生
else if
条件
我不了解VB,我只看过一个例子,我无法理解。
如果我选择大量 IIf,那么我有这样的东西
Sum(
IIf(D-[Time Report].[Baselocation] = 'Base1', IIf(
([Time Report].Destination) = 'D-Base1',
IIf(D-[Time Report].[Baselocation] = 'Base2', IIf(
([Time Report].Destination) = 'D-Base2',
IIf(D-[Time Report].[Baselocation] = 'Base3a', IIf(
([Time Report].Destination) = 'D-Base3a' OR ([Time Report].Destination) = 'D-Base3b',
IIf(D-[Time Report].[Baselocation] = 'Base3b', IIf(
([Time Report].Destination) = 'D-Base3a' OR ([Time Report].Destination) = 'D-Base3b', ))
)) AS [Total Work From Base in P1],
然后我以一个Syntax Error (Missing operator)
类型错误结束,
那么如何匹配两个列,并在它们相似时求和?