请教一个语句

sqr5 2003-10-20 05:25:34
如果使用SQL指令实现Access的“压缩和修复数据库”功能呢?
...全文
33 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
changechange 2003-10-29
  • 打赏
  • 举报
回复
....
zjcxc 2003-10-29
  • 打赏
  • 举报
回复
所以引用DAO就行了.
zjcxc 2003-10-29
  • 打赏
  • 举报
回复
ACCESS数据库不支持SQL命令压缩.要用DAO的DBEngine.CompactDatabase来压缩数据库.

SQL数据库支持,可以用: DBCC SHRINKFILE
收缩相关数据库的指定数据文件或日志文件大小。

语法
DBCC SHRINKFILE
( { file_name | file_id }
{ [ , target_size ]
| [ , { EMPTYFILE | NOTRUNCATE | TRUNCATEONLY } ]
}
)

示例
下例将 UserDB 用户数据库中名为 DataFil1 的文件收缩到 7 MB。

USE UserDB
GO
DBCC SHRINKFILE (DataFil1, 7)
GO

sqr5 2003-10-28
  • 打赏
  • 举报
回复
大家帮帮忙吧……
changechange 2003-10-28
  • 打赏
  • 举报
回复
http://access911.net/index.asp?board=4&recordid=71FAB71E
changechange 2003-10-28
  • 打赏
  • 举报
回复
jet sql不支持压缩
用VBA才可以

'下属代码需要引用DAO
Public Sub ComDB(strTargetDBname As String)
On Error GoTo err_ComDB

Dim strTempDBpath As String, strDBname As String

strDBname = Right(strTargetDBname, 13)
strTempDBpath = Left(strTargetDBname, Len(strTargetDBname) - 13)
Debug.Print strTargetDBname & " " & strDBname & " " & strTempDBpath
If strDBname = "databases.mdb" Then
DBEngine.CompactDatabase strTargetDBname, strTempDBpath & "temp.mdb"
Kill strTempDBpath & "databases.mdb"
Name strTempDBpath & "temp.mdb" As strTempDBpath & "databases.mdb"

MsgBox "压缩完成!"
Else
MsgBox "数据库文件名错误!"
End If
Exit Sub
err_ComDB:
MsgBox Err.Description
End Sub

liuyann 2003-10-28
  • 打赏
  • 举报
回复
SQL指令不行
VBA可以
cheny1234 2003-10-28
  • 打赏
  • 举报
回复
SQL指令?
VBA编程就可以
Public Sub ComDB(strTargetDBname As String)
On Error GoTo err_ComDB

Dim strTempDBpath As String, strDBname As String

strDBname = Right(strTargetDBname, 13)
strTempDBpath = Left(strTargetDBname, Len(strTargetDBname) - 13)
Debug.Print strTargetDBname & " " & strDBname & " " & strTempDBpath
If strDBname = "databases.mdb" Then
DBEngine.CompactDatabase strTargetDBname, strTempDBpath & "temp.mdb"
Kill strTempDBpath & "databases.mdb"
Name strTempDBpath & "temp.mdb" As strTempDBpath & "databases.mdb"

MsgBox "压缩完成!"
Else
MsgBox "数据库文件名错误!"
End If
Exit Sub
err_ComDB:
MsgBox Err.Description
End Sub
sqr5 2003-10-21
  • 打赏
  • 举报
回复
关于这个功能我查了好久msdn都没找到……
能说说怎么用吗?

注:我把“如何”打成了“如果”……
chenyubang 2003-10-21
  • 打赏
  • 举报
回复
一般SQL的书都有,自己查下书,DIY吧

7,712

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧