Säg att det finns en huvudkategori, Bil, som har en underkategori, GM, som i sin tur har en underkategori, Saab och så vidare.
Nu behöver jag en fråga som kan ta ut varje Item för en viss kategori och alla dess underkategorier.
Du kan inte få en fråga som hanterar godtyckligt djup (i varje fall inte i Access, rent SQL-mässigt så finns det stödet definierat).
Antaingen får man ställa flera frågor eller så får man bestämma ett max-djup
select ... from cat as f join cat as c ... join cat as gc ...
where ...
union
select ... from cat as f join cat as c ...
where ...
union
select ... from cat
where ...
Den där Celko känner jag igen... jag har gjort ett produktinformationssystem där jag hade just din problematik med undergrupper som kan vara "hur många som helst". Jag använder mig av denna "logik" som är snabb och otroligt snillrik.
Principen är enkel men lite kryptisk om man bara tittar på select-satsen. Titta i tabellen så kan vi säga att lft1 - rgt52 motsvarar din "bil" och lft2-rgt13 motsvarar din "GM" och då skulle lft3-rgt8 vara "SAAB" och lft10-rgt11 skulle kunna vara "OPEL". Om lft2-rgt13 är GM så skulle lft14-rgt42 kunna vara "Ford" och lft15-rgt16 vara "Volvo".
Titta på siffrorna så ser du att respektive grupps tal (left-right) är emellan den övergripande gruppens tal. Se gärna mer (kanske bättre förklaring) på sida Trees in SQL