2009-01-21 109 views
2

我的問題是我的Access 2002應用程序中的樹視圖。TreeView自己填充並崩潰Access

當我打開表單時,它已經填充。這很奇怪,因爲添加節點的唯一代碼綁定到一個按鈕。

此外,只顯示部分數據,當我在製表符()之間切換時,樹視圖中的數據將複製/雙擊。當我然後擊中任何其他標籤訪問崩潰即時就像* zap *

是否有必要一直清理樹視圖?

任何其他的想法什麼問題可能是 - 解決方案也歡迎;)

乾杯, 拉蒙

+0

沒有本地Access樹視圖控件,也沒有幾個專業開發人員,我知道它使用它。這太糟糕了MS在這方面沒有做得更好,因爲它是一個非常熟悉和有用的界面。 – 2009-01-23 03:17:57

回答

0

感謝您的建議。

我仍然沒有找到爲什麼數據加載到TreeView,但我想出了一個解決方案。

首先,我在表單加載時開始清理TreeView。
這確實對穩定性有一些好處。現在可以點擊而不會崩潰訪問。

當數據加載到TreeView時,舊行爲再次出現。在選項卡之間切換會添加更多數據,並最終導致Access崩潰。

似乎TreeView(版本6.0)正在重建自己,沒有正確清理。
基於這個假設,我現在在切換到包含選項卡時清除並重建TreeView。

我仍然對根本原因感興趣,但現在工作。再次

感謝, 拉蒙

0

首先,找出原因TreeView所加載的時候,你還沒有告訴它呢。 逐步通過您的代碼。你必須先解決這個問題。

其次,如果您不加載TreeView但切換製表符,表單會崩潰嗎?

1

我也碰到過這個問題,並追查到TreeView控件不喜歡被一個標籤頁上。你將不得不重新設計你的表單,以保持選項卡外的樹形視圖。

如果有似乎是一個標籤頁,那麼你可以嘗試.......

放置標籤控件後面的樹視圖。 將選項卡控件的背景設置爲透明。 在選項卡控件的「更改」事件中,可以檢查選中哪個選項卡。 如果它是你想要的選項卡,然後設置樹視圖visbale,如果沒有,然後隱藏它

1

我使用VCL(德爾福/ BCB)包裝作爲選項卡上的樹視圖控制(TPageControl上的TTreeView)。

我的程序掛起後,我調用TreeView1.Items.Clear。 但只限於'某些'情況!特別是如果我展開一個項目,然後嘗試清除()所有項目。如果我從不碰任何節點(或只是滾動),那就沒問題。

我發現在調用Items.Clear之前將選定節點設置爲NULL。

有趣的是,調用清除()引起了一些的OnChange事件的發生出於某種原因,這是不預期(因爲我們反正刪除所有節點!)...

0

我無法相信這個問題仍然存在並且微軟沒有發佈修復程序!我遇到了與運行Office 2010的Windows 8.1相同的問題

在任何情況下,我到達的最簡單的解決方法(可能會節省資源)是在窗體的「On Current Event」中構建當前活動選項卡的TreeView 」。

Private Sub Form_Current() 
    Select Case Me.tabCompany.Value 'Return Page Index of active page 
     Case 0 ' Page Index for Page 1. 
      Call TVPage1 
     Case 1 ' Page Index for Page 2. 
      Call TVPage2 
    End Select 
End Sub 

另一件事要記住的是運行相同程序來更新樹視圖,同時從一個頁面切換到另一個在「論更改事件」選項卡:

Private Sub tabCompany_Change() 
    Select Case Me.tabCompany.Value 'Return Page Index of active page 
     Case 0 ' Page Index for Page 1. 
      Call TVPage1 
     Case 1 ' Page Index for Page 2. 
      Call TVPage2 
    End Select 
End Sub 

乾杯!