ms-access - 注册 MSCOMCTL.OCX 后,TreeView 控件仍不可用

标签 ms-access vba treeview ms-access-2010 windows-7-x64

目前我正在使用 MS Access 数据库,但我在使用该库时遇到了困难 MSCOMCTL.OCX .

问题如下:给定 Windows 7 x64 , Microsoft Office 2010 x64MSCOMCTL.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/

相关文章:

excel - VBA Excel : modify dynamic named range code

c# - wpf 如何将一个 TreeView 绑定(bind)到另一个 TreeView

c - GTK Glade C - TreeView 选择奇怪的段错误

sql-server - 将复选框与 SQL Server 链接表中的位列绑定(bind)

ms-access - Access 、多个一对一连接问题

vba - 根据单元格值复制代码

c# - 如果 MVVM 模型继承扩展到所有选项卡,为什么 Treeview 会扩展?

excel - 使用 VBA 从 Access 运行后从任务管理器中删除 Excel 任务

ms-access - MS Access 如何连接链接表(链接到同一 SQL Server 数据库)?

excel - 在 = 或 := 之间选择