分享

vb创建压缩access数据库

 zele 2010-12-27

1.首先要引用ADOX

    Microsoft ADO Ext. 2.8 for DLL and Securiety

2.代码
Dim cat As New ADOX.catalog
MAM_path = "C:\"
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & MAM_path & "Del_Repeated.mdb;"

Dim conn As New ADODB.Connection, constr As String
constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & MAM_Control_path & "Del_Repeated.mdb;Persist Security Info=False"
conn.Open constr

conn.Execute "create table Mail_info(subject string,sent_time date)"
conn.Execute "create table FolderName(FolderName string)"
conn.Close

3.用dao压缩数据库

引用如下:

Microsoft DAO 3.6 Object Library

Private Sub Cmd_prd_rt_Click()
Call CompactJetDatabase(mdb_source, True)   '压缩数据库
End Sub

Private Sub CompactJetDatabase(Location As String, Optional BackupOriginal As Boolean = True)
'Location数据库的完整路径
On Error GoTo CompactErr

Dim strTempFile As String
Dim m As Integer
Dim n As String

m = InStrRev(Location, "\") '文件夹的目录的最后一个\
strTempFile = Trim(Left(Location, m))   '数据库所在目录
'检查数据库文件是否存在

If Dir(Location, vbNormal) <> "" Then
    '如果需要备份就执行备份
    If BackupOriginal = True Then
        '创建临时文件名
        strTempFile = strTempFile & "temp.mdb"
        If Dir(strTempFile, vbNormal) <> "" Then Kill strTempFile
   
        '通过DBEngine压缩数据库文件
        'dBEngine.CompactDatabase Location, strTempFile, , , ";pwd=mss0016800RPV"
         DBEngine.CompactDatabase Location, strTempFile
        
        '删除原来的数据库文件
        Kill Location
        '拷贝刚刚压缩过临时数据库文件至原来位置
        Name strTempFile As Location
    End If
End If

CompactErr:

End Sub

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多