insert into
OPENQUERY(TEST, 'SELECT tab1.s1,tab1.s2,tab2.w1,tab2.w2 ,tab2.w3 from tab1,tab2 ')
SELECT  sql1.x1
      ,sql1.x2
      ,sql1.x1
      ,sql1.y1
      ,?常数      --问题
      
where sqll1.x1=sql2.y1
----------------------------------------------------
如果上面是原句则有语法失误:
insert into
OPENQUERY(TEST, 'SELECT tab1.s1,tab1.s2,tab2.w1,tab2.w2 ,tab2.w3 from tab1,tab2 ')
SELECT  sql1.x1
      ,sql1.x2
      ,sql1.x1
      ,sql1.y1
      ,?常数      --问题
 from sql1,sql2  ----这里的from子句     
where sql1.x1=sql2.y1 ----sqll1.x1=sql2.y1->sql1.x1=sql2.y1
                             ^多了。
?常数-> 这里当然可以是常数,不明白“因为对于表tab2的字段w3,他就是一个常数.”
的意思,tab2的w3当然不能是虚列,否则“?常数”存在那里呢?
      
--------------------------------------------------------------
如果没有语法上的问题,则要求你对access的基表tab1,tab2有足够的insert、
update、delete操作权限。我没有实际地这样操作过,这个问题还是让人长知识的。
希望我的提示能对你有所帮助,也希望这是我今年解决的最后一个问题。
希望新的一年我们大家一道好运吧!

解决方案 »

  1.   

    谢谢你的回答,1.我忘记在贴子上加from子句了!2.如果那里可以放常数,假如是'中国'可以这样写吗?3.权限没有问题
    祝你新年快乐!
      

  2.   

    提示一下,如果'SELECT tab1.s1,tab1.s2,tab2.w1,tab2.w2 ,tab2.w3 from tab1,tab2'这一句改为select s1,s2 from tab1.既只插到一个Access表中,则没有问题!,但为什么插到两个表就有问题呢?
      

  3.   

    TO:net_steven(吃素的狼) 
    对,那里可以放常数,我没有遇到过这样的问题,其他问题再帮我看看吧!再次祝你新年好运!
      

  4.   

    我记得在sql中通过视图同时只能针对一个基表进行更改。
    OPENQUERY()产生的结果集实际上也是个视图,sql 的book online只提到可以
    对OPENQUERY()进行更改操作,并没有明确说明可更改的基表数量。如果你试过,
    说明它遵守同样的规则吧。不行的话恐怕只能分别操作了。
    多试试,明年看你的结果。
      

  5.   

    这个问题既然已经找到答案,我就不多说了,以前使用pb时,用到数据窗口时,就碰到过这个问题,数据窗口可以显示多个表的联合查询,但只能指定其中一个表可以修改,虽然可以通过编程动态改变可修改的表,但原则是同一时间只能有一个可修改的表。
    后来直接写sql语句操作数据库,在对联合多个表的视图进行操作时,也只能一次修改一个基表。
    所以,这个问题
      

  6.   

    SELECT  sql1.x1 as s1
          ,sql1.x2  as s2
          ,sql1.x1  as w1
          ,sql1.y1  as w2
    into #tmp
    from sql1,sql2  
    where sql1.x1=sql2.y1 
    insert into
    OPENQUERY(TEST, 'SELECT s1,s2 from tab1')
    select s1,s2 from #tmp
    insert into
    OPENQUERY(TEST, 'SELECT w1,w2,w3 from tab2')
    select w1,w2,yourstr as w3 from #tmp
      

  7.   

    谢谢你,net_steven(吃素的狼),在vb中也有这样一个题目,我是用VB的.你只要在VB的这个标题下给我写上'新年快乐',那100分也是你的!BY THE WAY,你在哪个城市呢?能留下你的e_mail吗?
      

  8.   

    ┏━┓        \ /        ┏━┓      
    ┃新┃        祝您        ┃乐┃*
    ┗━┛¦ ┏━┓ / \ ┏━┓ ¦┗━┛
        -o-┃年┃    ┃快┃-o-    
      +  ¦ ┗━┛  *  ┗━┛ ¦  +