我想在vb程序里检测到acess数据库a表的记录超过10000时,就将数据库备分到b表,然后再清空a表的记录,请问如何实现?谢谢

解决方案 »

  1.   

    这个很简单那,只要程序时时的自动去检查A表,然后判断是否超过了10000时就将数据插入到b表中了,完毕后再把a表中的数据删除就可以了.
      

  2.   

    select count(*) from a
      

  3.   

    Private Sub Command2_Click()
    Dim db As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim rs1 As New ADODB.Recordset
    Dim i As Long, ii As Longdb.ConnectionString = "provider=microsoft.jet.oledb.4.0;" & "data source=" & App.Path & "\dev.mdb"
    db.Open
    rs.CursorLocation = adUseClient
    rs.Open "select * from a", db
    i = rs.RecordCount
    If i > 1000 Then'如果超过1000条就处理
        rs1.Open "b", db, adOpenDynamic, adLockOptimistic
        For ii = 1 To i
            rs.Move ii
            rs1.AddNew
            rs1!id = rs!id
            rs1!Name = rs!Name'替换成你的字段名
            rs1.Update
        Next ii
        rs.Close
        rs1.Close
        db.Execute "delete from a"'清除a表
    End If
    End Sub
      

  4.   

    Recordset 的RecordCount 属性就是返回的记录的数目。
    Recordset.open "select * from table",connectionv, adOpenDynamic, adLockOptimistic
    msgbox Recordset.RecordCount
      

  5.   

    to  tztz520(午夜逛街) 
    请问将数据插入到b表有没有更快的方法?
      

  6.   

    最快:
    判断 select count(*) from a > 10000
      INSERT INTO b SELECT a.* FROM a
      delete from a