Avatar billede soeren_soelv Novice
22. april 2012 - 20:44 Der er 1 kommentar

Positionering af data

Hej Eksperten

Jeg er ved at placere nogle data udfra et databasetræk. Udfordringen går på at få placeret data rigtigt.

De data jeg skal trække ud, er en stykliste for et produkt. Måden hvorpå jeg trækker data, er at jeg trækker de numre ude som indgår i topnummeret (niveau 1) først. Derefter tjekker jeg hvilke numre der indgår i niveau 1 numrene. Det vil sige at jeg lister alle numre der indgår på niveau 2, så numrene på niveau 3... osv osv. Det vil sige, at jeg mister den sammenhæng der er mellem de enkelte niveauer/varenumre. 

Det vil sige, at data kommer til at se ud som nedenstående:

900000 (niveau 0/topnummeret)
556768 (niveau 1)
346768 (niveau 1)
346768 (niveau 1)
556798 (niveau 1)
556728 (niveau 1)
626768 (niveau 2)
236768 (niveau 2)
676768 (niveau 2)
626798 (niveau 2)
626728 (niveau 2)
236768 (niveau 3)
236768 (niveau 3)
236767 (niveau 3)
236798 (niveau 3)
236728 (niveau 3)
236768 (niveau 4)
136768 (niveau 4)
146768 (niveau 4)

Sådan som jeg gerne vil have det til at se ud er:
900000 (niveau 0/topnummeret)
556768 (niveau 1)
  626768 (niveau 2)
  236768 (niveau 2)
  676768 (niveau 2)
      236768 (niveau 3)
      236767 (niveau 3)
          236768 (niveau 4)
346768 (niveau 1)
346768 (niveau 1)
556798 (niveau 1)
  626798 (niveau 2)
556728 (niveau 1)
  626728 (niveau 2)
    236768 (niveau 3)
    236798 (niveau 3)
    236728 (niveau 3)
      136768 (niveau 4)
      146768 (niveau 4)

Jeg har en ide om, at jeg skal indføre en form for index, som jeg efterfølgende kan benytte til at positionere data med.


Lige en anden måde at illustrere det på:

Det jeg får ud:

topnummer
undernummer til topnummeret
undernummer til topnummeret
undernummer til topnummeret
undernummer til topnummeret
undernummer til topnummeret
undernummer til undernummer 1
undernummer til undernummer 1
undernummer til undernummer 1
undernummer til undernummer 4
undernummer til undernummer 5
undernummer til underundernummer 3
undernummer til underundernummer 3
undernummer til underundernummer 4
undernummer til underundernummer 5
undernummer til underundernummer 5
undernummer til underunderundernummer 2
undernummer til underunderundernummer 5
undernummer til underunderundernummer 5

Det Jeg ønsker:

topnummer
undernummer til topnummeret
undernummer til undernummer 1
undernummer til undernummer 1
undernummer til undernummer 1
undernummer til underundernummer 3
undernummer til underundernummer 3
undernummer til underunderundernummer 2
undernummer til topnummeret
undernummer til topnummeret
undernummer til topnummeret
undernummer til undernummer 4
undernummer til underundernummer 4
undernummer til topnummeret
undernummer til undernummer 5
undernummer til underundernummer 5
undernummer til underundernummer 5
undernummer til underunderundernummer 5
undernummer til underunderundernummer 5


Håber min forklarring giver mening eller må I endelig spørge ind!

PFT
Avatar billede mireigi Novice
23. april 2012 - 01:16 #1
Du er desværre lidt begrænset af at arbejde i Access, så jeg tror ikke at der er nogen nem løsning. Nedenstående kan bruges, men kræver vedligehold fra din side.

Dine data:
ID    Product        ParentID    Level
1      000              0                  0
2      111              1                  1
3      222              1                  1.1
4      333              2                  1.2
5      444              3                  1.2.1
6      555              1                  2
7      666              6                  2.1


ParentID angiver hvilket produkt, produktet hører under.
Level angiver, hvor i hierarkiet et produktet befinder sig. Hvis ParentID eller rækkefølgen ændrer sig, skal denne opdateres.

Så vil din SQL se således ud:
SELECT    ID, Product
FROM    tblProduct
ORDER BY Level
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

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