设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[Access本身] Access Runtime 关闭时自动压缩数据失败

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2016-4-13 22:52:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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将会创建一个新的数据库存储压缩后的数据,然后再删除原数据库文件。
但是此时,原数据库文件为只读文件无法删除。
    如果您有权限,请删除只读状态后删除原数据库,然后将新的数据库重命名为原数据库的名字。
    如果您没有权限删除只读状态,请咨询相关工作负责人。




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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2016-4-13 22:58:13 | 只看该作者
1. 文件本身可以有代码 或数据问题
2.建议不关闭压缩,很容易损坏文件和数据

点击这里给我发消息

3#
 楼主| 发表于 2016-4-13 23:02:47 | 只看该作者
tmtony 发表于 2016-4-13 22:58
1. 文件本身可以有代码 或数据问题
2.建议不关闭压缩,很容易损坏文件和数据

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

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

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

关闭前,可以先执行删除查询吧?删除信息用这个就好了。

点击这里给我发消息

5#
 楼主| 发表于 2016-4-13 23:15:21 | 只看该作者
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
6#
发表于 2016-4-14 13:04:16 | 只看该作者
只用DoCmd.Quit acQuitSaveAll有问题吗?
注掉这句On Error Resume Next看能发现问题吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-2 03:36 , Processed in 0.084243 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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