• 締切済み

Access2000によるツリー的なデータベース

現在、IDと親IDのようなフィールドを設けて親子関係を作っています。 親データをクリックすると子データが表示される、と言う感じです。 データベースは以下のような感じになっています。 id|p_id|name 1| 0|aaa 2| 1|bbb 3| 1|ccc 4| 2|eee 以上のデータベースを使って、コンボボックスにツリー上で表示させたいのですが、何か良い方法はありますでしょうか aaa +bbb ++eee +ccc 見たいな感じです。

  • o_teu
  • お礼率77% (37/48)

みんなの回答

  • ganbaro
  • ベストアンサー率45% (43/94)
回答No.1

いろいろできて少し複雑ですが、TREEVIEWコントロールを使えばいいと思います。 参考のURLを載せて起きます

参考URL:
http://www.tsware.jp/study/indexv10.htm
o_teu
質問者

お礼

ganbaroさん、回答有難うございます。 エクスプローラー的な表示ではなくデータの並びをツリー順(階層も判断できる)にして表示させたいので、TREEVIEWコントロールは使用しませんでした。 再帰的なプログラムを作成することで、問題は解決しそうです。

関連するQ&A

  • CSVデータをツリー表示させたい

    業務で、WEBサイトにCSVデータを表示させたいと考えています。 CSVデータは、毎日更新されるもので、行数も日々変更されます。 項目の中に「レベル」という項目があり、この「レベル」の値を使って、 ツリー表示出来ないかと考えています。 希望としては、決められたフォルダに決められたファイル名で、 CSVデータを置けば、自動的にWEB上にツリー表示されるという ことです。 J-query等で、これを実現出来るプラグインが無いか探しているのですが、 なかなか希望に合うものが見つからず、困っています。 (CSVをWEB表示するものは見つかるのですが、ツリー表示出来る ものが見つかりません) 何か、良い方法があれば、ご教示頂けませんでしょうか? 例 コード  レベル 品名  規格 ・・・・    コード     レベル 品名  規格 ・・・・  1234    1   AAA   aaa       -1234       1    AAA   aaa 2345    2   BBB   bbb        ∟2345     2    BBB  bbb 3456    3   CCC   ccc          ∟3456   3    CCC  ccc 4567    3   DDD   ddd          ∟4567   3    DDD  ddd 5678    3   EEE   eee           ∟5678   3    EEE  eee 6789    4   FFF   fff             ∟6789  4    FFF   fff 7890    3   GGG  ggg           ∟7890   3    GGG  ggg

  • CSVに外部テキストファイルを列として追加する方法

    こんにちは。 CSVファイル(base.csv)の先頭列に、別のテキストファイル(add.txt)の中身を新規の列として挿入したいと考えているのですが、よい方法がわかりません。。。 どうのような方法を使えば対応することができるでしょうか? どうぞよろしくお願いいたします。 ■CSVファイル(master.csv) title,developer_name,seller_name,primary_genre_name,application_url AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE ■テキストファイル(add.txt) id 000 111 222 333 ↓ ■目標としたファイル(master.csv) id,title,developer_name,seller_name,primary_genre_name,application_url 000,AAA,BBB,CCC,DDD,EEE 111,AAA,BBB,CCC,DDD,EEE 222,AAA,BBB,CCC,DDD,EEE 333,AAA,BBB,CCC,DDD,EEE

  • SQL文の書き方

    SQL文の書き方を教えて下さい。 以下の2つのクエリー(1のクエリー&2のクエリー)を1つのクエリーで1度に抽出をかけたいのですがSQL文の書き方がわかりません。 データの発生条件としては TableBのField1は必ずTableAのField1に存在するという条件です。 TableAのField1が「AAA」から「EEE」まである場合は、TableBのField1も必ず「AAA」から「EEE」の範囲内で発生します。 よろしくお願い致します。 1のクエリー ---------------------------------------------------------------- TableA Field1 ---------------------------------------------------------------- AAA AAA AAA BBB BBB CCC DDD DDD EEE EEE EEE ---------------------------------------------------------------- Field1をサマライズしてカウントと名称を取得するクエリー Select Count(TableA.Field1) as RecCount, TableA.Field1 From TableA 結果 RecCount  Field1 3      AAA 2      BBB 1      CCC 2      DDD 3      EEE ---------------------------------------------------------------- 2のクエリー ---------------------------------------------------------------- TableB Field1 ---------------------------------------------------------------- BBB CCC CCC EEE ---------------------------------------------------------------- Field1をサマライズしてカウントと名称を取得するクエリー Select Count(TableB.Field1) as RecCount, TableB.Field1 From TableB 結果 RecCount  Field1 1      BBB 2      CCC 1      EEE ---------------------------------------------------------------- 希望する結果 TableAのRecCount TableBのRecCount TableAのField1 3                   AAA 2         1         BBB 1         2         CCC 2                   DDD 3         1         EEE

  • SQL文を教えてください。

    すみません、SQLを教えてください。 ID, 名前の2つのフィールドを持つテーブルがあります。 中身は以下のように入っています。 1, AAA 2. AAA 2, BBB 3, CCC 3, AAA 4, DDD 5, EEE, 5, DDD これを、名前のダブリをスキップしながら、 IDの大きな順番に名前を取り出したいのです。 結果は、以下のようになればいいです。 DDD EEE AAA CCC BBB どのようなSQLを組んだら実現できますか? よろしくお願いいたします。

  • データの加工方法(SQL)について

    「TABLE1」から「TABLE2」というテーブルを作成したいと考えております。 TABLE1ではNAMEという項目がキーとなってデータが入っていました。 それをIDという項目をキーとした形にデータ加工したいと考えています。 各IDにおけるNAMEの数はMAXでも5個までとなります。 何か良い方法は有りますでしょうか? SQLのSELECT文で行う事を考えていますが、方法がわかりませんでした。 (EXCELなどで他に容易な方法があれば他の方法でもかまいません) よろしくお願いいたします。 ■TABLE1 ------------- ID NAME ------------- 1000 AAA 1000 BBB 1000 CCC 1000 DDD 1001 EEE 1001 FFF ------------- ■TABLE2 ---------------------------------------------- ID NAME1 NAME2 NAME3 NAME4 NAME5 ---------------------------------------------- 1000 AAA BBB CCC DDD 1001 EEE FFF ----------------------------------------------

  • 集計方法について教えて下さい。PHP+MYSQL

    こんばんは。よろしくお願い致します。 データベースに下記のようなデータが入っています。 no point name --------------------- 123 100 aaa 123 50 aaa 124 100 bbb 130 30 ccc 131 80 ddd 131 100 ddd 131 20 ddd 133 10 eee このデータを元に、下記のような結果を得たいのです。 noが同じデータのpointを集計し、まとめたレコードの件数をcount項目として欲しいです。 no point name count ------------------------------ 123 150 aaa 2 124 100 bbb 1 130 30 ccc 1 131 200 ddd 3 133 10 eee 1 SQLだけで実現できるのでしょうか?? 具体的にどのような方法で実現できるか、教えて頂けると有難いです。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • 抜けている番号を抽出したい(Access2003)

    主キーのフィールドには AAA000001 AAA000002 AAA000004 BBB000001 BBB000003 BBB000004 CCC000001 CCC000005 ・ ・ ・ というレコードが多数あるのですが これだけなら AAA000003 BBB000002 CCC000002 CCC000003 CCC000004 がないというのがぱっと見でわかるのですが データが数千レコードあります。 クエリなどで抽出する方法ありますでしょうか? よろしくお願いします。

  • 名簿データベースの重複チェック

    2つの名簿データベースがあります。(約3千件) 元はAデータベースで、これに随時、追加・修正を 加えたBデータベースがあります。 このAとBそれぞれに、重複した名簿データが含まれている 可能性があります。 これを重複がないかチェックし、あった場合は BデータベースのB列に "重複" 表示させる方法を 教えてください。 希望結果表示イメージは次ぎのとおりです。 Aデータベース   Bデータベース A列 B列・・・  A列 B列・・・ Z列 aaa         aaa bbb         bbb       重複 bbc         bbd ccc         ccc ddd         bbc eee         eee fff         bbb       重複 希望1:Z列に関数を埋め込み表示 希望2:VBでループ処理 希望3:何でもいいです

  • アクセス初心者です。

    アクセスのフォームを作成しています。入力パターンが限られているので、コンボボックスで作成しました。コンボボックスのプロパティーでデータ⇒値集合タイプ”AAA”;”BBB”;”ccc”といれて、入力チェックをはい。リスト行数を3にして、作ったのですが、フォーム画面にしたときに、 AAA BBB CCC となっていないのです。”AAA”;”BBB”;”ccc”のまま選択リストにでてきます。なにがいけないのでしょうか??

  • CSVファイルをAccessに取りこみたい

    以下のような2つのCSVファイルがあるとします。 【hoge1.csv】 aaa,bbb,ccc,ddd 1,2,3,4 【hoge2.csv】 aaa,bbb,ddd,eee,fff 1,2,4,5,6 Accessをあまり使用したことがないので教えていただきたいのですが、 hoge1.csv、hoge2.csvを、以下のような形で Accessの1つのテーブルにインポートする事はできるのでしょうか? ---------------------------- | aaa | bbb | ccc | ddd | eee | fff | | 1 | 2 | 3 | 4 |  |  | | 1 | 2 |  | 4 | 5 | 6 | ---------------------------- ※「aaa」「bbb」…をフィールド名としたいです vb等でプログラムを自作するしかないのでしょうか? 何か良い方法がありましたら教えてください。お願いします。

専門家に質問してみよう