データベース内の階層データを表すためのいくつかの優れたオプションがあるようですが、最も一般的なのは、ツリートラバーサルアルゴリズムのようです。
私の場合におそらく機能するもう1つのオプションは、再帰的に実行することです。これには、親IDを保存してそこから移動することが含まれる可能性がありますが、これにも何らかの方向性が必要です。
現在、接続のチャートで特徴付けることができるアイテムのセットがあるという問題がありますが、ルートがなく、必ずしも開始点ではありません。たとえば、アイテムがループして、順序が要素ごとの要素のみであり、完全ではない場合があります。順序が「親」であるか「子」であるかは、いわば、どちらの方向から開始するかによって異なります。
さらに、各接続はいくつかのプロパティによって特徴付けられる必要があるため、接続は何らかの方法で識別可能である必要があります。
もう1つは、Accessに制限されていることです。つまり、SQLの再帰性や関数を使用せずに、標準のSQLコマンドにかなり制限されています。
たとえば、オンザフライで左/右トラバーサルツリーに変換するSQLの多くのアルゴリズムは、AccessSQLでは機能しません。
私は、VBAにもあまり依存せずにこれを解決することに大きな関心を持っています。
パフォーマンスに関しては、要素のプロパティとその接続に関するクエリには数十の要素が含まれる可能性がありますが、5000アイテム未満になると予想しています。データベースは、最初は10人未満のユーザーが同時に使用しますが、これらがうまく機能すれば、ここでは急速に拡張される傾向があります。
では、この構成をどのように実装しますか?