2

問題は、Access 2002 アプリケーションのツリー ビューです。

フォームを開くと、すでに入力されています。ノードを追加する唯一のコードがボタンにバインドされているため、これは奇妙です。

また、データの一部のみが表示され、タブ () を切り替えると、ツリー ビュー内のデータが重複/倍増します。次に、他のタブを押すと、 * zap * のようにアクセスが即座にクラッシュします

ツリービューをずっときれいにする必要があるのでしょうか?

問題が何であるか他のアイデア-解決策も歓迎します;)

乾杯、ラモン

4

6 に答える 6

1

私はこの問題に遭遇し、ツリービュー コントロールがタブ ページにいるのが好きではないことにまでたどり着きました。ツリービューをタブの外に保持するには、フォームを再設計する必要があります。

タブページに表示する必要がある場合は、試すことができます.......

ツリービューをタブ コントロールの背後に配置します。タブ コントロールの背景を透明に設定します。タブ コントロールの「変更時」イベントで、どのタブが選択されているかを確認します。それが必要なタブである場合は、ツリービューをvisbaleに設定し、そうでない場合は非表示にします

于 2009-09-30T10:08:31.407 に答える
1

タブのツリー ビュー コントロールとして VCL (Delphi/BCB) ラッパーを使用します (TPageControl の TTreeView)。

TreeView1.Items.Clear を呼び出すと、プログラムがハングします。ただし、「特定の」場合のみ!特にアイテムを展開してから、すべてのアイテムを Clear() しようとすると。どのノードにも触れない (またはスクロールするだけ) 場合は問題ありません。

Items.Clear を呼び出す直前に、選択したノードを NULL に設定すると解決したことがわかりました。

興味深いことに、Clear() を呼び出すと、何らかの理由でいくつかの OnChange イベントが発生しましたが、これは予想外でした (とにかくすべてのノードを削除していたためです!)...

于 2010-06-22T15:52:17.407 に答える
0

まず、まだ指示していないのにTreeViewが読み込まれる理由を調べます。コードをステップスルーします。最初にこれを解決する必要があります。

次に、TreeViewをロードせずにタブを切り替えると、フォームがクラッシュしますか?

于 2009-01-21T23:53:17.353 に答える
0

この問題がまだ解決されておらず、Microsoft から修正プログラムが公開されていないなんて信じられません。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

留意すべきもう 1 つのことは、タブの [On Change Event] であるページから別のページに切り替えるときに、同じルーチンを実行して TreeView を更新することです。

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

乾杯!

于 2014-01-21T00:59:01.163 に答える
0

あなたの提案に感謝します。

データが TreeView に読み込まれる理由はまだわかりませんでしたが、解決策を思いつきました。

最初に、フォームが読み込まれたときに TreeView のクリーンアップを開始しました。
それは本当に安定性にいくらか良いことをしました. Access をクラッシュさせずにクリックできるようになりました。

データが TreeView に読み込まれると、古い動作が再び表示されます。タブを切り替えるとデータが追加され、最終的に Access がクラッシュします。

TreeView (バージョン 6.0) が適切にクリーンアップせずに再構築しているようです。
この仮定に基づいて、含まれているタブに切り替えるときに TreeView をクリアして再構築します。

私はまだ根本的な原因に興味がありますが、現在は機能しています。

ありがとう、ラモン

于 2009-01-22T11:12:16.327 に答える