设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

Windows 7+Access2010 64 位值得注意的地方

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2010-12-28 12:28:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
VBA7与VBA6差异
WIN64与WIN32的差异

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享分享 分享淘帖1 订阅订阅
2#
发表于 2010-12-28 12:33:34 | 只看该作者
老大, 能不能介绍一下最明显的差别在哪里.

我正想用Window7(64位)+Access2010(32位)进行一些开发呢

谢谢!

点击这里给我发消息

3#
发表于 2010-12-28 13:59:24 | 只看该作者
VBA7与VBA6差异?
朱总,这个主要有什么差异?

点击这里给我发消息

4#
 楼主| 发表于 2010-12-28 14:51:08 | 只看该作者
回复 zyp 的帖子



新的关键字:
PtrSafe

64位长整数:
LongLong

--------------------------------------------------------------------------------------------------------------------------------------------
对于在 Office 2010 版本之前(VBA 版本 6 和更早版本)编写的 VBA 代码,需要修改为在 64 位 Office 版本中运行,否则在 64 位平台上运行时会导致错误。这是因为,VBA 版本 6 和更早版本完全以 32 位平台为目标,而且通常包含 Declare 语句,这些语句调用的 Windows API 使用 32 位数据类型的指针和句柄。因为 VBA 版本 6 和更早版本没有用于指针或句柄的特定数据类型,所以,它使用 Long 数据类型(一种 32 位 4 字节的数据类型)来引用指针和句柄。64 位环境中的指针和句柄为 8 字节 64 位数。这些 64 位数不能包含在 32 位数据类型中。

在 64 位 Office 中运行旧 VBA 代码的问题在于,将 64 位加载到 32 位数据类型中会截断 64 位数。这会导致内存溢出、代码中出现意外结果,并且可能导致应用程序故障。
为解决此问题,以使 VBA 代码能同时在 32 位和 64 位环境中正确运行,新版 VBA 中增加了几项语言功能。此文档底部的表总结了这些新的 VBA 语言功能。有三个重要的新增功能,分别是:LongPtr 类型别名、LongLong 数据类型和 PtrSafe 关键字。

在 64 位版本的 Office 中运行时,所有Declare 语句必须都包括 PtrSafe 关键字。
--------------------------------------------------------------------------------------------------------------------------------------------
我在Access 2010(64)中使用Access 2003中带的NorthwindCS.ADP时,碰到类似问题。

本帖子中包含更多资源

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

x

点击这里给我发消息

5#
 楼主| 发表于 2010-12-28 15:02:03 | 只看该作者

本帖子中包含更多资源

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

x
6#
发表于 2010-12-28 15:04:27 | 只看该作者
本帖最后由 zyp 于 2010-12-28 15:04 编辑

谢谢老大的指点.这也给我们之后升级到64位office提了一个醒.

再次谢过!
7#
发表于 2010-12-29 10:35:32 | 只看该作者
谢谢老朱. 我今天也开始装了2010, 来试试.
8#
发表于 2010-12-30 11:28:59 | 只看该作者
多谢指点.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-1 18:17 , Processed in 0.100968 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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