打开Access文件中的表发现数据内容已经删除,但是mdb文件大小却未变,什么原因呢?
代码如下:
Private Sub AccessDataDelete_Click()
Dim AccessConnection As ADODB.Connection
Dim AccessRecordSet As ADODB.Recordset
Dim AccessConString As String, AccessSqlString As StringProviderString = "Microsoft.Jet.OLEDB.4.0"
Set AccessConnection = New ADODB.Connection
Set AccessRecordSet = New ADODB.RecordsetAccessConnection.Provider = ProviderString
AccessConnection.ConnectionString = "Data Source=E:\vb\stock\stock.mdb"
AccessConnection.OpenAccessSqlString = "delete * from stock1"
AccessRecordSet.Source = AccessSqlString
AccessRecordSet.ActiveConnection = AccessConnection
AccessRecordSet.LockType = adLockOptimisticAccessRecordSet.Open'AccessRecordSet.Close
AccessConnection.Close
MsgBox "finished"
End Sub

解决方案 »

  1.   

    有一说是delete只是标记了删除,所以access经常要修复优化......
      

  2.   

    Access数据库删除记录后,文件的大小不变,是不是记录并没有删除呢?
    记录确实已经删除,只是ACCESS 不会自动回收空间,Access里面有几个隐藏的系统表,不用压缩命令里面数据的会积越多,需要你手工压缩一下。
    手工压缩方法如下:
    打开Access数据库,点击“工具-->数据库实用工具-->压缩和修复数据库”可适当减少数据库负荷。
    vb压缩MDB的代码:
    DBEngine.CompactDatabase "源数据库", "目的数据库"
      

  3.   

    access删除数据后,数据库是不会变小的。
      

  4.   

    用久了要压缩MDB数据....google搜索mdb压缩