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
|