vb.net – 在SQL语句中无法识别’=’
发布时间:2020-12-17 07:11:04 所属栏目:百科 来源:网络整理
导读:我收到一条错误,指出无法识别等号.我总是在Access中测试我的代码以确保它能够正常工作.有谁知道为什么会这样? 码: SELECT SUM( IIf(TransactionType = 'Cash',TotalPrice,0) ) AS TotalCash,SUM( IIf(TransactionType = 'Credit',0) ) AS TotalCredit,SUM(
我收到一条错误,指出无法识别等号.我总是在Access中测试我的代码以确保它能够正常工作.有谁知道为什么会这样?
码: SELECT SUM( IIf(TransactionType = 'Cash',TotalPrice,0) ) AS TotalCash,SUM( IIf(TransactionType = 'Credit',0) ) AS TotalCredit,SUM( IIf(TransactionType = 'Check',0) ) AS TotalCheck,SUM( IIf(TransactionType = 'Multiple',IIf(MultiCash = 0,MultiCash),0) ) AS MultipleCash,IIf(MultiCredit= 0,MultiCredit),0) ) AS MultipleCredit,IIf(MultiCheck = 0,MultiCheck),0) ) AS MultipleCheck FROM RECEIPT WHERE ReceiptDate BETWEEN ? AND ? 错误: Generated SELECT statement. Error in list of function arguments: '=' not recongized. Unable to parse query text. 编辑: 让我告诉你我想做什么而不只是发布代码.这可能是解决这个问题的另一个简单方法.所以我想从vb.net中的报告查看器中提取报告,告诉我在特定日期之间使用的投标. 防爆. 1/20/2013 Transaction Type Amount Cash $100.00 Check $300.00 Credit $1,000.00 MultiCash $1,500.00 MultiCheck $1,500.00 MultiCredit $1,500.00 在报表查看器中有类似的东西.用户将能够选择特定日期. RECEIPT ----------- ReceiptNumber (PK) ReceiptDate TotalPrice TransactionType MultiCash MultiCheck MultiCredit TotalTax 可能还有其他任何方法吗? 谢谢你的帮助. 解决方法
条款如:
IIf(MultiCash = 0,MultiCash) 什么都不做.你说“如果multicash是0,使用0,否则使用值……” 它看起来像是一种过于复杂的方式.试试这个,它会以稍微不同的格式给你数据,但我怀疑它会接近你所追求的 SELECT TransactionType,SUM(TotalPrice) AS SumTotalPrice,SUM(MultiCash ) AS MultipleCash,SUM(MultiCredit) AS MultipleCredit,SUM(MultiCheck ) AS MultipleCheck FROM Receipt WHERE ReceiptDate BETWEEN ? AND ? GROUP BY TransactionType 它还有一个好处,即查询将自然处理以后引入的新支付类型. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |