内容显示页
 
类别:ASP+VBS | 浏览(201) | 2007-9-28 16:58:58

'/*=========================================================================
' * Intro       直接把要压缩的ACCESS数据库拖到这个文件上,按操作来便可以了
' * FileName    ACCESS数据库压缩.vbs
' * Author      yongfa365
' * Version     v1.0
' * WEB         http://www.yongfa365.com
' * Email       yongfa365[at]qq.com
' * FirstWrite  http://www.yongfa365.com/item/ACCESS-CompactDatabase-97-2000-2003-yongfa365.html
' * LastModify  2007-12-11 13:27:17
' *==========================================================================*/

'====================压缩数据库 =========================
Set objArgs = WScript.Arguments
For I = 0 to objArgs.Count - 1

    dbpath = objArgs(I)
    boolIs97 = msgbox("97版数据库?",vbYesNo+vbDefaultButton2)

    If dbpath <> "" Then
    CompactDB dbpath,boolIs97
    End If

Next
'=====================压缩参数=========================
Function CompactDB(dbPath, boolIs97)
Dim fso, Engine, strDBPath,JET_3X
strDBPath = left(dbPath,instrrev(DBPath,"\"))
Set fso = CreateObject("Scripting.FileSystemObject")

If fso.FileExists(dbPath) Then
    fso.CopyFile dbpath,strDBPath & "temp.mdb"
    Set Engine = CreateObject("JRO.JetEngine")

    If boolIs97 = "True" Then
        Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb", _
        "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp1.mdb;" _
        & "Jet OLEDB:Engine Type=" & JET_3X
    Else
        Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb", _
        "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp1.mdb"
    End If

fso.CopyFile strDBPath & "temp1.mdb",dbpath
fso.DeleteFile(strDBPath & "temp.mdb")
fso.DeleteFile(strDBPath & "temp1.mdb")
Set fso = nothing
Set Engine = nothing
    CompactDB = "成功压缩! " & vbCrLf
Else
    CompactDB = "数据库名称或路径不正确. 请重试!" & vbCrLf
End If
Msgbox CompactDB 
End Function

引用本页地址:http://www.yongfa365.com/item/ACCESS-CompactDatabase-97-2000-2003-yongfa365.html
 
 
相关链接
 
网友评论:
1 Win - 2008-1-4 15:54:30
請問 Access 2003 中 ListBox 如何動態修改其選項,
即如何將 子表單 和 ListBox 作連動
煩請告知範例
感謝!!
 
2 yongfa365 - 2008-1-4 17:19:38
没研究过ACCESS直接编程,所以,也不清楚
 
3 前进,再前进 - 2008-1-18 8:46:59
怎样用VBS对数据库进行压缩?(我现在用VBS对DB中一个表进行了删除操作),就剩数据库压缩和修复这步了?请问怎么用VBS脚本实现啊?
谢谢~~~
 
4 yongfa365 - 2008-1-18 11:14:58
你这问题问得,。。。。
我给的代码就是压缩数据库的代码,调用这个函数就可以了:Function CompactDB(dbPath, boolIs97)
 
5 前进,再前进 - 2008-1-26 11:39:30
不好意思,当初没有理解正确,通过你的代码给我的提示和示范,我已经通过VBS实现了我预想的功能,非常感谢~~~
(我做的VBS这个文件,一部分功能就是这个压缩数据库,我的是直接双击这个VBS文件,就会将当前文件夹的MDB进行压缩,不过美中不足的是好像没有修复数据库的方法了,遗憾~~~)
 
姓名: 记住我
网址:
邮箱:
内容:
验证码:  验证码图片看不清? 换张图试试
 
   
 
 
文章分类
 
   

power by :柳永法(yongfa365)'Blog | model by :hibaidu | css by:众网友 | 京ICP备07011491号   我要统计  

本空间赞助商:北京中科兴联信息技术有限公司

QQ:64049027    E-mail:64049027<at>qq.com