你的 ADODB.Recordset 一定不是基于单表的!

解决方案 »

  1.   

    to:playyuer(女㊣爱)
    什么是基于表单的
    有主键
      

  2.   

    Dim Re As New Recordset
    Re.CursorLocation = adUseClient
    Re.Open "select ½ø»õ×ܶî,½øÍË×ܶî,ʵ½ø»õ¶î,ÏúÊÛ×ܶî,ÏúÍË×ܶî,ʵÏúÊÛ¶î,¿ÍÉ̱àºÅ from ¿ÍÉÌÐÅÏ¢ order by ¿ÍÉ̱àºÅ", CONN, adOpenStatic, adLockBatchOptimistic
    If Re.RecordCount > 0 Then
    Do While Not Re.EOF
    Re.Fields(2) = Re.Fields(0) - Re.Fields(1)
    Re.Fields(5) = Re.Fields(3) - Re.Fields(4)
    Re.MoveNext
    Loop
    Re.UpdateBatch adAffectAllChapters
    End If
      

  3.   

    你的SQL语句是多个表查询的,而你想用的这种更新方法只能在一个表内进行,也就是说所有的查询内容只能从一个表里。明白吗?
      

  4.   

    昏,不是多表啊,一个表select ####,####,####,###,###,##### from *** order by @@@
      

  5.   

    rom ¿ÍÉÌÐÅÏ¢ order by ¿ÍÉ̱àº&Aring???
      

  6.   

    你为什么不用 CONN.Execute "Update TableName Set Fields2=Fields0-Fields1 ,Fields5=Fields3-Fields4"?
      

  7.   

    我再说一次,有主键的,ORDER BY 后面是主键
      

  8.   

    >>Re.open xxx, CONN, adOpenStatic, adLockBatchOptimistic
    不能使用adOpenStatic,改为adOpenKeyset试试
      

  9.   

    : cqq_chen(我是谁) (2001-8-6 15:52:06)  得0分 
    我给一个小小的建议,不使用中文字段,否则可以出现不可预料的错误 
    确定是这个原因吗?
    因为这个错误时有时无,不大象是语法的问题!
      

  10.   

    问题又来了,我正在按上述朋友的方法一一测试,没想到我在SLQ的企业管理器里面直接修改数据时,也发生同样的错误,这到底是怎么回事啊,救救我!昏了啊
      

  11.   

    你的这个表有主键吗?最好把表结构的SQL Script脚本贴出来。
      

  12.   

    麻烦大家请继续关注我的这个问题
    : mickeypeng(鹏) 好象是的也对,虽然是抱错,但是完成了工作!
    这是我的SQL服务器设置有问题吗
      

  13.   

    hnlzh(吸海垂虹) (2001-8-6 16:49:08)  得0分 
    通常這种錯誤是因為有几行完全一樣的數据,所以要建立一個主鍵來 谢谢,非常感谢!我本以为设置了主键,没想到由于导入的原因,主见没设置!
      

  14.   

    hnlzh(吸海垂虹) (2001-8-6 16:49:08)  得0分 
    為什麼我得0分??
    受到打擊...
      

  15.   

    你看错了,他是把你写的COPY下来而已。