我有点困惑为什么我的ACCESS SQL查询会有不同的行为......当我使用NOW()参数进行SELECT查询时,我得到了正确的结果。但是如果我使用TempVar!Date和今天的日期它返回0 ...查询如下:
这个有效:
选择[帐户交易]。,类别。, IIF([类别] [收入/支出] = “费用”, - ([帐户 交易]![交易金额]),[账户 交易]![交易金额])AS [实际金额] FROM [账户 交易] LEFT JOIN类别ON [账户交易] .Category = Categories.ID WHERE月([账户交易]。[输入日期])=月(现在());
这个不起作用:
选择[帐户交易]。,类别。,IIf([类别]。 [收入/支出] =“费用”, - ([账户交易]![交易 金额]),[账户交易]![交易金额])AS [实际 金额] FROM [账户交易] LEFT JOIN类别ON [账户 交易] .Category = Categories.ID WHERE月([账户 交易]。[输入日期])=月([TempVars]![日期]);
我需要第二个 - 用我的变量来工作。你的帮助将不胜感激。我测试了tempvar值,没关系。
答案 0 :(得分:0)
试试这个:
SELECT [Account Transactions].*, Categories.*, IIf([Categories].[Income/Expense]="Expense",-([Account Transactions]![Transaction Amount]),[Account Transactions]![Transaction Amount]) AS [Actual Amount]
FROM [Account Transactions]
LEFT JOIN Categories ON [Account Transactions].Category = Categories.ID
WHERE month([Account Transactions].[Entry Date]) = month([TempVars]![Date]);
我删除了一些额外的空格,并在需要时添加星号。
您的TempVars值仅会持续当前打开的MS Access会话。当您在VBA窗口中输入?Application.TempVars("Date").Value
时,您会得到什么?