A consulta do Microsoft Access é muito complexa - fórmula IF

0

Eu tenho uma consulta no banco de dados do Access e, quando tento executá-la, recebo uma mensagem de erro "a consulta é muito complexa para ser executada". Erro de tempo de execução 3360. "O problema é com uma fórmula / lógica de programação, veja abaixo:

Anteriormente, a fórmula era a abaixo - e funcionou.

IIf([BegTaxBasis]=0 And [Contribution]+[Distribution]=0,0,IIf([BegTaxBasis]=0 And [TaxIncSubTotal]=0,-[Distribution],IIf([Distribution]=0,0,IIf([TBBLL]+[Recourse]+[QualifiedNonrecourse]+[NonRecourse]<[Distribution],-[Distribution],0)))) 

Uma versão detalhada do acima seria:

IIf(
    [BegTaxBasis]=0 And [Contribution]+[Distribution]=0,
    0,
    IIf(
        [BegTaxBasis]=0 And [TaxIncSubTotal]=0,
        -[Distribution],
        IIf(
            [Distribution]=0,
            0,
            IIf(
                [TBBLL]+[Recourse]+[QualifiedNonrecourse]+[NonRecourse]<[Distribution],
                -[Distribution],
                0
            )
        )
    )
) 

Depois atualizei para ver abaixo:

IIf([BegTaxBasis]=0 And [Contribution]+[Distribution]=0,0,IIf([BegTaxBasis]=0 And [TaxIncSubTotal]=0,-[Distribution],IIf([Distribution]=0,0,IIf([TBBLL]>0,0,IIf([TBBLL]+[Recourse]+[QualifiedNonrecourse]+[NonRecourse]<[Distribution],-[Distribution],IIf([TBBLL]+[Recourse]+[QualifiedNonrecourse]+[NonRecourse]>[Distribution] And [TBBLL]+[Recourse]+[QualifiedNonrecourse]+[NonRecourse]<0 And [TaxIncSubTotal]<0,[TBBLL]+[Recourse]+[QualifiedNonrecourse]+[NonRecourse]-[TaxIncSubTotal],[TBBLL]+[Recourse]+[QualifiedNonrecourse]+[NonRecourse]))))) 

Versão detalhada do acima:

IIf(
    [BegTaxBasis]=0 And [Contribution]+[Distribution]=0,
    0,
    IIf(
        [BegTaxBasis]=0 And [TaxIncSubTotal]=0,
        -[Distribution],
        IIf(
            [Distribution]=0,
            0,
            IIf(
                [TBBLL]>0,
                0,
                IIf(
                    [TBBLL]+[Recourse]+[QualifiedNonrecourse]+[NonRecourse]<[Distribution],
                    -[Distribution],
                    IIf(
                        [TBBLL]+[Recourse]+[QualifiedNonrecourse]+[NonRecourse]>[Distribution] And [TBBLL]+[Recourse]+[QualifiedNonrecourse]+[NonRecourse]<0 And [TaxIncSubTotal]<0,
                        [TBBLL]+[Recourse]+[QualifiedNonrecourse]+[NonRecourse]-[TaxIncSubTotal],
                        [TBBLL]+[Recourse]+[QualifiedNonrecourse]+[NonRecourse]
                    )
                )
            )
        )
    )

E agora a consulta não vai rodar, qualquer ajuda é muito apreciada, obrigado!

    
por Clarisa 12.05.2017 / 02:27

0 respostas