本人写了下面语句
rs.Open "select ivoucher.vdate as 日期,ivoucher.expl as 摘要,(case ivoucher.vdc when 1 then ivoucher.rmb else 0 end) as 借方,
(case ivoucher.vdc when-1 then ivoucher.rmb else 0 end) as 贷方 ,欠款=( 借方-贷方)
from ivoucher where year=(" & Val(Text4.Text) & ") and ccode=" & Val(Text10.Text) & "", conn, adOpenDynamic, adLockOptimistic
系统提示
"欠款=( 借方-贷方)" 出错 借方和贷方列名无效
请教高手 欠款=( 借方-贷方) 用VB语言 应如何表达
虽然你把一段SQL as成了借方,但是,实际上这如果你直接写成欠款=( 借方-贷方,还是会当列名处理,所以一定是错
我个人的意见是:
1,你这个SQL太复杂,简化
2,实在不能简化,把你前面as借方替换到后面
欠款=(case ivoucher.vdc when 1 then ivoucher.rmb else 0 end)-(case ivoucher.vdc when-1 then ivoucher.rmb else 0 end)
个人认为表结构设计不合理