Avatar billede sysop Juniormester
24. juli 2007 - 10:11 Der er 9 kommentarer og
1 løsning

Relations problem

Jeg har lavet 2 tabeller. 1 med medarbejdere og 1 med telefonnumre. Jeg vil i medarbejder tabelen lave et felt med tlf og fax nr. Nr jeg vælger tlf nr skal den selv skrive fax nummeret (hente data fra tabel2).

Hvordan gør jeg det?

Det skulle være så simpelt men jeg kan simpelthen ikke finde logiken i det :-(
Avatar billede terry Ekspert
24. juli 2007 - 10:59 #1
If a "medarbejdere" only has one phone and one fax then why have this information in another table?

If the same telephone/fax is in the same record in tabel2 then you dont need to copy the fax into tabel1, you make a query where both tbales are included joining on the telephone number then select teh fax number from tabel2



Can we see the table layout?
Avatar billede sysop Juniormester
24. juli 2007 - 11:06 #2
det er kun et eksempel for at holde det lidt simpelt. Lad os tage et andet eksempel.
Tabel 1: navn:adresse:
tabel 2: navn adresse:tlf:fax.

Hvis jeg i tabel 1 vælger et navn skal den automatisk hente adressen fra tabel 2.?!
Avatar billede michael_stim Ekspert
24. juli 2007 - 11:11 #3
SELECT a.navn, b.adresse FROM tabel a, tabel b WHERE a.id=b.fid

Så har du id i a-tabellen som primary key og fid i b-tabellen som foreign key.
Avatar billede michael_stim Ekspert
24. juli 2007 - 11:13 #4
PS. Primary key skal selvfölgelig väre unikt (counter, cpr-nr osv).
Avatar billede sysop Juniormester
24. juli 2007 - 11:17 #5
fid?
Foregin key?

Kommer nok til, at have det lidt mere skåret ud!
Avatar billede sysop Juniormester
24. juli 2007 - 11:23 #6
Hvad skriver jeg i tabel 2/adresse for, at den automatisk vælger adressen udfra det navn der er valgt i tabel2/navn?
Avatar billede michael_stim Ekspert
24. juli 2007 - 11:27 #7
MEDARBEJDER:
id <-- Primary key (unik)
fornavn
efternavn
adresse
osv

MEDARBEJDERTLF:
id <-- Primary key
mid <-- Foreign key (den samme värdi som id i MEDARBEJDER tabellen)
tlf
osv

Så har den en så kaldt en til mange relation.

Hver gang du opretter en ny medarbejder får han/hun et unikt nummer. Det nummer bliver så foreign key i MEDARBEJDERTLF tabellen.

MEDARBEJDER
id=1
fornavn=peter
efternavn=hansen
osv

MEDARBEJDERTLF
id=1
mid=1
tlf=1234678

id=2
mid=1
tlf=87654321

SELECT a.fornavn, b.tlf FROM medarbejder a, medarbejdertlf b WHERE a.id=b.mid

Resultat:
Peter - 12345678
Peter - 87654321
Avatar billede sysop Juniormester
24. juli 2007 - 20:59 #8
Jeg må være en kæmpe idiot men kan bare ikke se ideen.

Jeg kan godt se, at jeg får et lille + og den relatere men den indsætter jo ikke de data som er i relationen.

Hvis vi i begge tabeller har tlf og fax. Hvis vi i medarbejder vælger et telefon nummer skulle den jo gerne "tage" fax nummeret og indsætte udfra de data der er i medarbejdertlf.

Ved godt det ikke har nogen ide, men bare får jeg får opfattelsen af hvad f.... jeg skal gøre.
Avatar billede sysop Juniormester
26. juli 2007 - 07:42 #9
Det viste sig, at relationen kun var en del af mit problem. Jeg skulle også bruge en makro. Relationen var som den skulle være.
Avatar billede sysop Juniormester
14. december 2008 - 11:19 #10
lukker
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