我已经彻底地环顾四周寻找答案,但我不明白为什么我要做的事情不起作用:
我正在尝试构建一个查询来为连续表单提供数据。我试图获得类似银行对账单的东西,其中借方和贷方分别在不同的栏目中。我也想要一个跑步总数,但我还没有那么远。
这是我的疑问:
SELECT ACTransaction.*, TransactionCategory.TC_Description,
TransactionCategory.TC_Sign, ACCategoryGroup.ACCG_Description,
ACCategory.ACC_Description, ACCategoryClass.ACCC_Description,
ACSubCategory.ACSC_Description, IIf([TC_Sign]="-1",[ACT_ValTTC],"") AS
Spend, IIf([TC_Sign]="1",[ACT_ValTTC],"") AS Receive
FROM TransactionCategory INNER JOIN (ACSubCategory INNER JOIN
((ACCategoryClass INNER JOIN (ACCategoryGroup INNER JOIN ACCategory ON
ACCategoryGroup.ACCG_ID = ACCategory.ACC_CategoryGroupID) ON
ACCategoryClass.ACCC_ID = ACCategory.ACC_CategoryClassID) INNER JOIN
ACTransaction ON ACCategory.ACC_ID = ACTransaction.ACT_CategoryID) ON
ACSubCategory.ACSC_ID = ACTransaction.ACT_SubCategoryID) ON
TransactionCategory.ID = ACTransaction.ACT_TransCategoryID;
有很多查找,但关键是我想把ACTransaction交易中的[ACT_ValTTC]放入'花费'或者'接收'根据[TC_Sign]的值可以是' 1'或者' -1' (它在系统的其他地方用作乘数)。
当查询运行时,我在列中得到#ERROR。最后的手段是填充温度。在我的表单中的表,并使用它作为表单的数据源,但效率非常低,特别是因为我必须重建temp。每次添加事务时都会显示表。我更愿意查询一下我可以Requery。请注意......这取决于在查询中构建运行总计有多难/不可能!
提前感谢任何指导。
答案 0 :(得分:0)
错误的可能来源是引号。 "-1"
是包含文本-1
的字符串,而没有引号,它是一个值为-1的整数。如果您要将字符串与整数进行比较,则会出现错误,这就是您在列中获得#ERROR
的原因。
省略引号,它可能会正常运行。
SELECT ACTransaction.*, TransactionCategory.TC_Description,
TransactionCategory.TC_Sign, ACCategoryGroup.ACCG_Description,
ACCategory.ACC_Description, ACCategoryClass.ACCC_Description,
ACSubCategory.ACSC_Description, IIf([TC_Sign]=-1,[ACT_ValTTC],"") AS
Spend, IIf([TC_Sign]=1,[ACT_ValTTC],"") AS Receive
FROM TransactionCategory INNER JOIN (ACSubCategory INNER JOIN
((ACCategoryClass INNER JOIN (ACCategoryGroup INNER JOIN ACCategory ON
ACCategoryGroup.ACCG_ID = ACCategory.ACC_CategoryGroupID) ON
ACCategoryClass.ACCC_ID = ACCategory.ACC_CategoryClassID) INNER JOIN
ACTransaction ON ACCategory.ACC_ID = ACTransaction.ACT_CategoryID) ON
ACSubCategory.ACSC_ID = ACTransaction.ACT_SubCategoryID) ON
TransactionCategory.ID = ACTransaction.ACT_TransCategoryID;