Microsoft Visual Basic for Applications编译错误:若要在64位系统上使用,则必须更新此项目中的代码。请检查并更新Declare语句,然后用PtrSafe属性标记它们的解决方法2
时 间:2018-07-19 14:15:07
作 者:麥田 ID:11 城市:上海 QQ:3002789054
摘 要:Microsoft Visual Basic for Applications编译错误:若要在64位系统上使用,则必须更新此项目中的代码。请检查并更新Declare语句,然后用PtrSafe属性标记它们的解决方法2
正 文:
yeatsyu(848268098) 10:53:41
请教这个编译错误如何解决,提示:
Microsoft Visual Basic for Applications编译错误 若要在64位系统上使用,则必须更新此项目中的代码。请检查并更新Declare语句,然后用PtrSafe属性标记它们
如下图:
点击确定后,提示如下:
二、解决方案:
Accessoft-麥田(2851379731) 10:54:21
任意新建一个模块,把下面代码全部拷贝到模块代码里面,注意是替换模块里面原有的代码。
Option Compare Database 'API函数声明 #If VBA7 Then Public Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As LongPtr, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As LongPtr) As LongPtr Public Declare PtrSafe Function SetCursor Lib "user32" (ByVal hCursor As LongPtr) As LongPtr Public Declare PtrSafe Function LoadCursorByNum Lib "user32" Alias "LoadCursorA" (ByVal hInstance As LongPtr, ByVal lpCursorName As LongPtr) As LongPtr #Else Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As LongPtr) As LongPtr Public Declare Function SetCursor Lib "user32" (ByVal hCursor As Long) As Long Public Declare Function LoadCursorByNum Lib "user32" Alias "LoadCursorA" (ByVal hInstance As Long, ByVal lpCursorName As Long) As Long #End If Public Const IDC_HAND = 32649& '手形 Public Const IDC_APPSTARTING = 32650& '系统忙 Public Const IDC_ARROW = 32512& '常规箭头形 Public Const IDC_CROSS = 32515& '十字形 Public Const IDC_IBEAM = 32513& '文本插入 Public Const IDC_ICON = 32641& '使用指定光标文件 Public Const IDC_NO = 32648& '不可用 Public Const IDC_SIZE = 32640& '隐藏指针 Public Const IDC_SIZEALL = 32646& '选中并移动 Public Const IDC_SIZENESW = 32643& '左下角右上角大小调整 Public Const IDC_SIZENS = 32645& '上下调整 Public Const IDC_SIZENWSE = 32642& '左上角右下角大小调整 Public Const IDC_SIZEWE = 32644& '左右调整 Public Const IDC_UPARROW = 32516& '上箭头 Public Const IDC_WAIT = 32514& '沙漏 '改变光标指针调用示例: SetCursor LoadCursorByNum(0,32649) ' SetCursor LoadCursorByNum(0, IDC_HAND) 'ShellExecute函数二次封装,以简化使用 '输入参数File可以是文件名,网页地址或命令行 Public Function ShellEx(File As String) ShellExecute hWndAccessApp, "Open", File, 0, 0, 1 End Function |
粘贴好代码后然后保存一下,默认给模块命名就可以了。
yeatsyu(848268098) 10:59:38
好了,谢谢!
是什么原因?
Accessoft-麥田(2851379731) 10:54:21
是因为你的这个程序本身是在32位Office Access环境下编写的,现在换成64位Office Access,要把对应的代码也改一下才能支持64的Access环境。
好了,今天的姿势就涨到这里,小伙伴咱们下次再见。
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access判断多条明细的配方或订...(11.30)
- 如何让后台数据库在局域网共享时,且...(11.29)
- 【Access月初月末日期设置方法...(11.29)
- 【Access IIF函数嵌套示例...(11.26)
- Access快速开发平台--使用组...(11.25)
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)