Office中国论坛/Access中国论坛

标题: 微软会取消32位Access吗 [打印本页]

作者: accben    时间: 2023-4-28 16:00
标题: 微软会取消32位Access吗
大环境:
1)从win11开始,微软不再提供32位的操作系统。
2)从日常购买的新电脑,Office预装的是64位。
3)从Office 2019起,微软已悄悄提供了常用控件(treeview、toolbar、imagelist等)

不知大家当前使用的是32位,还是64位的Access?

作者: roych    时间: 2023-4-28 21:54
我用的是32位。微软只是不提倡新用户安装32位系统,但它又不打算给老用户换机子,取消个啥?
老早以前不就取消维护XP了么?结果勒索病毒一出,又屁颠屁颠去更新补丁了。
开发者应该考虑的是兼容性,而不是微软家做了啥。
比如客户中还有用2003版本的,你就不能分发accdb/accde格式下去,除非你不打算维护这个客户了。
另外一点,只要不涉及win32API,64位Access软件是可以直接运行32位Access文件的。如果考虑到有用户用了64位,那么写一个条件编译。例如:
  1. #If Win64 Then
  2.     Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
  3. #Else
  4.     Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  5. #End If
复制代码

论坛里好像有相应的例子,我回头找找
作者: accben    时间: 2023-5-4 10:47
谢谢roych。
是这样的,最近想做一个新的管理系统,一直在犹豫不定,是选用32位还是64位开发。

我现在用32位的ACCESS 2013,有时公司同事买了新的笔记本电脑,都是带64位的标准版Office,但又要用我开发的32位ACCESS系统,只能删除原装正版的64位标准版Office,再装一个D版的32位专业版Office。结果同事很不爽,说我删除了他的正版Office。

如果我使用64位的Access,那么,就不用删除同事原装的64位标准版Office,我只需装一个64位的ACCESS Runtime即可。


作者: roych    时间: 2023-5-4 16:02
个人觉得完全没必要。
1、卸载同事的软件,这种事情吃力不讨好。而且随着电脑的更新换代,天天卸载也不是一个办法。
2、如果你自己改用64位软件来开发,那么,用旧电脑的同事同样无法使用你的数据库系统。
所以,最好的办法是使用条件编译来兼容两种Access软件,毕竟64位Access软件可以运行32位Access文件。
关于条件编译部分,我也帮你找了两个帖子。
http://www.office-cn.net/thread-120105-1-1.html
http://www.office-cn.net/thread-119762-1-1.html
如果不涉及API部分,其实完全没影响(不过大多数Access系统为了一些特殊效果,例如进度条,半透明效果等等,都会涉及API)。
开发软件首先要考虑兼容问题。就像前面说的,如果用户里还有使用2003版本的(例如电脑太久无法安装2007版本),你以2007版本来开发,用户只能用脚投票了。
作者: accben    时间: 2023-5-4 16:39
非常感谢roych的解惑。
相信没有用过64位Access的小伙伴们,在看到上面的解答后,多少有些底了。





欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3