积极向上的诗句李白:vb创建压缩access数据库

来源:百度文库 编辑:偶看新闻 时间:2024/05/03 03:06:52

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