a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 124|回复: 1

[Access] 纯编码如何实现Access数据库的建立或压缩(2)

[复制链接]
发表于 2012-7-31 22:26:35 | 显示全部楼层 |阅读模式
Set Ca = Nothing   CreateDBfile = True4 f9 ]  C3 F# V8 i, x0 @$ P
  End If* Y9 A/ e. `+ X/ e
  End function7 {- d  Y$ _0 [; m6 Q! C
  Public function CompactDatabase(byVal dbFileName,byVal DbVer,byVal SavePath)
: ?! B: q; ^3 V  ’压缩数据库文件
4 F: L$ @! i( F) T' @1 _  ’0 为access 97, k8 J. l  G* Y0 ]0 D4 ?+ g
  ’1 为access 2000
1 h2 c2 P) O2 c# e4 h  On Error resume next
, p2 ~, c! z2 J( H, T. o7 X  If Right(SavePath,1)"\" Or Right(SavePath,1)"/" Then SavePath = Trim(SavePath) & "\"* Y# b# p, A( D' V* H' \* ]8 M
  If Left(dbFileName,1)="\" Or Left(dbFileName,1)="/" Then dbFileName = Trim(Mid(dbFileName,2,Len(dbFileName)))
" h! x5 b3 ~& M& l& M% j  If DbExists(SavePath & dbFileName) Then! p# P! q; N4 T9 t+ g
  Response.Write ("对不起,该数据库已经存在!")
! c) q) K" `- G1 d; @/ s" r  CompactDatabase = False
0 w6 R! {5 M" K* F, _$ W  Else1 A: m* t) B0 Z$ H
  Dim Cd8 f- Y# r' g$ J6 F  g
  Set Cd =Server.CreateObject("JRO.JetEngine")* R( }) I6 _2 N$ z

/ k& p6 [5 {: `6 U3 V- j  If Err.number0 Then
回复

使用道具 举报

 楼主| 发表于 2012-7-31 22:26:36 | 显示全部楼层

纯编码如何实现Access数据库的建立或压缩(2)

</p>  Response.Write ("无法压缩,请检查错误信息
0 m% y& K5 `0 ~) h3 l" & Err.number & "
1 {( r3 A  X  s' e! w3 u" & Err.Description)- Q2 P6 L: ~0 H! [
  Err.Clear# r( P! }4 q% D( }: i0 C' C) F( X
  Exit function# ^0 Y- L4 c) U; N9 Z5 J
  End If6 c& A! i8 A8 H: y; y6 u
  If DbVer=0 Then
$ {- n8 b+ M' Y- W' X  call Cd.CompactDatabase("Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & SavePath & dbFileName,"Provider=Microsoft.Jet.OLEDB.3.51;Data
0 Q- j, u+ z# ^! j4 P# H  Source=" & SavePath & dbFileName & ".bak.mdb;Jet OLEDB;Encrypt Database=True")
+ y: R; s0 z1 N  Else  G% a4 Q4 U1 i, ], Q& l. o. J( F
  call Cd.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &3 Y/ u( u: {8 x* Q1 y
  SavePath & dbFileName,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &) d& b! t, O: x: M* M4 |
  SavePath & dbFileName & ".bak.mdb;Jet OLEDB;Encrypt Database=True")8 A" a+ i3 @7 f- {: L# [9 ?1 H
  End If
- I* w9 K% L: i4 a: e  ’删除旧的数据库文件$ p, a3 o  h6 s
  call DeleteFile(SavePath & dbFileName)6 I4 g4 V+ O7 M! a1 R9 P
  ’将压缩后的数据库文件还原' ]& z' ?0 }1 F$ Q& d: Z+ H
  call RenameFile(SavePath & dbFileName & ".bak.mdb",SavePath & dbFileName)
( g' o4 b4 N/ A4 @( g0 @  Set Cd = False: j7 H% z/ `9 ]/ Q6 z
  CompactDatabase = True
  n  z4 t4 k" g. y  End If
, {& U6 O$ _  w& _, G* b  end function
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-6 01:04 , Processed in 0.179969 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表