私が求めているのは、MS Access で sql を使用してフォームベースで作業した量の要約です。これが私がやりたいことです。
Sum(IIf(([Time Report].Destination) Like 'D-[Time Report].[Baselocation]',0)) AS [Total WorkFromBase in P2]
MS Access は正規表現を理解しないため、これは機能しません。一致させるには「D-」を追加する必要があります。
私の知る限り、私のオプションは次のとおりです。
- VB マクロ (?) を学習して使用し、パターン マッチングを正しく行う
else if
SQL にはネイティブ条件がないため、複雑な IIf ステートメントのセットを使用します。
私は VB を知りません。私が見たのは 1 つの例だけで、意味がわかりませんでした。
大量の 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)
型エラーになってしまいます、
では、2 つの列を一致させ、類似している場合に合計するにはどうすればよいでしょうか。