名站网址导航为大家提供关于数据库教程相关的教程网站知识。
在Access2003或以上版本使用RichTX32.OCX Rich text box控件出错
以下具体相关方法可以解决在 Access 2003 或一些 Access 2002/XP SP3 用户使用 RichTX32.OCX ActiveX 控件(Rich Text Edit)出错的的问题,在 Access 2002 /SP3 或 Access 2003 就可插入Rich text edit控件中总是提示Microsoft office access 不支持这种ActiveX 控件,这种具体相关方法允许 Internet Explorer使用 Richtx32.ocx (由于安全的考虑). 可参考微软的KB 838010所说的http://support.microsoft.com/kb,为了允许 Access 2002 /SP3 或 2003 使用这个控件, 您可以通过修改注册表来解决, 在注册表中找到以下注册项(请先备份注册表):,hKEY_LOCAL_MAChINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{3B7C8860-D78F-101B-B9,RichTx32.ocx 的 class ID 总是 3B7C8860-D78F-101B-B9B5-04021C009402,这个键值 有一个Compatibility Flags 项,数据类型为DWORD,假如如果它的值 是 0x400 (二进键是, 十进制是 1024) 将它简单的改为 0 修改之后,,您会发现,在 Access 2002 /SP3 或 Access 2003 就可插入Rich text edit控件中,曾经在为香港客户开发一个繁体的Access 2003系统下测试过, 估计简体access环境也是一样,请大家也测试一下
Access 2010-使用TreeView (MSComctlLib.TreeCtrl.2) 在windows 安全补丁更新之后, 使用就出现错误了
复制 MSCOMCTL.OCX 到 syswow64下再注册也不行
建议 使用版本:6.1.98.34
相关资料:http://www.microsoft.com/zh-cn/security/pc-security/bulletins/201208.aspx
1.先使用这个具体相关方法
regsvr32 /u mscomctl.ocx
regsvr32 mscomctl.ocx
针对 Windows 7 or 2008 - 运行 cmd.exe "使用管理员身份"
for 32bit Windows systems: regsvr32 c:\windows\system32\mscomctl.ocx
for 64bit Windows systems: regsvr32 c:\windows\syswow64\mscomctl.ocx
2. 国外的解决办法如下: (大部分情况下可行)
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.ocxexit
3. 微软官方的解决办法
http://support.microsoft.com/kb/2597986解决微软安全补丁更新后的问题
http://go.microsoft.com/fwlink/?LinkId=263512下载这个网站网站文件来修复
或 下载 : http://www.microsoft.com/zh-cn/download/details.aspx?id=36841
. 它会下载 mscomctlocx2010-kb2687503-fullfile-x86-glb.exe
运行这个程序将会自动修复这个问题,并且不需要重启
假如如果您的Mscomctl.ocx控件的版本是 6.1.98.33 或6.1.98.34 才需要运行它
相关链接:http://support.microsoft.com/kb/2748410
附加信息:
Microsoft 发布了一个针对 Microsoft Office 2010 32 位版本 的更新。此更新提供 Microsoft Office 2010 32 位版本 的最新修复。此外,此更新包含稳定性和性能改进。
4. 微软针对这个Treeview(Mscomctl.ocx)的官方解决办法(http://support.microsoft.com/kb/2687441)
基于 Windows Common Control 的嵌入式 ActiveX 控件可能无法在预先存在的 Office 文档中、第三方加载项中,以及当您在开发人员模式下插入新控件时加载。
推荐的解决方案
现在可下载安装控件并修复控件注册的修复程序。 咱们建议您安装此修复程序来解决问题。您可以在此下载修复程序。
注意
在安装此修复程序来解决问题之前,您不必安装安全更新 2687441。
注意
假如如果您不安装该修复程序并选择了其他分辨率,则当您为 Office 安装在 MS12-060 之后发布的更新时可能还会遇到相同的问题。
其他解决方案
假如如果愿意,您可以使用“Fix it”解决方案来让咱们为您解决此问题。 为此,请转到“Fix it for me”部分。
解决具体相关方法
Regsvr32
要解决此问题,您可以使用注册表编辑器删除相关注册表项。 然后使用开始执行命令注册 Mscomctl.ocx 网站网站文件。 您也可以创建批处理网站网站文件使其自动化。
手动删除相关注册表项
重要说明
此部分、具体相关方法或任务包含有关如何修改注册表的步骤。但是,注册表修改不当可能会出现严重问题。因此,请一定严格按照下列步骤操作办法。为了获得进一步保护,请在修改注册表之前对其进行备份。这样就可以在出现问题时还原注册表。有关如何备份和还原注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756如何在 Windows 中备份和还原注册表
要删除此注册表项,请执行下列步骤:
依次单击“开始”、“运行”,在“打开”框中键入regedit,然后单击“确定”。
找到并单击注册表中的以下子项:
hKEY_CLASSES_ROOT\TypeLib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}\2.0
在“编辑”菜单上,单击“删除”,然后单击“是”。
退出注册表编辑器,然后重新启动计算机。
手动注册 Mscomctl.ocx 网站网站文件
注意
您必须使用管理员权限从提升的开始执行命令提示符处运行开始执行命令。为此,请执行下列步骤:
cmd
单击“开始”,键入。
右键单击“cmd”图标,然后单击“以管理员身份运行”。
根据您使用的操作办法系统,键入下面的一个开始执行命令,然后按 Enter:
对于 64 位操作办法系统,请键入以下开始执行命令:
Regsvr32 "C:\Windows\SysWOW64\MSCOMCTL.OCX"
对于 32 位操作办法系统,请键入以下开始执行命令:
Regsvr32 "C:\Windows\System32\MSCOMCTL.OCX"
创建批处理网站网站文件以删除相关注册表项,并注册 Mscomctl.ocx 网站网站文件
您可以创建批处理网站网站文件以删除注册表项,并注册 Mscomctl.ocx 网站网站文件。要创建批处理网站网站文件,请将以下文本复制到文本网站网站文件中,然后使用网站网站文件扩展名“.bat”保存该文本网站网站文件。(下例检测操作办法系统是 32 位还是 64 位,然后根据检测结果运行相应的开始执行命令。)
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
regsvr32
要自动运行开始执行命令,请将开始执行命令行开关添加到前一个示例中的每个开始执行命令。例如:
%systemroot%\system32\regsvr32 /u mscomctl.ocx /s
注意
您必须以管理员身份运行批处理网站网站文件:
要在 Windows Vista、Windows Server 2008、Windows 7 或 Windows Server 2008 R2 中执行此操作办法,请右键单击批处理网站网站文件,然后单击“以管理员身份运行”。
以管理员身份运行
要在 Windows XP 或 Windows Server 2003 中执行此操作办法,请按住 Shift 键,右键单击批处理网站网站文件,然后单击
有关如何以管理员身份启动程序的更多信息,请转到以下 Microsoft 网页:
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/windows_security_runas.mspx?mfr=true
有关如何注册 ActiveX 控件的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2746232(页面可能为英文) 如何手动注册 ActiveX 控件 (.ocx)
7.FMS提供的解决办法 原文: http://www.fmsinc.com/MicrosoftAccess/Controls/mscomctl/?goback=.gde_937037_member_154050465#!
修复 Microsoft Windows Common Control Library (MSCOMCTL.OCX) 安装更新导致的问题
Microsoft Office 的新的安全更新
在2012年8月14日,微软发布了一个安装更新补丁,里面包含了Windows Common Control MSCOMCTL.OCX的更新:
网站网站文件名 |
网站网站文件版本 |
网站网站文件大小 |
日期 |
时间 |
Mscomctl.ocx |
6.01.9834 |
1,070,152 |
07-Jun-2012 |
03:59 |
注意这个控件的日期是6月份,但它是包含在这个8月份的安全补丁包中.
微软针对这个补丁的相关知识库(KB)
KB2597986- for Office 2010
KB2687441- for Office 2007
KB2687323- for Office 2003
微软版本
以下版本:
Windows XP, Vista, Windows 7 (32/64 bit)
Windows Server 2003, 2008, 2008 R2
使用这个更新可能导致的问题
After installing the update, the Windows Common Control Library does not work. The issue seems to stem around a defective installation or registration of the OCX file. This update causes problems with existing Microsoft Access, VB6 and other applications using common controls such as the Treeview and Listbox controls.
The symptoms are rather odd. It's not as if the control is completely missing or not registered. The control exists but does not behave correctly as events are not firing correctly. For instance, the Treeview control don't issue NodeClick events, so any code that expects the expansion of a node to display or load more data fails. It took us a while to discover that a change in this control caused this problem.
In other cases, users are reporting that Microsoft Access locks up and crashes. People are also reporting problems with this in Visual Basic 6 (VB6) applications. here are additional reports ofissuesassociated with this patch.
Impact on Total Access Analyzer
This impacts our Total Access Analyzer product which displays the results of your Microsoft Access database documentation with the Treeview control. This error appears:
Error 459 - Object or class does not support the set of events, Procedure clsFrmExplorer_TAA.InitForm
If your PC received the security update and you're using the Microsoft Access 2010, 2007, 2003, 2002, or 2000 version of Total Access Analyzer, the Treeview control in our Database Explorer view no longer functions properly.
Known Issues as Reported by Microsoft
Microsoft has acknowledged problems with their security update that is causing these problems. The issue is caused by a registration of the updated MSCOMCTL.OCX file. Microsoft has released a Knowledgebase article 2687441 addressing this problem entitled:MS12-060: Description of the security update for 2007 Office system: August 14, 2012.
In that article, they mention the known issues with the security update:
Windows Common Control-based embedded ActiveX controls may fail to load within pre-existing office documents, within third-party applications, and when you insert new controls in developer mode. For example, depending on your operating system, you can type the either of the following commands at an elevated command prompt, and then press Enter:
For 64-bit operating systems, type the following: Regsvr32 "C:\Windows\SysWOW64\MSCOMCTL.OCX"
For 32-bit operating systems, type the following: Regsvr32 "C:\Windows\System32\MSCOMCTL.OCX"
The article goes into details about unregistering the control and re-registering it using a batch file calling REGEDIT.EXE.
Microsoft's Suggested Solution Fails
In our internal testing, we've discovered that the recommended steps don't work in most cases. Just unregistering and re-registering the control doesn't solve the problem. We tried adding a reboot between steps, but that didn't help either. The steps below work consistently. An technical explanation why is given at the end.
Our Steps for Fixing the Registration of the Windows Common Control
While there seems to be nothing physically wrong with the new OCX, we need to register another version to reset it. here are the steps we discovered to manually repair this issue reliably and consistently:
Unregister the new MSCOMCTL.OCX and make a backup of it
Install and register an old (legacy) version of the MSCOMCTL.OCX file
Replace the legacy control with the new one
Re-register the new control
#FormatImgID_0#Windows Command Prompt and Security Permissions
You need Administrator rights to make registry changes. Depending on your operating system and Windows login rights, you may not be allowed to do this.
From your Windows Start button under, All Programs, Accessories, launch the Command Prompt by right clicking on it and choosing "Run as administrator".
You can then copy the Regsvr32.exe command lines described below into the dialog.
32 Bit Windows
Unregister the new OCX file. Open an instance of the Windows Command Prompt, paste the following command, and press : Regsvr32.exe /u C:\Windows\System32\MSCOMCTL.OCX
Make a backup of the OCX file C:\Windows\System32\MSCOMCTL.OCX to C:\Windows\System32\MSCOMCTL.bak
Copy a legacy version of the MSCOMCTL.OCX file to your C:\Windows\System32 folder. For your convenience, a zipped copy from 2011 ishere.
Register this legacy OCX file with the following command: Regsvr32.exe C:\Windows\System32\MSCOMCTL.OCX
Unregister this legacy version of the OCX file: Regsvr32.exe /u C:\Windows\System32\MSCOMCTL.OCX
Delete the legacy OCX file: C:\Windows\System32\MSCOMCTL.OCX
Rename the new OCX file we renamed in step 2, back to its original name: C:\Windows\System32\MSCOMCTL.bak to C:\Windows\System32\MSCOMCTL.OCX
Re-register the new version of the OCX file. Paste the following command and press : Regsvr32.exe C:\Windows\System32\MSCOMCTL.OCX
Reboot the computer.
Open Microsoft Access and then retest the control. It should be working at this point.
64 bit Windows
The 64-bit steps are identical to the 32 bit version except the folder is SYSWOW64 rather than SYSTEM32:
Unregister the new OCX file. Open an instance of the Windows Command Prompt, paste the following command, and press : Regsvr32.exe /u C:\Windows\SYSWOW64\MSCOMCTL.OCX
Make a backup of the OCX file C:\Windows\SYSWOW64\MSCOMCTL.OCX to C:\Windows\SYSWOW64\MSCOMCTL.bak
Copy a legacy version of the MSCOMCTL.OCX file to your C:\Windows\SYSWOW64 folder. For your convenience, a zipped copy from 2011 ishere.
Register this legacy OCX file with the following command: Regsvr32.exe C:\Windows\SYSWOW64\MSCOMCTL.OCX
Unregister this legacy version of the OCX file: Regsvr32.exe /u C:\Windows\SYSWOW64\MSCOMCTL.OCX
Delete the legacy OCX file: C:\Windows\SYSWOW64\MSCOMCTL.OCX
Rename the new OCX file we renamed in step 2, back to its original name: C:\Windows\SYSWOW64\MSCOMCTL.bak to C:\Windows\SYSWOW64\MSCOMCTL.OCX
Re-register the new version of the OCX file. Paste the following command and press : Regsvr32.exe C:\Windows\SYSWOW64\MSCOMCTL.OCX
Reboot the computer.
Open Microsoft Access and then retest the control. It should be working at this point.
Why This Solution Works
The reason why Microsoft's recommendation to un-register and re-register the new MSCOMCTL.OCX Common Control fails is because it doesn't overwrite the legacy control's registry on the machine. Industry colleague, Andrew Rohm provides this nice explanation:
The problem is that the update leaves some old 2.0 Version entries in the Registry. The previous MSCOMCTL.OCX carried the version number 2.0 (the *File* Version is 6.something but in the registry it's known as Version 2.0).
The new file version is 6.1.98.34 but Version 2.1 in the registry. here we are talking about registry entry: hKEY_CLASSES_ROOT\TypeLib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}
The patch installs the new version but leaves a part of the old registry settings.
By installing and uninstalling the legacy control, it cleans up the 2.0 registry so the new version is installed properly. The offending registry that needs to be deleted is:
hKEY_CLASSES_ROOT\TypeLib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}\2.0
We have the same problem. In our Add-In, we were able to trace the problem to a declaration of a variable as Excel.Application. The reference to this object is in the Excel.exe file, so it is very unclear as to which files got messed up.
The machines that have this problem were all updated early this morning (15 Aug 2012) with the following updates (sorry for not posting links, as a new user, I'm limited to only two per post):
Security Update for Microsoft Office 2007 suites (KB2596615)
Security Update for Microsoft Office 2007 suites (KB2596754)
Security Update for Microsoft Office 2007 suites (KB2596856)
Security Update for Microsoft Office 2007 suites (KB2687441)
Update for Microsoft Office Outlook 2007 Junk Email Filter (KB2687400)
Windows Malicious Software Removal Tool x64 - August 2012 (KB890830)
At present, we have not found any information on the MSDN site that could clear this up. We're still trying to isolate this down further.
Same issue here today after performing the update for Office 2007 Excel. Oddly, one system had no issues despite the update - the newest system. So after some inspection, I noticed this trouble-free system had different version of MSCOMCTL.OCX in windows\sysWOW64 then others. here are the details of this activeX Size: 1,070,152 bytes created: 6/3/2012 modified: 6/6/2012 product version: 6.01.9834 So I copied this to the trouble one and it did the trick.
Also, you might want to check if these application extensions are present in windows\sysWOW64 or windows\system32 for 32-bit system FM20.DLL (Modified Date: 7/7/2011, version 12.0.6604.1000, 1.13MB) FM20ENU.DLL (Modified Date: 10/24/2008, version 12.0.6413.1000, 32.3KB) Not sure where you can download these. I cannibalized them from other systems. 5. 另一个有效的解决办法
This article applies toWord, Access, Excel and PowerPoint. MS12-060 is a security update that was released Tuesday, August 14, 2012. This update replaced MS12-027. You may now be seeing one of the following errors:
"Unspecified Automation Error" when running or compiling your Microsoft Office VBA code after installing MS12-060;
or
"Errors were detected while saving 'filename.xlsm'. Microsoft Office Excel may be able to save the file by removing or repairing some features. To make the repairs in a new file, click Continue. To cancel saving the file, click Cancel."
clicking continue you will see "Document failed to save" or similar error.
Update - 9/26/2012. Seethis blog postfor the latest update.
Fixit Available
There is a fixit available for this problem:
Office 2010 w SP1 -http://support.microsoft.com/kb/2597986
Office 2007 w SP2 or SP3 -http://support.microsoft.com/kb/2687441
Office 2003 w SP3 or Office 2003 Web Components w SP3 -http://support.microsoft.com/kb/2687323
Steps to fix the problem manually
Alternatively, the manual fix for this problem is to re-register MSCOMCTL.OCX. To do this, follow these steps:
1. Open anadministrative-level command prompt. The command prompt MUST be on the administrative level for this to work. Click START, and type RUN in the run command line. On Windows Vista and Windows 7 you will see CMD.EXE appear in the quick searchlist. Right click CMD.EXE and left click Run As Administrator. A black command prompt opens. On Windows XP, there is no built-in run-as-admin, but you can use the run as menu option (or runas command line) to execute an admin command from a Limited User Account.
2. If on a 64-bit machine, type the following:
regsvr32.exe /u C:\Windows\SysWOW64\MSCOMCTL.OCX hit ENTER
then type
regsvr32.exe C:\Windows\SysWOW64\MSCOMCTL.OCX
If on a 32-bit machine, type the following:
regsvr32.exe /u C:\Windows\System32\MSCOMCTL.OCX
hit ENTER
then type
regsvr32.exe C:\Windows\System32\MSCOMCTL.OCX
Your Office program should work again after doing this.
(Updated) 3. NOTE: The following step is done at your own risk. Microsoft doesn't know about any side effects to deleting this registry key. In cases where the re-registration doesn't work and you still get the error, you will need to open the registry editor (START > RUN > REGEDIT) and find andDELETE the following registry key:
hKEY_CLASSES_ROOT\TypeLib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}\2.0
to
hKEY_CLASSES_ROOT\TypeLib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}\2.0OLD
We've heard reports that renaming the key doesn't work. The key has to be deleted.
Afterward, follow steps 1 and 2 to unregister and re-register MSCOMCTL.OCX
Automating a Solution for Multiple Machines
You can also include the unregistration and re-registration in a batch file that is pushed out to multiple machines. here is a sample script which should do the job:
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
If you require a batch file that runssilently, use the following:
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 /s %systemroot%\system32\regsvr32 mscomctl.ocx /s exit
:64 %systemroot%\sysWOW64\regsvr32 /u mscomctl.ocx /s %systemroot%\sysWOW64\regsvr32 mscomctl.ocx /s exit
Alternate Solution
See
http://blogs.technet.com/b/office_sustained_engineering/archive/2012/08/24/ms12-060-not-initiating-with-certain-controls.aspx
关于数据库教程相关的教程网站知识今天我们就说到这里了,希望可以帮到大家。