Avatar billede scheegell Novice
11. november 2011 - 12:07 Der er 9 kommentarer og
1 løsning

Relationer

Hej.
Jeg har et problem med relationer mellem to tabeller i Access 2007.
Den ene tabel(Delmål) indeholder unikke data - altså ligesom en postnummertabel.
Den anden tabel(Spørgsmål) indeholder nogle data, samt 3 felter, som uafhængig af hinanden skal hente data i tabel(Delmål).
Data i tabel(Delmål) kan altså indgå op til 3 gange i tabel(Spørgsmål).
Hvad vil I kalde det?? - mange til mange?
Hvordan får jeg oprettet de relationer, som kan klare dette.
Som det er nu, er det kun den første post i tabel(Delmål), som bliver vist i en rapport og ved gentagelse af felterne, gentages denne post, hvilket jo ikke var meningen, da data er forskellige.
Den tredie tabel fungerer fint.
Jeg har postet relationer, som det ser ud nu på nedenstående link,
men ville gerne at der var relationer til alle 3.
https://docs.google.com/open?id=0B47zeW9nIivBMzcwMTc4NTYtYjI3Yi00OGE0LWJkMzEtMmRmNjBlYTMyZDYw
Avatar billede claes57 Ekspert
11. november 2011 - 13:13 #1
jeg ville droppe felter 'delmål...' i spørgsmål, og i stedet skyde en tabel ind mellem spørgsmål og delmål.
Denne nye tabel er så relationer mellem de to - indeholder kun sp-id og delmål-id, og der kan derfor være x antal poster til et spørgsmål.
Så hænger det fornuftigt sammen.
Avatar billede scheegell Novice
14. november 2011 - 13:26 #2
Hej claes57.
Jeg har kigget på dit forslag og er ikke helt med på, hvordan jeg får bundet sp-id og delmål-id sammen i den nye tabel. Problemet er jo, at det samme delmål-id forekommer i flere sp-id og der er flere delmål-id under mange sp-id. Der kan være op til 3 delmål-id til en enkelt sp-id og flere sp-id skal "dele" flere delmål-id.
Jeg skal lige have tænkt mig om og have defineret, hvad der skal stå i tabellen og hvordan det skal stå, inden jeg kan komme videre, men indtil nu nok en mulig løsning.
Avatar billede claes57 Ekspert
14. november 2011 - 20:12 #3
hvis du laver 'min' opbygning, så lav derefter en forespørgelse i access med et spg-id, og knyttet til delmål.
Hvis du så forespørger på denne med et spg-id, så vil du få op til 3 svarposter - helt som et alm tabel-opslag.
Avatar billede Sanne-99 Nybegynder
15. november 2011 - 12:51 #4
Jeg er enig med Claes i at du skal fjerne Delmål ID 1,2,3.

Claes beskriver en mange-til-mange relation. Og for at kunne håndtere dem rent databasemæssigt laver man en hjælpetabel (intersection).

Så får du 'Spørgsmål' 1-til-mange 'hjælpetabel' og 'hjælpetabel' mange-til-1 'Delmål'.

Jeg kan ikke lige gennemskue hvad du vil med Svar tabellen i fht. Spørgsmålene, men deter så heller ikke det du spørger om ;o)
Avatar billede scheegell Novice
15. november 2011 - 13:24 #5
Hej Jeg arbejder fortsat med det.
Jeg har lige 5 regneark, som skal "skilles" ad og fordeles i tabellerne.
For overskuelighedens skyld - skylder jeg nok at fortælle, at der er 1 spørgsmål, som er knyttet til 4 svar (der er 4 svarmuligheder) og der er knyttet op til 3 delmål til hver spørgsmål, og det er dér problemet er.
Jeg kan sagtens få svarene knyttet til deres spørgsmål, idet svarene er forskellige til hver spørgsmål, men delmålene bruges til alle spørgsmål og kan derfor optræde flere gange.
Årsagen til min tøven er, at ved svarene skriver jeg SP-ID ind ud for hvert svar, men det kan jeg ikke gøre ved delmål, da de anvendes flere gange og nogle gange flere sammen med det samme spørgsmål.
Derfor kan jeg ikke gennemskue, hvad der skal stå i den "nye" tabel, hvor der kun skal være SP-ID og delmål-ID.
Avatar billede Sanne-99 Nybegynder
15. november 2011 - 13:56 #6
Din spørgsmåltabel har et Sp-ID og din Delmåltabel har et Delmål-ID.

Hjælpetabellen skal kun have 2 felter, Sp-ID og Delmål-ID, refererer til hver af de 2 tabeller.

Du har f.eks. sp-ID 1, 2 og 3 og delmål-ID A, B og C (ved godt de rigtigt er tal)

Så din hjælpetabel indeholder f.eks. posterne

1, A
1, C
2, B
2, C
3, A
3, B

Dvs. brugeren har valgt delmål C både til spørgsmål 1 og 2, delmål B til sp.2 og 3 osv.
Avatar billede scheegell Novice
16. november 2011 - 09:47 #7
Hej claes og sanne.

Nu tror jeg, at det fungerer, men hvem skal have point??
Avatar billede scheegell Novice
16. november 2011 - 09:48 #8
Forkert indlæg.

Skulle have været en kommentar
Avatar billede claes57 Ekspert
16. november 2011 - 11:12 #9
jeg behøver ikke...
Avatar billede scheegell Novice
11. december 2011 - 12:41 #10
Spørgsmålet har været åbent længe, da ingen vil have point. Spørgsmålet er lukket, da det er løst. Tak til jer, der deltog.
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