在2003年和2007年同时运行Microsoft Access数据库有什么含义?

我忘记上课了吗?

该程序最初是在Office 2003中构建的,然后在2007年运行。当运行该程序的计算机同时具有2003和2007时,似乎会出现问题。 该问题似乎也源于“ Microsoft Access 12.0对象库”(或2003年的“ Microsoft Access 11.0对象库”)的引用。 要查看此信息,只需查看VBA屏幕上的“工具:参考”菜单。

错误的症状基本上是代码无法识别(几乎就像它无法识别我正在使用的编程语言一样)。 通常,它后面带有一个框,上面写着“您作为事件属性设置输入的表达式On Load产生了以下错误:对象或类不支持事件集”。 您也可以将“按负载”替换为“单击时”,将其替换为按钮;将“更改时”,替换为文本框。

我个人怀疑计算机正在使用Microsoft Access 11.0 / 12.0对象库的一部分,然后将两者混合成无用的VBA参考。 进一步证实我的怀疑的是在显示“配置Microsoft Access”的两者之间时弹出的框。进一步证实我怀疑的另一个问题是它将在第一个打开的那个(例如2007年)打开,然后运行不能在另一台计算机上运行(2003年为例)

唯一需要解决的唯一问题是更改DoCmd.OpenForm的最后一部分,即acFormReadOnly(或acReadOnly),具体取决于该机器在特定日期的感觉-是的,它可以与之兼容,一天,然后要我切换另一天)以简单地锁定各个文本框

也许它不是完全编码,但我认为可以通过编码来解决。

希望这足以使某人提出一些建议。

===============>>#1 票数:1 已采纳

微软的官方立场是不建议在同一台PC上安装多个Office版本,也不建议这样做,而Access 2007似乎旨在向我们证明这一点!

也就是说,通过执行以下操作可以避免大多数问题:

1-将数据库分为后端和前端。 将后端(表和关系)放置在网络文件夹中,然后将前端(所有其他对象)的副本放置在每个用户的桌面上。

2-最好使前端成为mde,以避免每次在其他版本的Access中打开db时,引用都混乱。

3-创建快捷方式以使用所需的Access版本打开前端,以便始终使用该版本打开它。 (并记住使用快捷方式!)在快捷方式的目标中:

“访问12 msaccess.exe的路径”“ db.mdb的路径”

===============>>#2 票数:0

我们有一个用Access 2003开发的MS-Acces应用程序,可在Access 2003和Access 2007的完整版或运行时版本中使用(Access 2007 Runtime是免费的,我们正在大量使用它!)。 除参考管理外,没有其他特殊问题。 我们的代码分析安装在计算机上的Office版本并自动更新相应的引用(不仅是Access,还包括Excel,Outlook,Word等:代码非常棘手,但很有意思!)

据我所知,在Office 2007中没有弃用Office 2003 / VBA中提供的主要对象,属性或方法。这些参考问题解决后,Office 2003代码将与Access 2007一起运行。 Office 2007中引入了一些新对象,所以我不建议任何开发人员使用它来开发要与Access 2003一起使用的代码。

但是,您的问题的主要和真实问题是:为什么一个人应该在同一台计算机上同时运行两个Access版本? 如果我想确保我的应用程序崩溃,这就是我要做的。 我认为,如果您的目标是开发软件,则绝对应该为您的机器找到更好的配置!

===============>>#3 票数:0

通常,不支持在一台计算机上安装多个版本的Access,这将导致对象引用出现问题。

如果数据库是在Access 2003中编写的,编译为.MDE,然后部署到运行Access 2007的单独的Windows实例上,则您应该没有任何重大问题(除了UI更改,例如将自定义工具栏扔到了外接程序中)带)。

为了在多个版本的Access上进行测试,您需要在每个版本之间进行某种形式的隔离。 我使用多个虚拟机来完成此任务。 我的主要Windows VM运行Office 2007和IE7,第二个VM具有Office 2003和IE6进行测试。

请注意,如果仅希望将Word,Excel和Outlook 2007与Access 2003一起使用,则可以先单独安装Access 2003,然后自定义安装Office 2007,然后取消选择Access 2007。

  ask by translate from so

未解决问题?本站智能推荐:

3回复

在Microsoft Access数据库上运行的SQL语句将获得前5条记录,但跳过前5条记录

我需要SQL语句的帮助才能在Micrsoft Access数据库中工作,该数据库具有名为Tasks的表。 我想获得前5条记录,但跳过前5条记录。 因此,我正在寻找LINQ中与.Skip()方法等效的SQL,该方法将在Micrsoft Access数据库上工作。 我将需要将此查询放入字符串
1回复

使用VBA / SQL语句中的列表框访问ID 2007年的ID值

伙计们...如果我想运行一个按钮单击事件,该事件需要一个列表框并使用VB中SQL语句的列表框中的ID字段,那么它是 要么 获得那个价值? 由于某种原因,我尝试了两者,但似乎都没有用。 .value返回一个空值,.selected生成一个错误,指出该参数无效。 谢谢贾斯汀
1回复

在Microsoft Access中输入歌曲数据库的字段

我是Access的新手。 我想要做的是为歌曲创建数据库,我将使用该数据库自动创建PowerPoint幻灯片。 大多数歌曲将使用中文,并且数据库将包含以下字段:歌曲名称,歌曲名称中的字符数,歌曲名称的第一个字符的笔画数,第1歌词,第2歌词,合唱1歌词,合唱2首歌词等 我有一个Exce
2回复

使用VBA隐藏Microsoft Access 2007数据表中的列

我试图通过代码隐藏Access 2007拆分表单中的特定列。 我需要该表格来检查某些条件,以查看它是否需要显示一列。 我在表单的“激活”事件中有代码来隐藏该列,如下所示: 这段代码在“打开”事件中有效,但是如果我在“激活”中隐藏该列,则在关闭该表单并再次将其打开之前,它不会显示这些更
1回复

宏-查询-Microsoft Access数据库引擎停止了该过程

我正在尝试从excel macro执行查询。 直到昨天查询工作正常。 我今天运行它时,它抛出一条错误消息“ Microsoft Access数据库引擎停止了该过程,因为您和其他用户试图同时更改相同的数据。 但是我敢肯定,没有人试图改变任何东西。 还有其他可能性吗?
4回复

Microsoft Office Access数据库引擎找不到该对象

我创建了一个测试MS Access DB来将表导出到Excel和文本文件。 这适用于Excel: 对于文本文件,我创建了一个规范并使用了这段代码 在错误消息中,我得到“test1 #txt” 。 Microsoft Office Access数据库引擎找不到该对象
1回复

MS Access 2007-同步两个数据库并使记录保持最新时间戳

使用Access 2007,我有一个主数据库和几个从属数据库。 假设我有一个简单的表格:候选人。 在主数据库中 在从站数据库中 我需要的是,最新的操作记录将替换主数据库中的前一个记录。 在此示例中,从数据库的记录将替换主数据库的记录。 在我当前的解决方案中,我遍历
5回复

在Microsoft Access中创建只能由某些字段搜索的数据库

您将如何在Microsoft Access中创建一个只能由某些字段搜索并且仅由表单上的几个(必要)文本框和复选框控制的数据库,因此易于使用-无需困难的查询? 示例:您在表单上有几个文本框和几个对应的复选框,并且选中了该文本框旁边的复选框后,将启用该文本​​框,然后可以通过在该文本框中输入的
1回复

Microsoft Access-插入远程数据库时的多个事务

我目前正在尝试从访问数据库到远程sql服务器进行多次插入。 到目前为止,我还没有运气。 当我尝试在工作空间和事务中进行编码时,会收到数据不匹配错误,但功能insert可以单独正常运行。 这是我的代码: 事务一已被注释掉
2回复

VBA(?):将Microsoft Access数据库记录到数据集(列表/字段/带有字段的查询)

寻找一种方式来获取Access数据库并导出类似内容: 换一种说法: 显示的电子表格/数据集 所有表的名称,以及基础字段名/类型/一些示例列值(*) 所有名称的视图以及定义的字段名称和示例值(*) *理想/可选地,我得到三个以逗号分隔的