Office中国论坛/Access中国论坛

标题: Access Runtime 关闭时自动压缩数据失败 [打印本页]

作者: Charline    时间: 2016-4-13 22:52
标题: Access Runtime 关闭时自动压缩数据失败
本帖最后由 Charline 于 2016-4-13 22:54 编辑

各位老师,

某有个accdr文件,每次关闭此文件时候Access会自动对其压缩。(因为有些用户电脑上没有安装Access,只能使用Runtime文件)

但是最近出现这个问题,关闭后可看到压缩的提示条,然后出现图片里的消息提示,点击OK后,Access退出,原有的文件不见了,出现了一个新的mdb文件。

消息提示的内容大概是:

Microsoft Access 无法在压缩后删除 c:\Users\xxxxxxxxxx\ALICE.98.accdr。数据库已压缩并命名为 Database.mdb
如果您想使用相同的文件名压缩数据库,MS Access将会创建一个新的数据库存储压缩后的数据,然后再删除原数据库文件。
但是此时,原数据库文件为只读文件无法删除。
    如果您有权限,请删除只读状态后删除原数据库,然后将新的数据库重命名为原数据库的名字。
    如果您没有权限删除只读状态,请咨询相关工作负责人。




最近才出现的这个问题,不知道怎么解决呢?


作者: tmtony    时间: 2016-4-13 22:58
1. 文件本身可以有代码 或数据问题
2.建议不关闭压缩,很容易损坏文件和数据
作者: Charline    时间: 2016-4-13 23:02
tmtony 发表于 2016-4-13 22:58
1. 文件本身可以有代码 或数据问题
2.建议不关闭压缩,很容易损坏文件和数据

我只会在 文件----选项 里设置 [关闭时不压缩],但是每次我第二次打开时,又变成关闭时自动压缩了。。。

不知道是不是跟我用API代码禁用右上角红叉叉关闭程序有关,因为在关闭前需要在后台数据删除登陆用户的信息,再退出Access。

不知道还有没有其他的办法呢?
作者: roych    时间: 2016-4-13 23:09
Charline 发表于 2016-4-13 23:02
我只会在 文件----选项 里设置 [关闭时不压缩],但是每次我第二次打开时,又变成关闭时自动压缩了。。。
...

关闭前,可以先执行删除查询吧?删除信息用这个就好了。
作者: Charline    时间: 2016-4-13 23:15
roych 发表于 2016-4-13 23:09
关闭前,可以先执行删除查询吧?删除信息用这个就好了。

以下是我关闭按键的代码,该删除的数据都删除了,但是就是自动压缩之后accdr文件变成了mdb文件,很苦恼呢

之前的版本用的同样的代码也没有出现这样的情况,最好能像不压缩,求指点!!

'----------------------------------------------------------------------------------------------------------------------------------------------
Private Sub Cmd_Quit_Click()

    On Error Resume Next
    CurrentDb.Execute "DELETE * FROM Table_UserList WHERE UserName = '" & Environ$("UserName") & "'"
   
    Dim Dupli_rs As Recordset
    Set Dupli_rs = CurrentDb.OpenRecordset("SELECT * FROM Table_duplicating WHERE UserName = '" & Environ$("username") & "'")
    Dupli_rs.FindFirst "UserName = '" & Environ$("username") & "'"
    If Not Dupli_rs.NoMatch Then
        Dupli_rs.Edit
        Dupli_rs("Duplicating").Value = False
        Dupli_rs("UserName").Value = Null
        Dupli_rs.Update
    End If
    Dupli_rs.Close
    Set Dupli_rs = Nothing
      
    DoCmd.Quit acQuitSaveAll
   
End Sub

作者: 风中漫步    时间: 2016-4-14 13:04
只用DoCmd.Quit acQuitSaveAll有问题吗?
注掉这句On Error Resume Next看能发现问题吧




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3