Set Ca = Nothing CreateDBfile = True% f1 i6 ^9 u! n
End If6 X+ R* p3 Y( x
End function
0 }; v3 r7 r# ?4 w2 \2 L5 G) k7 l Public function CompactDatabase(byVal dbFileName,byVal DbVer,byVal SavePath)
8 J/ \& u7 O2 ?: ] Q ’压缩数据库文件8 f0 @3 B: Y* Q2 D
’0 为access 976 F5 X& Z* s" [7 m, ^4 j4 a
’1 为access 2000' M# y/ ~2 G, X" b! H0 P
On Error resume next
1 R+ `9 i. ?8 \. N+ r7 {, \6 { If Right(SavePath,1)"\" Or Right(SavePath,1)"/" Then SavePath = Trim(SavePath) & "\"1 u0 P/ J3 A1 D: b1 h
If Left(dbFileName,1)="\" Or Left(dbFileName,1)="/" Then dbFileName = Trim(Mid(dbFileName,2,Len(dbFileName)))
6 Z$ b4 c- B/ L4 q. z If DbExists(SavePath & dbFileName) Then g! U4 {) B" y5 @4 D
Response.Write ("对不起,该数据库已经存在!")% J2 W0 Z3 M2 f5 w
CompactDatabase = False0 q- p% T! {4 M9 I
Else& X2 C4 M" d- C: [. ]
Dim Cd- ]; z; g+ b4 r/ S
Set Cd =Server.CreateObject("JRO.JetEngine")
% ^2 G# G6 x5 X/ v8 l( Q# ]4 Y7 m7 U If Err.number0 Then9 F F2 ?- @2 a/ k
Response.Write ("无法压缩,请检查错误信息2 g/ G R+ N- C+ z/ p/ B
" & Err.number & ") p& l F3 E2 W% Z
" & Err.Description)5 w; f. G& x; @6 ]+ \; E, o: j
Err.Clear G& \7 N& q+ k% }. {- v' ?) s
Exit function
2 h" ? z. N- e6 [6 @ End If
2 c% j8 B6 o7 A: T1 X) e If DbVer=0 Then/ m2 d: L% N% |
call Cd.CompactDatabase("Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & SavePath & dbFileName,"Provider=Microsoft.Jet.OLEDB.3.51;Data
! C7 d- t! b; j' G, x$ {9 g Source=" & SavePath & dbFileName & ".bak.mdb;Jet OLEDB;Encrypt Database=True")
$ i( g/ n z! c. K% h Else
: C: S8 A1 l' Z8 t* Q, y call Cd.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &7 q( k2 D1 y& q5 N% t
SavePath & dbFileName,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &8 C6 I! q5 F) O/ U! ]1 C- O
SavePath & dbFileName & ".bak.mdb;Jet OLEDB;Encrypt Database=True")5 X* s$ k! \# t
End If0 d' B5 X7 f; o8 i
’删除旧的数据库文件2 S+ ~; z- v0 ?/ j
call DeleteFile(SavePath & dbFileName)4 D0 Y8 U0 A/ {( E$ x7 F
’将压缩后的数据库文件还原$ V) G7 h; L# k$ t/ R) `! ^
call RenameFile(SavePath & dbFileName & ".bak.mdb",SavePath & dbFileName)
9 O, h3 H; t, j0 F Set Cd = False9 j2 f+ q# r% V% {: k d2 o. _
CompactDatabase = True5 z0 L1 h" ], Y" c; `
End If |