使用 TreeView (MSComctlLib.TreeCtrl.2) 访问 2010 应用程序按预期显示和填充,但在 Windows 安全补丁不会触发事件返回 VBA 之后突然出现。
尝试在 /syswow64 中回滚 MSCOMCTL.OCX,但没有运气。
请 ping 任何类似的行为或提示以解决问题。
问候,
问题似乎是 mscomctl.ocx 的注册表项在安全更新后被破坏。可以在此知识库文章中找到一种解决方案。它建议以管理员身份运行此批处理文件:
reg delete hkcr\typelib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}\2.0 /f
if exist %systemroot%\SysWOW64\cscript.exe goto 64
%systemroot%\system32\regsvr32 /u mscomctl.ocx
%systemroot%\system32\regsvr32 mscomctl.ocx
exit
:64
%systemroot%\sysWOW64\regsvr32 /u mscomctl.ocx
%systemroot%\sysWOW64\regsvr32 mscomctl.ocx
exit
我已经验证这在我们的环境中有效。
我打开了一个在 Windows 7 32 位上运行的 32 位 Access 2013 上开发的 Access 文件,在 Windows 8 64 位上运行的 64 位 Access 2013 上打开它时遇到了这个问题。
我的解决方案:
使用 Access 表单上的设计视图删除控件并重新添加它。
因为树视图的属性大部分是通过编程设置的,所以除了重新定位和重命名它之外应该没什么可做的。