急,在线等。vb+access中一句SQL语句不能通过,求正解。谢谢!

everyone123 2005-10-30 08:50:19
第一次用access做数据库,郁闷致死,一句sql语句,老是说丢失操作符号,请各位大虾帮忙修正一下,急用,在线等!!!!

UPDATE main
SET t.ClientName = s.ClientName
FROM main t, ClientNameAndTaxCode s
WHERE t.ClientTaxCode = s.ClientTaxCode
...全文
227 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
everyone123 2005-10-31
  • 打赏
  • 举报
回复
果然和楼上的兄弟说的一样。不过我原本的写法至少在SQL Server中是可以的。Access我是第一次用来写程序,不知道还有这种讲究啊。谢谢各位的响应。
of123 2005-10-31
  • 打赏
  • 举报
回复
UPDATE main, ClientNameAndTaxCode
SET main.ClientName = ClientNameAndTaxCode.ClientName
WHERE main.ClientTaxCode = ClientNameAndTaxCode.ClientTaxCode

上贴用了中文逗号,更正
of123 2005-10-31
  • 打赏
  • 举报
回复
UPDATE main,ClientNameAndTaxCode
SET main.ClientName = ClientNameAndTaxCode.ClientName
WHERE main.ClientTaxCode = ClientNameAndTaxCode.ClientTaxCode

Update 语句怎么可以包含 Form 子句?除非它在子查询中。
饮水需思源 2005-10-30
  • 打赏
  • 举报
回复
要不就是ACCESS不支持这种更新方法了
northwolves 2005-10-30
  • 打赏
  • 举报
回复
try:

UPDATE main
SET t.ClientName = s.ClientName
WHERE t.ClientTaxCode = s.ClientTaxCode

印象中JET的UPDATE 不与 FROM 同时用的,好久不用了,不知说得对不对.
everyone123 2005-10-30
  • 打赏
  • 举报
回复
楼上的大虾有见地,不过还是不行。
算了,不影响大家休息了,明天问一下公司一个用了十年vb的老兄,看看问题在那里。回头我在贴出来
lsftest 2005-10-30
  • 打赏
  • 举报
回复
把main表改名为其他名字如mainbak试试。。。
main可能是access的保留字也说不定。。。。
everyone123 2005-10-30
  • 打赏
  • 举报
回复
语法错误(操作符丢失)在查询表达式s.ClientName FROM main t 中


其他该法都是类似的错误,明明有from的阿
everyone123 2005-10-30
  • 打赏
  • 举报
回复
改成这样子,还是说from附近有错,晕

UPDATE main
SET t.ClientName = s.ClientName
from main as t inner join ClientNameAndTaxCode as s
on t.ClientTaxCode = s.ClientTaxCode
faysky2 2005-10-30
  • 打赏
  • 举报
回复
把你出错的完整代码帖出来
faysky2 2005-10-30
  • 打赏
  • 举报
回复
你把main写成了[main]没有?
everyone123 2005-10-30
  • 打赏
  • 举报
回复
我已经试过了,不行的,莫非要加dbo
faysky2 2005-10-30
  • 打赏
  • 举报
回复
不用别名,直接做看行不行:
UPDATE [main]
SET [main].ClientName = ClientNameAndTaxCode.ClientName
FROM [main], ClientNameAndTaxCode
WHERE [main].ClientTaxCode = ClientNameAndTaxCode.ClientTaxCode
everyone123 2005-10-30
  • 打赏
  • 举报
回复
还是from附近有错。这个是在access下用的
我哭了
饮水需思源 2005-10-30
  • 打赏
  • 举报
回复
加上as试试:
UPDATE t
SET t.ClientName = s.ClientName
FROM [main] as t, ClientNameAndTaxCode as s
WHERE t.ClientTaxCode = s.ClientTaxCode
everyone123 2005-10-30
  • 打赏
  • 举报
回复
不是吧,这样写,我写程序也有些年头了
我按照你的改,还是一样的错误
FROM附近
faysky2 2005-10-30
  • 打赏
  • 举报
回复
说错
everyone123 2005-10-30
  • 打赏
  • 举报
回复
改成t了,还是一样
郁闷啊,access
faysky2 2005-10-30
  • 打赏
  • 举报
回复
把From后面的main改为s
UPDATE t
SET t.ClientName = s.ClientName
FROM t s, ClientNameAndTaxCode s
WHERE t.ClientTaxCode = s.ClientTaxCode

faysky2 2005-10-30
  • 打赏
  • 举报
回复
你的main在这里好象没起什么作用呀
加载更多回复(7)

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧