在 Windows 7 上打开 Access 数据库
Posted
技术标签:
【中文标题】在 Windows 7 上打开 Access 数据库【英文标题】:Opening an Access database on Windows 7 【发布时间】:2013-05-29 17:36:02 【问题描述】:我在某些用户机器上收到以下错误消息:
您作为事件属性设置输入的 On Open 表达式产生了以下错误: . (点)或!运算符或无效括号。
当尝试使用 Windows 7 上的 Access 2010 从共享位置打开某些人的计算机上的 Access 数据库时,会出现此错误消息。
使用相同的共享网络位置,数据库可以在 Windows XP 和 Access 2003 上正常打开。
我已经检查了沙盒模式 (2) 的注册表。
文件夹位置是共享的,所有用户都可以打开。
从代码看它不喜欢主菜单,它抱怨!这种形式:
strCriteria = [Forms]![MainMenu]![Text22]
【问题讨论】:
没有代码,没有详细信息,也无法访问系统,您希望我们如何帮助您?我们无法从这里看到“打开时您输入的表达式作为事件属性设置”(大概您可以从那里看到它,因为您输入了它。:-) 要求对可能导致您的所有事情进行推测的问题应用程序不运行或数据库不打开在这里不合适。这里的问题需要具体,并询问“可能出了什么问题?”一点都不具体。 只是为了确认:当您说用户“从共享位置”打开数据库时,您的意思是网络共享上有一个.mdb
文件,并且多个用户正在直接打开该文件?
是的,没错,还有一个指向 .mdb 的 .mde 文件
@Ken white,我知道它并不具体,但我只是想如果其他人遇到同样的问题,他们可能会提供帮助!
这不是 *** 的工作方式。如果是这样,我可以发布一个关于我的汽车发出噪音的问题,然后说“我知道这不适合这个网站,但我只是希望其他人也有同样的问题并且可以提供帮助。”问题应遵循此处的指南。 :-)
【参考方案1】:
我在这里看到两个问题:
编译的.mde
(和.accde
)文件对于不同版本的Access 比.mdb
(和.accdb
)文件更“挑剔”。这可能是因为.mde
文件的源代码已从其中剥离,因此 Access 无法像使用.mdb
文件那样“即时”重新编译内容。多年前我开始规定,如果 Access 应用程序使用 .mde
前端,那么所有用户必须运行相同版本的 Access,并且必须为该版本编译 .mde
。即便如此,.mde
文件偶尔会“起作用”,但从源 .mdb
重新构建 .mde
通常会修复它。 (Office 补丁和 Service Pack 引入的细微变化可能至少是其中的一部分原因。)
如果多个并发用户从网络文件夹中打开相同 .mde
文件,那么您几乎肯定会遇到问题。多年来,Access 开发人员都知道,多用户 Access 应用程序必须分为前端和后端(您显然已经这样做了),并且每个用户必须拥有自己的前端文件本地副本。甚至微软现在也在推荐这种做法(在他们多年来一直对此事保持沉默之后)。
【讨论】:
感谢您的回复!我将尝试使用 access 2010 重新创建 .mde,看看这是否能解决任何问题并为每个用户创建一个本地副本。以上是关于在 Windows 7 上打开 Access 数据库的主要内容,如果未能解决你的问题,请参考以下文章
使用 Windows 7 x64 将 ASP.NET 与 Access 数据库 2010 连接