to 希偌:有,有,有....,不要呕气嘛。只要你能解出来,会给你一份的,这么多分他们要得完吗。to:net_lover & weidegong,要是希偌能解出来,就把分给他好了,你们说,可以吗?

解决方案 »

  1.   

    没有ACCESS文件的结构,好象解决起来有困难啊~
      

  2.   

    to: cpplus(百合_长发飘飘)这个可以自己去建立一个模型,不就行了。
      

  3.   

    正在安装Acess2000...你为什么凿磨这个问题,想使用Access删掉的数据做备份,还是想彻底删除节省空间?
      

  4.   

    我想我知道问题的答案了:
        Access在增加数据时,会增大数据库文件*.mdb的体积。但是在删除数据时,只是清空物理空间中的数据而没有收回所分配在硬盘上的空间。因此我们看到的*.mdb文件的大小是历史上这个文件体积的最大值。下面我举个例子:
       比如,test.mdb中曾经保存了10M的数据,那么他的体积会是10M,删掉数据库中所有数据后,test.mdb文件的大小将仍然是10M.此时再增加新的数据,假如新增加的数据量有5M,此时test.mdb文件的大小依然是10M,而不是15M。   要解决这个问题其实很简单,下述文字摘自Access 2000的帮助文档某一页:
    -----
    关闭时自动压缩 Access 数据库或 Access 项目
    Microsoft Access 可以在每次关闭时自动压缩 Microsoft Access 数据库或 Microsoft Access 项目。 打开想要 Microsoft Access 自动压缩的 Access 数据库或 Access 项目。
    单击“工具”菜单中的“选项”命令。
    单击“常规”选项卡。
    选中“关闭时压缩”复选框。 
    注意   在关闭多用户(共享)数据库时,如果其他用户打开了该数据库,也不会压缩。
      

  5.   

    用DAO压缩也是一个办法,没试过,但是感觉不是较好的方法:首先我们看一下这段帮助文档:
    压缩 Access 数据库或 Access 项目疑难解答
    Microsoft Access 数据库或 Microsoft Access 项目不能压缩的原因有下列几点: 
    磁盘空间已经不能同时容纳原始与压缩的 Access 数据库或 Access 项目版本。请删除不必要的文件后重试一次。
    没有“打开/运行”和“以独占方式打开”Access 数据库的权限。如果没有拥有此数据库,请与其拥有者联系以决定是否可以获得这个数据库的这两个权限。如果拥有此数据库,必须更新权限。
    其他用户打开了 Access 数据库或 Access 项目。
    Access 数据库或 Access 项目位于只读的共享网络中,或它的文件属性设置为“只读”。 1.假如发布在网站、C/S程序服务器上,可能会有很多人在线访问,如何判断时间可以“以独占方式打开”?
    2.压缩后的新文件必须手工替换原有文件而如果设置关闭时自动压缩,则所有问题交给Access自动处理了。
      

  6.   

    经典!
    weidegong(weidegong)
    解决了加进精华区,恩,应该有这个权利吧,我!
      

  7.   

    在线压缩Access数据库    While working on BuildDB/Buildapp online Demo, I developed a little function that will compact Access  
    ;databases over the web. Here's a "no-frills" page that'll compact the databases for you.  
    One problem with Access databases is that "holes" are created when records are deleted, making the database fluffy and bloated. Compacting the database makes it lean and efficient again. Note: This function/page can easily be combined with the Buildapp front end file navigation and search pages (Installment II), to create an application that'll make it easy to handle this formerly troublesome chore for all the databases on your machine/web site..  
    ++++++++++++ Begin Compact.asp +++++++++++++++++++++++++++++ 
    <% 
    option explicit 
    Const JET_3X = 4 Function CompactDB(dbPath, boolIs97) 
    Dim fso, Engine, strDBPath 
    strDBPath = left(dbPath,instrrev(DBPath,"\")) 
    Set fso = CreateObject("Scripting.FileSystemObject") If fso.FileExists(dbPath) Then 
    Set Engine = CreateObject("JRO.JetEngine") If boolIs97 = "True" Then 
    Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath, _ 
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb;" _ 
    & "Jet OLEDB:Engine Type=" & JET_3X 
    Else 
    Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath, _ 
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb" 
    End If 
    fso.CopyFile strDBPath & "temp.mdb",dbpath 
    fso.DeleteFile(strDBPath & "temp.mdb") 
    Set fso = nothing 
    Set Engine = nothing 
    CompactDB = "Your database, " & dbpath & ", has been Compacted" & vbCrLf 
    Else 
    CompactDB = "The database name or path has not been found. Try Again" & vbCrLf 
    End If End Function 
    %> 
    <html><head><title>Compact Database</title></head><body> <h2 align="center"> Compacting an Access database</h2> 
    <p align="center"> 
    <form action=compact.asp> 
    Enter relative path to the database, including database name.
    <input type="text" name="dbpath">
    <input type="checkbox" name="boolIs97" value="True"> Check if Access 97 database <i> (default is Access 2000)</i>
    <input type="submit"> 
    <form> <% 
    Dim dbpath,boolIs97 
    dbpath = request("dbpath") 
    boolIs97 = request("boolIs97") If dbpath <> "" Then 
    dbpath = server.mappath(dbpath) 
    response.write(CompactDB(dbpath,boolIs97)) 
    End If 
    %> 
    </p></body></html> ++++++++++++ End Code  
      

  8.   

    to:net_lover     不是怪你,我对你和希偌的期望值很高,我不是说过你的办法很多吗?你们现在还没有解决这个问题,真让我有些失望啊。
      

  9.   

    To  beyond_xiruo(希偌)、 net_lover(孟子E章) :
        两位说说看,我解决的还不够好吗?压缩的原理,服务器的设置、还贴了一个在线压缩的程序    呵呵,我等最好的
      

  10.   

    欢天喜地对 weidegong说:我马上拿去试试,看看有没有虫子。To:beyond_xiruo(希偌)
    说话要算数哦,对net_lover的这种事情,我们联合起来得向他讨个说法,他总是回避这个问题。
      

  11.   

    To 8988(晓月):1.删除数据后,该数据是否包含在文件内?我想应该是这样的,要想彻底删除数据通常是将这个文件用别的数据重写N次,会使别的软件等等无法再找出任何原文件的数据
    2.但是,能否得到数据呢?此时的数据就像是没有被回收的内存,我们能得读内存,但是该数据原来属于谁?我想用磁盘工具应该是可以得到这些数据的。但是Access或者微软是否提供了这样的方法呢?
    3.假如你要执行压缩操作,那么原来被删除的数据肯定就没有了
      

  12.   

    我试图通过CSDN论坛助手回复
    ================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★  浏览帖子速度极快![建议系统使用ie5.5以上]。 ★  多种帖子实现界面。 
    ★  保存帖子到本地[html格式]★  监视您关注帖子的回复更新。0D
    ★  可以直接发贴、回复帖子★  采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! 
    ★  支持在线检测程序升级情况,可及时获得程序更新的信息。
    0A
    ★★ 签名  ●  
         可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
    Http://www.ChinaOK.net/csdn/csdn.rar
    Http://www.ChinaOK.net/csdn/csdn.exe    [自解压]
      

  13.   

    我试图通过CSDN论坛助手回复
    ================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★  浏览帖子速度极快![建议系统使用ie5.5以上]。 ★  多种帖子实现界面。 
    ★  保存帖子到本地[html格式]★  监视您关注帖子的回复更新。0D
    ★  可以直接发贴、回复帖子★  采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! 
    ★  支持在线检测程序升级情况,可及时获得程序更新的信息。
    0A
    ★★ 签名  ●  
         可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
    Http://www.ChinaOK.net/csdn/csdn.rar
    Http://www.ChinaOK.net/csdn/csdn.exe    [自解压]