Office中国论坛/Access中国论坛

标题: 如何用代码压缩当前数据库?? [打印本页]

作者: sunredday    时间: 2003-6-13 00:44
标题: 如何用代码压缩当前数据库??
Private Sub 命令0_Click()
Dim dbNWD As DAO.Database
Set dbNWD = CurrentDb
DBEngine.CompactDatabase "C:\材料信息系统\材料信息系统", "C:\材料信息系统\材料信息系统"
Quit

End Sub
???????????????????????????????????????????????
作者: 李寻欢    时间: 2003-6-13 01:31
With CommandBars.Add(, msoBarFloating, , True)
     .Controls.Add msoControlButton, CommandBars("Tools").Controls(7).CommandBar.Controls(2).ID
     .Visible = True
     .Controls(1).SetFocus
     SendKeys "{ENTER}"
   End With
作者: Kiss-win    时间: 2003-6-13 04:35
试试我这个函数吧,我一直都这样用,没有出现过问题。
Function ComDB()
On Error GoTo err_ComDB

Dim mydb, strPath As String
Dim wenjian
Set wenjian = CreateObject("scripting.filesystemobject")
Set mydb = CurrentDb
strPath = Left(mydb.Name, Len(mydb.Name) - 9)

    DBEngine.CompactDatabase strPath & "BusDown.mdb", strPath & "temp.mdb"
    Kill strPath & "BusDown.mdb"
    Name strPath & "temp.mdb" As strPath & "BusDown.mdb"
    Exit Function
err_ComDB:
    MsgBox Err.Description
ComDB = CVErr(65534)
End Function
作者: eio    时间: 2003-6-13 04:44
这是压缩一个没有打开的数据库函数!
作者: sunredday    时间: 2003-6-13 05:32

Dim bbb As CommandBar

Set bbb = CommandBars.Add(, msoBarFloating, , True)
     bbb.Controls.Add msoControlButton, CommandBars("Tools").Controls(7).CommandBar.Controls(2).ID
     bbb.Visible = True
     bbb.Controls(1).SetFocus
     SendKeys "{ENTER}"
作者: sunredday    时间: 2003-6-13 05:39
一比较,才知道
WITH CommandBars.Add(, msoBarFloating, , True) 的含义
要引用OFFCE OBJECT
另外
Controls(7).CommandBar.Controls(2).ID
这些号如何搞来?
多谢了。





[此贴子已经被作者于2003-6-12 21:39:36编辑过]


作者: Kiss-win    时间: 2003-6-13 09:00
你要将当前数据库变成没有打开状态很容易呀,只要添加一个没有任何数据源的窗体,就在这个窗体中呼叫这个函数来执行数据库的压缩操作,不过要注意的是,在压缩数据库之前要保证当前数据库中没有任何的数据读取动作在发生,而且有限制条件,就是,你正在使用的数据库必须为前端,压缩动作只是对后台数据库压缩。


[此贴子已经被作者于2003-6-13 1:02:32编辑过]


作者: gdjdyyj    时间: 2013-6-1 21:50
学习!!!
作者: 5574916    时间: 2013-6-2 11:10
以前在论坛学习的方法,access2003 已测试可用

'关闭主窗体并修复压缩数据库
MsgBox ("压缩数据库并重新打开窗口")
CommandBars("Tools").Controls("数据库实用工具(&D)").Controls("压缩和修复数据库(&C)...").accDoDefaultAction





欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3