a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 136|回复: 1

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

[复制链接]
发表于 2012-7-31 22:26:35 | 显示全部楼层 |阅读模式
Set Ca = Nothing   CreateDBfile = True7 |3 v- D( h! T4 |- o! \) X9 I
  End If7 x$ m% j- C- i8 I; {) U' X1 v! x
  End function
0 Q8 F: W1 U& o5 B  Public function CompactDatabase(byVal dbFileName,byVal DbVer,byVal SavePath)
, X4 r: ^6 r8 Y* N3 }8 t  ’压缩数据库文件' E: g' ?! z( z, D" `& @+ i9 P3 J. E
  ’0 为access 97
* G: \& h6 e: N& Q; S+ w  ’1 为access 20007 p6 i1 L, S* y& ?
  On Error resume next; c/ J8 A6 S$ X9 o, A3 I
  If Right(SavePath,1)"\" Or Right(SavePath,1)"/" Then SavePath = Trim(SavePath) & "\"
- Q5 [! M( Q% }/ O% R" f/ H# j5 ~  If Left(dbFileName,1)="\" Or Left(dbFileName,1)="/" Then dbFileName = Trim(Mid(dbFileName,2,Len(dbFileName)))
, d3 A7 u( ]. h' a1 L( _  If DbExists(SavePath & dbFileName) Then
2 s$ d5 r4 w& S/ Y  R4 o$ w  Response.Write ("对不起,该数据库已经存在!")$ s, F, I  R+ v
  CompactDatabase = False" v2 i2 T6 \+ s1 b9 \
  Else
2 m) C  X( q. O$ O5 p6 p  Dim Cd5 _- z7 {: c! u( z$ y& F
  Set Cd =Server.CreateObject("JRO.JetEngine")
( Q+ F: T# X  N1 B' Y  }, t0 K; K& n; T
  If Err.number0 Then
回复

使用道具 举报

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

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

</p>  Response.Write ("无法压缩,请检查错误信息& R! [6 i! r0 N9 I) C: t) Y6 U
" & Err.number & ". _2 b$ D8 X* n. n/ J
" & Err.Description). R2 K/ b* z0 N5 r
  Err.Clear: f; ~( `' a) V8 V8 H& w
  Exit function8 C* p) P/ v" n+ I) e
  End If2 T/ W* U4 }* D
  If DbVer=0 Then
0 _# q! J) _% h2 V7 ^, ]  call Cd.CompactDatabase("Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & SavePath & dbFileName,"Provider=Microsoft.Jet.OLEDB.3.51;Data7 `3 ]8 O' N" p1 j* e
  Source=" & SavePath & dbFileName & ".bak.mdb;Jet OLEDB;Encrypt Database=True")
0 |% D- V9 N# x3 J  R  Else
* @  Z  S, O& N2 R$ e* [  call Cd.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
3 [7 K7 a' V/ r( K  SavePath & dbFileName,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &4 F; B8 `9 g2 Z- Y, [# k
  SavePath & dbFileName & ".bak.mdb;Jet OLEDB;Encrypt Database=True")
7 e& I& ~& i& K- O: c$ V( h" {  End If) P: d# l: F/ F$ o: d2 b" T+ m
  ’删除旧的数据库文件
) U* W& q$ f# v+ G1 {; C; j  call DeleteFile(SavePath & dbFileName)
$ G: r" e1 o2 Q" d$ H6 S" V  ’将压缩后的数据库文件还原  u$ w1 H9 C; f  \! P+ _, ?% C7 b
  call RenameFile(SavePath & dbFileName & ".bak.mdb",SavePath & dbFileName)& a" W2 L; W6 @# v% g
  Set Cd = False
% e, ?/ d1 }+ V" Z; g  CompactDatabase = True
6 ]+ e' Q3 m0 n, R( z5 _! Y  End If
. `! u4 Q! }2 {9 y. O  end function
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 01:09 , Processed in 0.402958 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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