目前我正在使用 MS Access 数据库,但我在使用该库时遇到了困难 MSCOMCTL.OCX
.
问题如下:给定 Windows 7 x64
, Microsoft Office 2010 x64
和MSCOMCTL.OCX v6.1.98.34
(在文件夹 regsvr32
中的 SysWOW64
的帮助下注册),我无法使用某些形式的数据库中存在的 TreeView ( MsComCtlLib.TreeCtrl.2
类)。每次代码接近任何 TreeView 的(读取、节点的)属性时,我都会收到以下消息:
"Object doesn't support this property or method" (Error 438)
在Windows 7 x32
时数据库工作正常。
试图了解问题所在,我发现库 Microsoft Windows Common Controls 6.0 (SP6)
存在于“引用...”对话框中看到的列表中并已选中,但我没有看到 Microsoft TreeView Control 6.0
当我处于构造函数模式时,位于可用 ActiveX 对象列表中。
根据网上找到的一些解决方案,我执行了regedit.exe,发现路径HKEY_CLASSES_ROOT\TypeLib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}
中有两个“文件夹” , "2.0"
和"2.1"
。另外,文件的路径MSCOMCTL.OCX
位于"2.1"
,而"2.0"
也不是空的 - 它包含 PrimaryInteropAssemblyName
例如, "2.1"
中不存在该属性.
那么,我应该怎样做才能使数据库中的 TreeViews 正常工作?正如我之前提到的,我看到了一些解决方案,但我不敢使用它们,因为数据库所在的计算机不是我的,并且不希望进行更改,这会影响系统的安全性。
最佳答案
默认安装的 MSCOMCTL 版本不兼容 64 位。不幸的是你运气不好。无论对注册表进行多少修改,都无法使仅 32 位的控件在 64 位 Office 中工作。
但是,MS 显然包含与 Office 365 专业增强版安装兼容的 64 位 MSCOMCTL 版本 ( source )。您可以考虑购买它,或通过其他方式获取它。
关于ms-access - 注册 MSCOMCTL.OCX 后,TreeView 控件仍不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53593509/