添加字段到指定字段后的问题表中有字段1,2,3,4,5,其中字段5的值为1+2+3+4
现要添加字段6到字段2与3之间,并且字段5的值自动更改为1+2+3+4+6
请问如何写代码>>>
小弟很菜,请帮忙!谢谢

解决方案 »

  1.   

    能解决问题的办法就是好办法。
    如果非要用sql语句来实现,步骤反而复杂。而且,非要指定字段的位置似乎没什么必要。
      

  2.   

    使用一个rs集也一样:先设置一个ID来标记记录号,对应的值为Value.以下写的仅供参考,无非是重复使用了一些语句来实现目标,自己调试。
       dim N as integer
       dim strSQL as string
       dim conn as new ADODB.connection
       dim rs as new ADODB.recordset   strSQL = app.path & "A.mdb"
       strSQL = Replace(strSQL, "\\", "\")
       
       With conn
           If .State = 1 Then
              .Close
           End If
           .CursorLocation = adUseClient
           .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & strSQL
           .Open
       End With   With rs
           .Open "SELECT Id, IDvalue FROM Table1 ORDER BY Id;", conn, adOpenStatic, adLockOptimistic
       End With
       for N = 3 to 5 '改动3及以后的Id号
           with rs 
              .move (N-1)
              .Id = (N+1)
              .update
           end with
        next N    with rs
            .addnew '新增一个ID为3的项
            .Id =3
            .Value3 = XX 'XX是你赋予的新增项目的值。
            .update
        end with    With rs  '重新查出rs集并排序
            .close
            .Open "SELECT Id, IDvalue FROM Table1 ORDER BY Id;", conn, adOpenStatic, adLockOptimistic
            .movelast
            .movefirst
       End With   dim newValue as ---'求得前5项的值
       for N =1 to (rs.recordcount-1)
          with rs
               newvalue =newvalue + .valueN
               .movenext
          end with
       next N   with rs
           .movelast
           .value6 = newvalue '将前5项的值赋值最后一项的值。
           .update
       end with
      

  3.   

    '最后再加两句:关闭连接和记录集
      rs.close
       conn.close