Access TreeView樹控件兼容性問題之奇葩偏方
- 2017-03-23 09:03:08
- 紅塵如煙-Office交流網(wǎng) 原創(chuàng)
- 7702
Windows系統(tǒng)自帶的通用控件庫 MSCOMCTL.OCX 是一個很好的東西,尤其是TreeView樹控件,用來處理多層級的樹形結(jié)構(gòu)數(shù)據(jù)非常有用。由于在Access中沒有類似的控件,沒有其它代替解決辦法。甚至不像ListView可以用列表框或者子窗體代替,Toolbar可以用按鈕、菜單代替。
但自從Win7開始,不論是Win8、Win10,MSCOMCTL.OCX通用控件庫中的控件就經(jīng)常出現(xiàn)兼容性問題。即開發(fā)環(huán)境下的版本號和使用環(huán)境下的版本號,哪怕只有很小的差別,像6.1.9834和6.1.9818這樣,都會出現(xiàn)異常不能使用。
我們這里仍然以TreeView控件為例,不包括本身控件庫安裝有問題不能使用的情況,一般可能會遇到的兼容性問題有會以下兩類:
- 不能響應(yīng)鍵盤、鼠標(biāo)事件。可以正常加載數(shù)據(jù)到樹控件,但不論是鼠標(biāo)還是鍵盤,均無法觸發(fā)相應(yīng)的事件,比如在NodeClick事件中寫了相應(yīng)處理代碼,但點擊之后沒有任何反應(yīng)。
- 鍵盤、鼠標(biāo)事件一觸發(fā)就報錯。點擊鼠標(biāo)、按鍵,甚至鼠標(biāo)在樹控件上移動,事件可以響應(yīng),但一觸發(fā)就報錯,導(dǎo)致不能正常使用。
這些問題發(fā)生的頻率非常高!尤其是當(dāng)一些在實際中已經(jīng)在用的Access程序來說,遇到實在讓人火冒三丈,因為業(yè)務(wù)部門等著馬上要用呢!這是在坑爹呢還是在坑爹呢!
對于這個問題有什么解決辦法呢?總結(jié)下來不外乎下面幾種:
- 修改控件庫。這個控件庫是微軟的,第一優(yōu)先是希望微軟能在更新系統(tǒng)時解決掉該問題,但從Win7到Win10,該問題仍然頑固地存在,看來微軟是指望不上了。而我們不可能去修改控件庫,甚至通過一些破解手段修改了,但會導(dǎo)致簽名失效,還是不便于使用。
- 不使用樹控件。但正如本文一開頭說的那樣,有些多層數(shù)據(jù)的展示和處理,在用過了樹控件之后,現(xiàn)在要讓人不用,實在難受。就像習(xí)慣了電氣化的現(xiàn)代人,突然沒電了,要點油燈、蠟燭照明,這!這!這!這日子不過了!
- 使用其它第三方樹控件。其它第三方樹控件的問題在于,有可能是要額外付費的。即使找到免費的了,由于屬性方法事件等接口不同,還需要重新編寫程序。另外使用第三方控件需要安裝,而一些規(guī)范化的企業(yè)里面,是禁止用戶自行安裝軟件的。
看到這里你是不是感到絕望了?是不是感覺自己被掏空了?感覺不會再愛了?
這么想地話,你還是太年輕,圖樣圖森破!
世上無難事,只怕有些人!要相信希望總會有的,奇跡是會出現(xiàn)的,在那個迷茫的午夜,上帝向你走來,賜給了你一道光!
上帝說:解決這個問題,需要用到這一招如來神掌,我現(xiàn)在就將如來神掌的秘籍傳授給你!
------------------------------------------如來神掌秘籍分割線--------------------------------------
1. Ctrl+G打開立即窗口,輸入以下代碼并回車,將窗體另存為文本文件。
[code]SaveAsText acForm, "Form1", CurrentProject.Path & "\Form1.txt"[/code]注意不要直接把代碼原樣抄去就用,
要把Form1改成你實際的窗體名稱!
要把Form1改成你實際的窗體名稱!
要把Form1改成你實際的窗體名稱!
重要的事情說三遍。
2. 用記事本打開剛才生成的文件文件 Form1.txt,找到樹控件所在的位置(如果內(nèi)容比較多,可以搜索樹控件名稱)。
3. 將從 OleData = Begin 這一行開始,直到 End 結(jié)束的OleData部分全部選中:
4. 將上面選中的部分替換成附件中的內(nèi)容(由于發(fā)帖限制不能直接放數(shù)據(jù)):兼容性好的TreeView控件OleData.zip
5. 回到Access立即窗口,再次輸入以下代碼并回車,將文本文件加載為窗體:
[code]LoadFromText acForm, "Form1", CurrentProject.Path & "\Form1.txt"[/code]打完收工。
重新打開有樹控件的窗體,你會發(fā)現(xiàn)惹人厭的樹控件不能正常使用的問題沒有了!換臺電腦,也不再出了!
鄭重聲明:
該方法本公子親測有效,也用來救了幾次火。但由于測試樣本有限,加上本公子也還沒有完全弄懂原理,所以不保證百分之百有效!因此這里只當(dāng)作一個偏方分享出來給大家,僅供參考。
admin在 2017/03/23 9:18:39 回復(fù)-------------------
贊
yfy629在 2017/03/23 9:30:57 回復(fù)-------------------
如煙神武!!!
roych在 2017/03/23 9:41:00 回復(fù)-------------------
紅塵威武霸氣外露啊!
真主在 2017/03/27 10:49:18 回復(fù)-------------------
謝謝,謝謝!正在愁
tmtony在 2017/03/28 15:01:58 回復(fù)-------------------
saveastext 里面藏著 access 很多秘密!
accben在 2017/03/30 10:10:32 回復(fù)-------------------
經(jīng)常遇到,試試效果看看。
謝謝紅塵大師。
YXH_YXH在 2017/07/25 16:02:11 回復(fù)-------------------
好多謝分享?。。。。。。。。?br />
(微軟Activex控件-相關(guān)文章技巧鏈接):
三小時掌握TREEVIEW控件
[經(jīng)驗技巧]Access中使用微軟Treeview樹形控件的煩惱
Access的Treeview在 MS10-036 更新后無法使用的問題
Access Treeview 樹控件MSCOMCTL.OCX 在更新 KB 2687323后無法正
windows 7或其它windows 64位系統(tǒng)里Treeview注冊的問題(mscomctl
Access中treeview不能使用或提示沒有版權(quán)(License)的解決辦法
Access中使用TreeView 樹形控件 詳細講解(Excel Word Office都可
Access2010使用Treeview出現(xiàn)問題的解決辦法(適合32位及64位)
- office課程播放地址及課程明細
- Excel Word PPT Access VBA等Office技巧學(xué)習(xí)平臺
- 將( .accdb) 文件格式數(shù)據(jù)庫轉(zhuǎn)換為早期版本(.mdb)的文件格式
- 將早期的數(shù)據(jù)庫文件格式(.mdb)轉(zhuǎn)換為 (.accdb) 文件格式
- KB5002984:配置 Jet Red Database Engine 數(shù)據(jù)庫引擎和訪問連接引擎以阻止對遠程數(shù)據(jù)庫的訪問(remote table)
- Access 365 /Access 2019 數(shù)據(jù)庫中哪些函數(shù)功能和屬性被沙箱模式阻止(如未啟動宏時)
- Access Runtime(運行時)最全的下載(2007 2010 2013 2016 2019 Access 365)
- Activex控件或Dll 在某些電腦無法正常注冊的解決辦法(regsvr32注冊時卡?。?/a>
- office使用部分控件時提示“您沒有使用該ActiveX控件許可的問題”的解決方法
- RTF文件(富文本格式)的一些解析
- Access樹控件(treeview) 64位Office下出現(xiàn)橫向滾動條不會自動定位的解決辦法
- Access中國樹控件 在win10電腦 節(jié)點行間距太小的解決辦法
- EXCEL 2019 64位版(Office 2019 64位)早就支持64位Treeview 樹控件 ListView列表等64位MSCOMMCTL.OCX控件下載
- VBA或VB6調(diào)用WebService(直接Post方式)并解析返回的XML
- 早期PB程序連接Sqlserver出現(xiàn)錯誤
- MMC 不能打開文件C:/Program Files/Microsoft SQL Server/80/Tools/Binn/SQL Server Enterprise Manager.MSC 可能是由于文件不存在,不是一個MMC控制臺,或者用后來的MMC版
- sql server連接不了的解決辦法
- localhost與127.0.0.1區(qū)別
- Roych的淺談數(shù)據(jù)庫開發(fā)系列(Sql Server)
- sqlserver 自動備份對備份目錄沒有存取權(quán)限的解決辦法
- 安裝Sql server 2005 express 和SQLServer2005 Express版企業(yè)管理器 SQLServer2005_SSMSEE
聯(lián)系人: | 王先生 |
---|---|
Email: | 18449932@qq.com |
QQ: | 18449932 |
微博: | officecn01 |