可以的,代码和说明见下: compact.asp <% option explicit Const JET_3X = 4 Function CompactDB(dbPath, boolIs97) Dim fso, Engine, strDBPath strDBPath = left(dbPath,instrrev(DBPath,"\")) Set fso = CreateObject("Scripting.FileSystemObject") If fso.FileExists(dbPath) Then Set Engine = CreateObject("JRO.JetEngine") If boolIs97 = "True" Then Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath, _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb;" _ & "Jet OLEDB:Engine Type=" & JET_3X Else Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath, _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb" End If fso.CopyFile strDBPath & "temp.mdb",dbpath fso.DeleteFile(strDBPath & "temp.mdb") Set fso = nothing Set Engine = nothing CompactDB = "恭喜," & dbpath & "已经压缩成功!" & vbCrLf Else CompactDB = "噢,您的数据库没有找到!" & vbCrLf End If End Function %> <html> <body> 精彩春风之在线压缩Access数据库 <p align="center"> <form action=compact.asp> 请输入数据库的相关路径、名称: <br><br> <input type="text" name="dbpath"><br><br> <input type="checkbox" name="boolIs97" value="True"> 检查是否Access 97 (默认为Access 2000) <br> <input type="submit" value="开始压缩"> <form> <br><br> <% Dim dbpath,boolIs97 dbpath = request("dbpath") boolIs97 = request("boolIs97") If dbpath <> "" Then dbpath = server.mappath(dbpath) response.write(CompactDB(dbpath,boolIs97)) End If %> </p> </body> </html>