Witam wszystkich.
W bazie danych Access mam trzy tabele
1. Procesy
Kod
ID | Proces
--------------
1  | proc1
2  | proc2
3  | proc1.1
4  | proc3
5  | proc2.1
6  | proc1.2
7  | proc1.1.1


2. Temp
Kod
ID | ProcID | FatherID
---------------------------
1   | 3        | 1
2   | 6        | 1
3   | 5        | 2
4   | 7        | 3


3.Docs
Kod
ID | DocName
----------------
1   | Doc1        
2   | Doc2      
3   | Doc3  
4   | Doc4
5   | Doc5
6   | Doc6
7   | Doc7
8   | Doc8
9   | Doc9


Miedzy tabelami procesy i temp zachodzi zwiazek: proces, ktorego ID jest w ProcID nalezy do procesow, ktore ID sa w w FatherID.
Miedzy tabelami temp i docs: docs.ID = temp.ID
stad mozemy zbudowac drzewo:
Kod
proc1
      proc1.1
             proc1.1.1
      proc1.2
proc2
     proc2.1
proc3

Ale np proc1.1.1 moze znajdowac sie w calkiem innym miejscu w drzewie albo wystapic w nim kilka razy w innych miejscach, wiec w kazdym przypadku ma inna sciezke .

Moje pytanie:
Jak skonstruowac polecenie SELECT np jezeli chcemy sie dowiedziec czy procesowi proc1.1.1 jest przypisany jakis dokument z uwzglednieniem ze ten proces ma unikatowa sciezke.

Samo polecenie SELECT dla proc1.1.1 wyglada tak:
  1. SELECT Procesy.Proces, Docs.DocName
  2. FROM (Procesy INNER JOIN Temp ON Procesy.ID = Temp.ProcID) INNER JOIN Docs ON Temp.ID = Docs.ID
  3. WHERE (((Proces.Procesy)="proc1.1.1"));

ale jak uwzglednic, ze sciezka ojcow (fatherID) to w tym przypadku : dla ProcID = 7 FatherID = 3 -> dla ProcID = 3 FatherID = 1 ?
Dodam ze pracuje w Excelu, korzystam z metody ADO i dla wybranego procesu potrafie uzyskac sciezke ProcID -> FatherID (czyli liczba przejsc w gore bedzie znana)

Chyba stworzylem temat w zlym dziale, prosze moderatora o przerzucenie do dzialu baz danych , pozdrawiam