a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 190|回复: 1

[Access] 2012年计算机二级Access重点:数据库的建立或压缩(4)

[复制链接]
发表于 2012-7-31 22:26:35 | 显示全部楼层 |阅读模式
Set Ca = Nothing   CreateDBfile = True
+ u( p9 e* k; |' Z: G- v. U6 ?  End If" t' M% Y8 W$ ^) e! v
  End function) N3 I: C* J! {
  Public function CompactDatabase(byVal dbFileName,byVal DbVer,byVal SavePath)
: E$ v4 H% o4 W; O" I5 p* c: g* {  ’压缩数据库文件/ N* e# P' U9 h0 c" z+ b
  ’0 为access 97
* @9 ~( Z& |' h+ u  ’1 为access 2000/ G, Q6 D3 ~8 c# I' g/ H/ A, r
  On Error resume next
% P) j+ f3 {' A, M, h/ @* y  If Right(SavePath,1)"\" Or Right(SavePath,1)"/" Then SavePath = Trim(SavePath) & "\"' i* H( a0 {; T, G
  If Left(dbFileName,1)="\" Or Left(dbFileName,1)="/" Then dbFileName = Trim(Mid(dbFileName,2,Len(dbFileName)))7 ^9 K5 H* |" k- G5 ^' H
  If DbExists(SavePath & dbFileName) Then
2 T2 {; D7 Q# w" A5 p" i( C  Response.Write ("对不起,该数据库已经存在!")+ e, i' S1 ]: t' ?4 x) f& R; T
  CompactDatabase = False
; K2 x4 f* Z/ i  Else4 J% |3 C9 D) a2 _( e2 i
  Dim Cd% b. ~  @" L* S9 n( C6 u2 ~
  Set Cd =Server.CreateObject("JRO.JetEngine")9 K( A+ {- q; u  f$ W
0 h, h1 x2 Y$ |" w
  If Err.number0 Then
回复

使用道具 举报

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

2012年计算机二级Access重点:数据库的建立或压缩(4)

</p>  Response.Write ("无法压缩,请检查错误信息
6 O1 B$ I1 S# H. m" `  " & Err.number & "! X- a- L$ r; j- a
  " & Err.Description)% n: C( N1 x; }+ {( g
  Err.Clear9 L3 ~' H9 j4 \# H
  Exit function
8 Z& z* J+ R8 b  D; y4 s- Z  End If9 F: `0 T5 W, e2 o7 R) h
  If DbVer=0 Then8 U6 s; e( J9 O1 T8 k8 d& ?+ B
  call Cd.CompactDatabase("Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & SavePath & dbFileName,"Provider=Microsoft.Jet.OLEDB.3.51;Data. i- s+ r( d! i
  Source=" & SavePath & dbFileName & ".bak.mdb;Jet OLEDB;Encrypt Database=True")
; x) _$ [3 c0 o# ~. z  Else9 D( Q3 |2 S. g7 y0 k+ r
  call Cd.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
: E: D2 ~/ ~1 F$ U  w# i7 l% N  SavePath & dbFileName,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
5 q; t- n. p+ K0 Q! p, P  SavePath & dbFileName & ".bak.mdb;Jet OLEDB;Encrypt Database=True")
% ]  |+ ^4 X  U! ^4 Z  End If
9 m4 w$ F7 t) T5 t8 V* g  ’删除旧的数据库文件
$ f4 {8 P  W# i! ], n9 ?7 c3 C2 c  call DeleteFile(SavePath & dbFileName)
- C- a" c3 @. Y  }4 R3 `  ’将压缩后的数据库文件还原
) c; C) T& V. S  call RenameFile(SavePath & dbFileName & ".bak.mdb",SavePath & dbFileName)
) j  a8 _  }8 P6 M6 t" |  Set Cd = False
7 |* [7 E( p- D  CompactDatabase = True
. [) V8 O4 m' }: J2 @  End If
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 00:30 , Processed in 0.486669 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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