着急...请大家帮忙,,,,执行提示from语句错误,请大家帮忙看看哪里出的问题,谢谢.
cn2.Execute "delete * from linshi"
cn2.Execute "insert into linshi select * from 今日表 where 类别='入库'" & s
用inner jion语句后,提示from语句错误,但是我没看出哪里有问题!
cn2.Execute "update (select * from 库存表 inner join linshi on 库存表.车型品名=linshi.车型品名 set 库存表.库存量=trim(str(val(库存表.库存量)+val(linshi.数量))),库存表.库存吨数=trim(str(val(库存表.库存吨数)+val(linshi.单重)*val(linshi.数量)/1000)) "
问题点数:0、回复次数:3Top
1 楼jadeluo(秀峰)回复于 2005-06-01 07:56:35 得分 0
1. 没见过Update后面跟Select的,楼主仔细看看Update语法吧:
UPDATE [DatabaseName1!]TableName1
SET Column_Name1 = eExpression1
[, Column_Name2 = eExpression2 ...]
WHERE FilterCondition1 [AND | OR FilterCondition2 ...]]
[DatabaseName1!]TableName1部分是不允许出现Select的,更不允许出现Join。
2. 根据变量值动态生成SQL的语句有问题,按你这样写:
"update (select * from 库存表 inner join linshi on 库存表.车型品名=linshi.车型品名 set 库存表.库存量=trim(str(val(库存表.库存量)+val(linshi.数量))),库存表.库存吨数=trim(str(val(库存表.库存吨数)+val(linshi.单重)*val(linshi.数量)/1000)) "
这里面的trim(str(val(库存表.库存量)+val(linshi.数量)))和trim(str(val(库存表.库存吨数)+val(linshi.单重)*val(linshi.数量)/1000))是被当作SQL语句的一部分了。
这个语句应该写成:
"update ...... set 库存表.库存量=库存表.库存量+" & Str(linshi.数量) & ",库存表.库存吨数=库存表.库存吨数+" & Str(val(linshi.单重)*val(linshi.数量)/1000)
Top
2 楼shaxue(沙雪)回复于 2005-06-01 08:30:54 得分 0
可是我的库存量和库存吨数都是字符字段不是数值字段,所以要加trim(str())转换,这个语句我在另一个程序里面使用没有问题,不知道怎么挪到这里来就提示出错??Top
3 楼shaxue(沙雪)回复于 2005-06-01 08:33:39 得分 0
按照2楼给我的,提示要求对象....Top




