Avatar billede vilhelm Nybegynder
19. september 2003 - 11:17 Der er 14 kommentarer og
1 løsning

En til mange relation

Jeg udtrækker en normalt opbygget kundetabel til Access. Endvidere en ekstra tabel hvor der på hvert kundenr. kan oprettes flere linier med diverse oplysninger. Kan disse oplysninger samles til en ny tabel med kun en linie pr. kundenr.?
Avatar billede henrik13 Nybegynder
19. september 2003 - 11:21 #1
Ja. Men så får du jo mange felter i hver post.
Avatar billede vilhelm Nybegynder
19. september 2003 - 11:22 #2
Det vil jeg også godt have - hvordan gør jeg det?
Avatar billede mugs Novice
19. september 2003 - 11:23 #3
Det kan sikkert lade sig gøre. Men jeg ville ike gøre det. Normalt har man jo data i hvert sit felt som f.eks:

- Addresse
- E-mail
- telefonnr

o.s.v. Jeg mener ikke at disse data skal være i samme felt. Men du kan samle dem i en forespørgsel ved at indsætte et udtryk:

[tlf]& " " &[Email]

På denne måde beholder du en mere logisk opbygning af db, og manipulerer med felterne, til de ser ud som du vil have det.
Avatar billede henrik13 Nybegynder
19. september 2003 - 11:24 #4
Du ser hvor mange felter der er i den extra tabel, og opretter dem i din hovedtabel.
Avatar billede henrik13 Nybegynder
19. september 2003 - 11:27 #5
Du bør også tage kopi af databasen, inden du laver den tabel-sammenlægning.
Avatar billede henrik13 Nybegynder
19. september 2003 - 11:36 #6
Ex:
1. tabel
Id
Navn
Adresse
Postnr

2. tabel
Id
Telefonnummer
MobilNr
Så skal der oprettes 3 felter mere, når du så har set de står korrekt, kan det ene id felt slettes
Hvis du bruger mugs foreslag så husk ved nye skal  de indskrives i 2 tabeller.  :o)
Avatar billede mugs Novice
19. september 2003 - 11:40 #7
henrik13 -> Sikke noget vrøvl at fyre af!!!
Se på spørgsmålets overskrift: Een til mange relation!!
Når der er relationer mellem tabellerne, er det sgu da ikke nødvendigt at skrive data mere end een gang, relationerne vil sørge for, at data kommer i den rigtige tabel.
Avatar billede henrik13 Nybegynder
19. september 2003 - 11:45 #8
mugs -> Sikke noget vrøvl at fyre af!!!
Når der kun ønskes en tabel, kan der da ikke være relationerne.
Og dermed er diskusionen slut for mit vedkommende.
Vh Henrik13
Avatar billede mugs Novice
19. september 2003 - 11:52 #9
henrik13 -> Hvis du bruger mugs foreslag så husk ved nye skal  de indskrives i 2 tabeller.

Det er simpelthen noget vrøvl. Mit forslag går på at beholde tabellerne som de er, og ved et udtryk i en forespørgsel at "sammenlægge" data, hvis der er behov derfor.

Jeg har ikke kommenteret dit forslag med een tabel, men da du har kommenteret mit, og givet en urigtig oplysning reagerer jeg. Du skriver, at diskusionen er forbi for dit vedkommende. Der er IKKE tale om en diskusion men påvisning af, at du giver forkerte informationer til brugeren!
Avatar billede vilhelm Nybegynder
19. september 2003 - 11:56 #10
Tror jeg er blevet misforstået. I den ekstra tabel er der FLERE linier for hver kunde eksempelvis linie 1, 2 og 3. I de enkelte linier er der eksempelvis et felt der hedder bemærkning med forskellinge kommentarer. Jeg vil så gerne have lavet en samlet tabel, der kun indeholder EEN linie pr. kunde. Håber det er forståeligt.
Avatar billede henrik13 Nybegynder
19. september 2003 - 12:00 #11
>>Mugs Sidst vi diskuterede fyldte det mere end spørgsmålet, og spørgen opgav, det gider jeg ikke igen.  ;o(
Avatar billede terry Ekspert
19. september 2003 - 12:15 #12
vilhelm>I think you should try thinking about what you are asking!
A One to Many relationship allows you to add records to the many side of the relationship. Each "Kunde" can have ZERO-ONE or MORE records in the many side. So moving the columns from EVERY record from the many side to the one side of the relationship will result in UN normalized data! Some "kunder" may need for example 10 columns, and other 20 or even more!
Avatar billede vilhelm Nybegynder
19. september 2003 - 12:17 #13
terry>I agree, but is it possible?
Avatar billede terry Ekspert
19. september 2003 - 12:24 #14
Almost anything is possible :o)

It would require (I think) VBA code which loops through each record in your "Kunde" table. Then for each of these records select the related records from the many table for that "kunde". Then for each field in the record ADD a new field to your "kunde" table then transfering the value from the many table to the one table. You obvioulsy need to keep a count of how many records a "kunde" has and if necessary add further fields to the "Kunde" table.

Thats the idea, I'll leave it up to you to code as it will take too long to get it to work!
Avatar billede terry Ekspert
19. september 2003 - 12:24 #15
.
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