将访问表达式转换为VBA

时间:2017-05-23 20:02:52

标签: vba ms-access expression

GainRecDistr:IIf([BegTaxBasis] = 0且[贡献] + [分布] = 0,0,IIf([BegTaxBasis] = 0且[TaxIncSubTotal] = 0, - [分布],IIf([分布] = 0,0,IIF([TBBLL] GT; 0,0,IIF([TBBLL] + [追索] + [QualifiedNonrecourse] + [追索]的百分比抑制率发行], - [发行],IIF([TBBLL] + [追索] + [QualifiedNonrecourse] + [NonRecourse]> [Distribution]和[TBBLL] + [Recourse] + [QualifiedNonrecourse] + [NonRecourse]< 0和[TaxIncSubTotal]< 0,[TBBLL] + [Recourse] + [QualifiedNonrecourse] + [追索] - [TaxIncSubTotal],[TBBLL] + [追索] + [QualifiedNonrecourse] + [追索]))))))

当我尝试在访问表达式中计算上述内容时,它给出了一条错误消息,指出查询过于复杂,具体问题在于此部分:

IIf([TBBLL] + [追索] + [QualifiedNonrecourse] + [NonRecourse]> [Distribution]和[TBBLL] + [Recourse] + [QualifiedNonrecourse] + [NonRecourse]< 0和[TaxIncSubTotal]< 0,[TBBLL] + [追索] + [QualifiedNonrecourse] + [追索] - [TaxIncSubTotal],[TBBLL] + [追索] + [QualifiedNonrecourse] + [追索]))))))

如何将其转换为VBA表达式?有什么想法非常感激?

1 个答案:

答案 0 :(得分:0)

在VBA中,您无法使用像[Field]这样的字段,您可以从数据源Me!Field.Value引用它们,IIf在vba中的工作方式相同,所以举个例子:

IIf(Me!BegTaxBasis = 0 AND (Me!Contribution.Value+Me!Distribution.Value) = 0,DoSomething, DoSomething )

通过该示例,您应该能够在自己的代码上构建代码。