这是我的视觉基本代码。我有一个Access数据库。收入表,收入金额,月份等列。我已经验证了数据在表中并且正在加载到数据集中。肯定有一个" 2018年1月" MonthYr列中的值。而且我在收入金额列中也有十进制数字。
Dim sum = IncomeTable.Compute("SUM(Income Amount)", "MonthYr = January 2018")
'上面的代码会导致此错误:在2018年之后缺少操作数'操作
Dim sum = IncomeTable.Compute("SUM(Income Amount)", "MonthYr = 'January 2018'")
'上面的代码导致此错误:聚合参数中的语法错误:期望单个列参数可能具有' Child'限定符。
Dim sum = IncomeTable.Compute("SUM(Income Amount)", "MonthYr = [January 2018]")
'上面的代码导致此错误:找不到列[2018年1月]。
- 在Access中,收入金额列是货币数据类型,而MonthYr列是短文本数据类型
- 我尝试了各种其他的事情,例如使用_underscore来替换列名和" 2018年1月和#34; - 我一直在寻找msdn和谷歌,并尝试了我能想到的代码的每个变体。
答案 0 :(得分:0)
你的语法完全不合适 - 不管你从哪里得到它。
可能是:
Dim SumAmount As Currency
SumAmount = DSum("[Income Amount]", "IncomeTable", "MonthYr = 'January 2018'")
在VB中:
打开记录集:
"Select Sum([Income Amount]) From IncomeTable Where MonthYr = 'January 2018'"