设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1406|回复: 5
打印 上一主题 下一主题

[Access本身] 关于数据库压缩问题求助

[复制链接]
跳转到指定楼层
1#
发表于 2003-12-10 04:50:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人业余用ACCESS编了一个数据库,用于医学报告管理,记录内包含图片,目前此库已有2739条记录,2.0G左右。原来我总是用[数据库工具]中的[压缩和修复数据库]进行压缩,但这几天进行上述操作提示“无效参数量”,不能压缩,用其他压缩工具压缩后大小为450M左右,不知是何原因。
另外,能否在记录中插入JPG图片。
请各位高手指点迷津
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2003-12-10 05:25:00 | 只看该作者
这应该是你大量插入了JPG图片的问题
3#
发表于 2003-12-18 21:49:00 | 只看该作者
我想问一下如何用代码执行压缩功能?
4#
发表于 2003-12-19 20:35:00 | 只看该作者
抄来的:

修复数据库的函数:

Function RepDB(strDBPathName As String)
On Error GoTo err_RepDB
DBEngine.RepairDatabase strDBPathName
RepDB = "ass"
Exit Function
err_RepDB:
Select Case Err.Number
  Case 3356
    MsgBox Err.Description & vbLf & _
      "准备修复的数据库处于打开状态,请关闭所有操作后重试!"
  Case Else
    MsgBox Err.Description
End Select
RepDB = CVErr(65535)
End Function

压缩数据库的函数:

Function ComDB(strDBPathName As String)
On Error GoTo err_ComDB
Dim strTempName As String
Randomize
strTempName = Environ("Temp") & "\TempDB" & _
  Int((99 * Rnd) + 1) & ".mdb"
  DBEngine.CompactDatabase strDBPathName, strTempName
  Kill strDBPathName
  Name strTempName As strDBPathName
  ComDB = "ass"
  Exit Function
err_ComDB:
  MsgBox Err.Description
ComDB = CVErr(65534)
End Function
5#
发表于 2003-12-19 22:46:00 | 只看该作者
哦,如过我在某窗体内设一按钮,单击后执行压缩当前库功能,如何调用呢,也就是说call ComDB的参数就是写当前库的带路径全名吗?
6#
发表于 2003-12-20 00:34:00 | 只看该作者
还是不要考虑数据库压缩的问题了,先考虑把图片保存在数据库之外吧。举个最简单的例子:
不用OLE方式记录照片,在窗体中采用图像控件直接显示‘C:\jpg’路径中的照片,照片直接放在‘C:\jpg’的目录下,以‘编号’(主ID)命名照片,图像控件命名为‘照片’:

If Dir("C:\jpg\" & Me!编号 & ".jpg") <> "" Then
Me!照片.Picture = "C:\jpg\" & Me!编号 & ".jpg"
End If

无需一个个加入照片,数据库不会急剧增大。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-29 16:32 , Processed in 0.092708 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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