2016-03-08 40 views
1

我有一些VBA代码设置一个TempVarDSUM与TempVars的返回错误

TempVars!ThisQtr = quarter 
TempVars!LastQtr = lastQuarter 
TempVars!LastYr = lastYear 
TempVars!ThisYr = currentYear 

太好了!我知道它确实将它设置为我已经多次检查过。
现在我的问题:
我想在查询

DSum("[SumBase]","CompareUnionQuery","[AU] = '" & [AU] & "' AND [GRP_ID] = " & [GRP_ID] & " AND [ACCOUNT] = '" & [ACCOUNT] & "'" & " AND [Fiscal_Year] = " & [TempVars]![ThisYr] & " AND [QTR]= " & [TempVars]![ThisQtr]) 

当我改变了TempVars与值此做工作,用这个。谁能帮我这个? 我试图在他们身上放一个单引号,这是行不通的。

enter image description here

这个表达式不工作:

DSum("[SumBase]","CompareUnionQuery","[AU] = '" & [AU] & "' AND [GRP_ID] = " & [GRP_ID] & " AND [ACCOUNT] = '" & [ACCOUNT] & "'" & " AND [Fiscal_Year] = 2015 AND [QTR]= '3'") 

回答

1

比较你DSum表达式的最后一枚......

  1. AND [QTR]= '3'")
  2. AND [QTR]= " & [TempVars]![ThisQtr])

您报告#1作品和#2触发“数据类型不匹配”错误。所以在TempVar的值前后添加单引号...

AND [QTR]= '" & [TempVars]![ThisQtr] & "'")