国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > Access > 正文

Access2010使用Treeview出現(xiàn)問(wèn)題的解決辦法(適合32位及64位)

2024-09-07 19:03:09
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

Access 2010-使用TreeView (MSComctlLib.TreeCtrl.2) 在windows 安全補(bǔ)丁更新之后, 使用就出現(xiàn)錯(cuò)誤了

復(fù)制 MSCOMCTL.OCX 到 syswow64下再注冊(cè)也不行

建議 使用版本:6.1.98.34

相關(guān)資料:http://www.microsoft.com/zh-cn/security/pc-security/bulletins/201208.aspx

1.先使用這個(gè)方法

regsvr32 /u mscomctl.ocx

regsvr32 mscomctl.ocx

針對(duì) Windows 7 or 2008 - 運(yùn)行 cmd.exe "使用管理員身份"

for 32bit Windows systems: regsvr32 c:/windows/system32/mscomctl.ocx

for 64bit Windows systems: regsvr32 c:/windows/syswow64/mscomctl.ocx

2. 國(guó)外的解決辦法如下: (大部分情況下可行)

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解決微軟安全補(bǔ)丁更新后的問(wèn)題

http://go.microsoft.com/fwlink/?LinkId=263512下載這個(gè)文件來(lái)修復(fù)

或 下載 : http://www.microsoft.com/zh-cn/download/details.aspx?id=36841

. 它會(huì)下載 mscomctlocx2010-kb2687503-fullfile-x86-glb.exe

運(yùn)行這個(gè)程序?qū)?huì)自動(dòng)修復(fù)這個(gè)問(wèn)題,并且不需要重啟

如果你的Mscomctl.ocx控件的版本是 6.1.98.33 或6.1.98.34 才需要運(yùn)行它

相關(guān)鏈接:http://support.microsoft.com/kb/2748410

附加信息:

Microsoft 發(fā)布了一個(gè)針對(duì) Microsoft Office 2010 32 位版本 的更新。此更新提供 Microsoft Office 2010 32 位版本 的最新修復(fù)。此外,此更新包含穩(wěn)定性和性能改進(jìn)。

4. 微軟針對(duì)這個(gè)Treeview(Mscomctl.ocx)的官方解決辦法(http://support.microsoft.com/kb/2687441)

基于 Windows Common Control 的嵌入式 ActiveX 控件可能無(wú)法在預(yù)先存在的 Office 文檔中、第三方加載項(xiàng)中,以及當(dāng)您在開(kāi)發(fā)人員模式下插入新控件時(shí)加載。

推薦的解決方案

現(xiàn)在可下載安裝控件并修復(fù)控件注冊(cè)的修復(fù)程序。 我們建議您安裝此修復(fù)程序來(lái)解決問(wèn)題。您可以在此下載修復(fù)程序。

注意

在安裝此修復(fù)程序來(lái)解決問(wèn)題之前,您不必安裝安全更新 2687441。

注意

如果您不安裝該修復(fù)程序并選擇了其他分辨率,則當(dāng)您為 Office 安裝在 MS12-060 之后發(fā)布的更新時(shí)可能還會(huì)遇到相同的問(wèn)題。

其他解決方案

如果愿意,您可以使用“Fix it”解決方案來(lái)讓我們?yōu)槟鉀Q此問(wèn)題。 為此,請(qǐng)轉(zhuǎn)到“Fix it for me”部分。

解決方法

Regsvr32

要解決此問(wèn)題,您可以使用注冊(cè)表編輯器刪除相關(guān)注冊(cè)表項(xiàng)。 然后使用命令注冊(cè) Mscomctl.ocx 文件。 您也可以創(chuàng)建批處理文件使其自動(dòng)化。

手動(dòng)刪除相關(guān)注冊(cè)表項(xiàng)

重要說(shuō)明

此部分、方法或任務(wù)包含有關(guān)如何修改注冊(cè)表的步驟。但是,注冊(cè)表修改不當(dāng)可能會(huì)出現(xiàn)嚴(yán)重問(wèn)題。因此,請(qǐng)一定嚴(yán)格按照下列步驟操作。為了獲得進(jìn)一步保護(hù),請(qǐng)?jiān)谛薷淖?cè)表之前對(duì)其進(jìn)行備份。這樣就可以在出現(xiàn)問(wèn)題時(shí)還原注冊(cè)表。有關(guān)如何備份和還原注冊(cè)表的更多信息,請(qǐng)單擊下面的文章編號(hào),以查看 Microsoft 知識(shí)庫(kù)中相應(yīng)的文章:

322756如何在 Windows 中備份和還原注冊(cè)表

要?jiǎng)h除此注冊(cè)表項(xiàng),請(qǐng)執(zhí)行下列步驟:

依次單擊“開(kāi)始”、“運(yùn)行”,在“打開(kāi)”框中鍵入regedit,然后單擊“確定”。

找到并單擊注冊(cè)表中的以下子項(xiàng):

HKEY_CLASSES_ROOT/TypeLib/{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}/2.0

在“編輯”菜單上,單擊“刪除”,然后單擊“是”。

退出注冊(cè)表編輯器,然后重新啟動(dòng)計(jì)算機(jī)。

手動(dòng)注冊(cè) Mscomctl.ocx 文件

注意

您必須使用管理員權(quán)限從提升的命令提示符處運(yùn)行命令。為此,請(qǐng)執(zhí)行下列步驟:

cmd

單擊“開(kāi)始”,鍵入。

右鍵單擊“cmd”圖標(biāo),然后單擊“以管理員身份運(yùn)行”。

根據(jù)您使用的操作系統(tǒng),鍵入下面的一個(gè)命令,然后按 Enter:

對(duì)于 64 位操作系統(tǒng),請(qǐng)鍵入以下命令:

Regsvr32 "C:/Windows/SysWOW64/MSCOMCTL.OCX"

對(duì)于 32 位操作系統(tǒng),請(qǐng)鍵入以下命令:

Regsvr32 "C:/Windows/System32/MSCOMCTL.OCX"

創(chuàng)建批處理文件以刪除相關(guān)注冊(cè)表項(xiàng),并注冊(cè) Mscomctl.ocx 文件

您可以創(chuàng)建批處理文件以刪除注冊(cè)表項(xiàng),并注冊(cè) Mscomctl.ocx 文件。要?jiǎng)?chuàng)建批處理文件,請(qǐng)將以下文本復(fù)制到文本文件中,然后使用文件擴(kuò)展名“.bat”保存該文本文件。(下例檢測(cè)操作系統(tǒng)是 32 位還是 64 位,然后根據(jù)檢測(cè)結(jié)果運(yùn)行相應(yīng)的命令。)

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

要自動(dòng)運(yùn)行命令,請(qǐng)將命令行開(kāi)關(guān)添加到前一個(gè)示例中的每個(gè)命令。例如:

%systemroot%/system32/regsvr32 /u mscomctl.ocx /s

注意

您必須以管理員身份運(yùn)行批處理文件:

要在 Windows Vista、Windows Server 2008、Windows 7 或 Windows Server 2008 R2 中執(zhí)行此操作,請(qǐng)右鍵單擊批處理文件,然后單擊“以管理員身份運(yùn)行”。

以管理員身份運(yùn)行

要在 Windows XP 或 Windows Server 2003 中執(zhí)行此操作,請(qǐng)按住 Shift 鍵,右鍵單擊批處理文件,然后單擊

有關(guān)如何以管理員身份啟動(dòng)程序的更多信息,請(qǐng)轉(zhuǎn)到以下 Microsoft 網(wǎng)頁(yè):

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/windows_security_runas.mspx?mfr=true

有關(guān)如何注冊(cè) ActiveX 控件的詳細(xì)信息,請(qǐng)單擊下面的文章編號(hào),以查看 Microsoft 知識(shí)庫(kù)中相應(yīng)的文章:

2746232(頁(yè)面可能為英文) 如何手動(dòng)注冊(cè) ActiveX 控件 (.ocx)

7.FMS提供的解決辦法 原文: http://www.fmsinc.com/MicrosoftAccess/Controls/mscomctl/?goback=%2Egde_937037_member_154050465#%21

修復(fù) Microsoft Windows Common Control Library (MSCOMCTL.OCX) 安裝更新導(dǎo)致的問(wèn)題

Microsoft Office 的新的安全更新

在2012年8月14日,微軟發(fā)布了一個(gè)安裝更新補(bǔ)丁,里面包含了Windows Common Control MSCOMCTL.OCX的更新:

文件名 文件版本 文件大小 日期 時(shí)間
Mscomctl.ocx 6.01.9834 1,070,152 07-Jun-2012 03:59

注意這個(gè)控件的日期是6月份,但它是包含在這個(gè)8月份的安全補(bǔ)丁包中.

微軟針對(duì)這個(gè)補(bǔ)丁的相關(guān)知識(shí)庫(kù)(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

使用這個(gè)更新可能導(dǎo)致的問(wèn)題

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. 另一個(gè)有效的解決辦法

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 庄河市| 二连浩特市| 衢州市| 闽侯县| 景泰县| 交口县| 桂阳县| 手机| 上饶市| 土默特右旗| 宾川县| 和林格尔县| 泰和县| 竹溪县| 九寨沟县| 浑源县| 河北省| 哈巴河县| 将乐县| 沙田区| 汉寿县| 肥东县| 连州市| 修水县| 英吉沙县| 百色市| 普安县| 乌兰浩特市| 大厂| 无锡市| 富源县| 盐城市| 微山县| 永定县| 丹阳市| 门头沟区| 纳雍县| 德化县| 宜都市| 泽普县| 平阴县|