Avatar billede shadowdance Nybegynder
11. juli 2006 - 18:30 Der er 2 kommentarer og
1 løsning

Relatere en tabel til sig selv

Hejsa,

Jeg har et problem, hvor jeg gerne vil relatere en tabel til sig selv. Forestil dig et træ med identiske nodes, f.eks. en menustruktur. De enkelte nodes skal pege tilbage til deres forældre. Med andre ord vil jeg gerne lave en parentid som peger på fader-nodens id.

Giver det i denne sammenhæng mening at relatere tabellen til sig selv? Kan Access håndtere det og automatisere det, når jeg laver formularer der skal pege tilbage osv.? Eller er det bedre hvis jeg håndterer problemerne selv hen ad vejen?
Avatar billede mugs Novice
11. juli 2006 - 18:47 #1
Har du prøvet at se på Access TreWiev control. Nih har skrevet en udmærket artikel om emnet.
Avatar billede ffsoft Praktikant
11. juli 2006 - 18:55 #2
Du kan godt have en tabel der ser sådan ud:

tblPerson
  PersonID
  FaderID
  ModerID
  Navn
  ...

ved forespørgsler

SELECT tblPerson.Navn
FROM tblPerson AS tblPerson_1 INNER JOIN tblPerson ON tblPerson_1.FaderID = tblPerson.PersonID;

bruges den samme tabel flere gange med nye navne. I ovenstående findes
fædre.

Her findes en person (personid = 1) og begge forældre:

SELECT tblPerson_1.Navn, tblPerson.Navn AS Fader, tblPerson_2.Navn AS Moder
FROM tblPerson AS tblPerson_2 INNER JOIN (tblPerson AS tblPerson_1 INNER JOIN tblPerson ON tblPerson_1.FaderID = tblPerson.PersonID) ON tblPerson_2.ModerID = tblPerson.PersonID
WHERE (((tblPerson.PersonID)=1));
Avatar billede terry Ekspert
11. juli 2006 - 20:20 #3
if you know how deep the roots are then you can use the above method which ffsoft uses. Otherwise mugs idea is perfect for this type of thing. It requires some programming to traverse down through the tree, but once it sin palce you can add further nodes without any programming.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester