Avatar billede morientes Nybegynder
23. april 2005 - 12:23 Der er 9 kommentarer og
1 løsning

Rekursiv værditilskrivning?

Jeg har en tabel, som indeholder felterne 'ID' og 'Feature', hvor 'ID' er primærnøgle.

Lad os sige, at tabellen har rækkerne:
1 Feature1
2 Feature2
3 Feature3

Det, jeg gerne vil have vist, er, at 1 har Feature1, 2 har Feature1 og Feature2, og 3 har Feature1, Feature2 og Feature3.

Kan det lade sig gøre, og hvordan konstrueres det?
Avatar billede jesperfjoelner Nybegynder
23. april 2005 - 13:24 #1
hvor vil du have det vist henne?
hvor mange poster har/får du ca?
Avatar billede morientes Nybegynder
23. april 2005 - 13:39 #2
Jeg vil bare have det vist i en formular, hvor alle Features vises samtidig. Jeg skal bruge det i en større sammenhæng, så hvis det bare vises i en underformular, som jeg kan linke til en hovedformular (via ID), så er det fint.

Jeg får vel brug for at få vist omkring 10 Features samtidig, men løsningen må meget gerne understøtte flere.
Avatar billede jesperfjoelner Nybegynder
23. april 2005 - 13:53 #3
Ok, jeg ved ikke helt hvordan du vil sætte det op, men hvis man nu blot skulle genere noget tekst til en tekstbox, hvor hver feature har en linje kunne man bruge noget i stil med (ikke testet):

Dim sTekst as string, sFeature as string
Dim db as DAO.database
Dim rs as DAO.recordset
set db = currentdb
set rs = db.openrecordset("SELECT * FROM tabelnavn ORDER BY id")

Do while not rs.eof
  sFeature = sFeature & rs!feature & ", "
  sTekst = sTekst & rs!ID & ": " & sFeature & vbcrlf
  rs.movenext
loop

Me!navnpåtekstfelt = sTekst
set rs=nothing

-------
Er din databae korrekt normalisteret? Det virker som en lidt underlig opstilling.
Avatar billede morientes Nybegynder
23. april 2005 - 14:33 #4
Nej, opstillingen har jeg ikke taget endelig stilling til. Det, jeg har skrevet, er bare for at illustrere princippet. Jeg er slet ikke begyndt at lave databasen endnu, men idéen med at en post skal tilskrives værdier rekursivt (jeg ved ikke, om det er den korrekte formulering) er central for databasen.

Det er meningen, at det skal blive til en termbase, hvor et overbegreb har et karakteriserende træk, som nedarves til et underbegreb, som igen har et andet mere specifikt træk, som igen nedarves etc. Alle disse træk på et begreb vil så udgøre dets definition.

Hvordan det laves på den smarteste måde, ved jeg ikke, men det er det, jeg gerne vil finde ud af.

Jeg er ikke helt sikker på, hvad din foreslåede kode gør, men måske du bedre forstår problemstillingen efter de mere specifikke oplysninger her.
Avatar billede jesperfjoelner Nybegynder
23. april 2005 - 15:09 #5
Spændende opstilling. Jeg vender lige tilbage med et forslag til opbygningen.
Avatar billede jesperfjoelner Nybegynder
23. april 2005 - 15:22 #6
Jeg tror du kan nøjes med en enkelt tabel for at sætte alt det her op. Men der bliver lidt mere arbejde med at få det til at fungere ved indtastninger og søgninger. Er du godt hjemme i access?

Jeg vil foreslå en tabel som:
TermID (autonummer)
Term (tekst)
SortOrder (tal)
Gruppe (tal)

Så tabellen ville komme til at ligne:
1    plante    1  1
2    blomst    2  1
3    hyacint  3  1
5    Sten      1  2
6    ædelsten  2  2
7    diamant  3  2
8    møbel    1  3
9    stol      2  4
10  wegener  3  5

Hvis du så skal have definitionen på "plante" skal du udtrække alle termer i gruppe 1 hvor sortorder er >1 sorteret efter sortorder osv.

Hvis du så skal have definitionen på "ædelsten" skal du udtrække alle termer i gruppe 2 hvor sortorder er >2 sorteret efter sortorder osv.

Med denne måde kan du også have et ubegrænset antal "undertermer" pr. term.

Måske skal du et felt mere med noget mere beskrivende tekst og der kan også være noget jeg har overset, men jeg tror princippet vil holde.
Avatar billede jesperfjoelner Nybegynder
23. april 2005 - 15:27 #7
hov der var en fejl i møblerne. De skal selvfølgelig alle i gruppe 3.
Avatar billede morientes Nybegynder
23. april 2005 - 15:41 #8
Jeg er nogenlunde hjemme i Access...men alt er vel relativt :-)

Tak for forslaget. Jeg ved ikke, om jeg vil bruge det, men du får i hvert fald point.
Avatar billede jesperfjoelner Nybegynder
23. april 2005 - 15:43 #9
Jo tak. Men sig til hvis jeg kan bidrage yderligere. Jeg tænkte blot at det var vigtigt med en struktur som tillader et vilkårligt antal termer at blive tilføjet.
I formularerne kan du lave en listbox hvor termerne kan rykkes op og ned i forhold til hinanden. Der skal nok også være et felt til "definition" i tabellen.
Avatar billede morientes Nybegynder
23. april 2005 - 15:49 #10
Det er muligt, jeg vender tilbage på et senere tidspunkt. Nu vil jeg først lige teste lidt.
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