Avatar billede sbl Nybegynder
12. december 2008 - 20:18 Der er 20 kommentarer og
1 løsning

Relationer mellem tabeller - nybegynder

Jeg er ny med Access og mangler lidt hjaelp til at komme i gang. Jeg har 2 tabeller og en quiry. Ud fra tabel 1 har jeg lavet en form, hvorfra jeg bl.a. vil hente data fra tabel 2 baseret paa vaerien af et bestemt felt paa formen. Jeg har lavet en quiry der i view format fint viser den rigtige vaerdi. Naar jeg fra Expression builder henter henvisningen til det oenskede felt fra quiry'en, viser feltet blot #Name?

Dette spoergsmaal er meget upraecist, men maaske er der nogen der kan sparke mig i den rigtige retning?
Avatar billede mugs Novice
12. december 2008 - 20:30 #1
Din overskrift hedder "Relationer mellem tabeller", det er det grundlæggende i en database som Access, som jo er en relationedatabase.

I db's relationsvindue kan du trække relationer lemmem tabellerne. Afhængig af hvordan tasbellernes PK (primære nøgler) er placeret, kan du have direkte eller indirekte relationer.

I din forespørgsel skal du have begge tabeller vist. Har du lavet relationer i relationsvinduet (Outer Jopins), vil disse slå igennem i query'en. Hast du ikke relationer i relationsvinduet, kan du lave dem i query'en. Det hedder så indirekte relationer. Glem alt om at lave formularer før din forespørgsdel fungerer.

Hvis du ikke vil lave relationer, kan du bruge funktionen DLookUp, som henter data fra en anden ikke relateret tabel. syntaksen er således:

Udtryk2: DLookUp("[Gade]";"Tabel2";"[ID]=" & [ID])

Som henter data fra feltet Gade i tabellen Tabel2, hvor ID i Tabel2 er = ID i tabel1
Avatar billede mugs Novice
12. december 2008 - 20:30 #2
Du er velkommen til at sende din db til.

mugs snabelting mail.dk

som en .zip fil. Så ser jeg på det.
Avatar billede sbl Nybegynder
12. december 2008 - 20:54 #3
Fornemt tak. DlookUp fungerer.

Mht relationerne saa er de to tabeller i relationsvinduet forbundet. Er det en forudsaetning at tabellerne har samme primary key felt mht at fungere i en quiry?
Avatar billede mugs Novice
12. december 2008 - 21:07 #4
Nej - PK behøver ikke at være det samme felt. I den tabel hvorfra du vil hente data bruger jeg et unikt felt (f.eks. autonummer) som PK. Denne PK er så relateret til en anden tabel, hvor det tilsvarende felt IKKE er PK. Tabellen bør dog have en PK som f.eks. at autonummer.

Tak for point.
Avatar billede sbl Nybegynder
12. december 2008 - 22:18 #5
Den tabel som pilen i relation vinduet pejer paa, er det derfra data hentes eller er det omvendt?
Avatar billede mugs Novice
12. december 2008 - 23:12 #6
Det er fras den tabel pilen peger på, at du skal hente dine data. Det felt pilen peger på, bør være tabellens PK.
Avatar billede sbl Nybegynder
16. december 2008 - 19:29 #7
Er det korrekt at hver FORM (Access 2003) kun kan hente data fra en TABEL?

Kan QUERIES kan bruges paa REPORTS eller ogsaa forms?

Paa forhaand tak.
Avatar billede mugs Novice
16. december 2008 - 19:42 #8
"Er det korrekt at hver FORM (Access 2003) kun kan hente data fra en TABEL?"
NEJ - Lad formen få data fra en forespørgsel, og den henter data fra ALLE tabeller i forespørgslen.

"Kan QUERIES kan bruges paa REPORTS eller ogsaa forms?"
Se ovenstående.
Avatar billede sbl Nybegynder
16. december 2008 - 20:03 #9
Jeg har to tabeller hvor den ene indeholder data om by(tblBY). En anden tabel der ud fra postnr (tblPOSTNR) indeholder Navn, Region og land. Jeg har en-til-mange relation fra tblPOSTNR postnr til tblBY postnr (PK). I en form (tblBY) vil jeg gerne hente Navn, Region og land ud fra det postnr, der indtastet for den paagaeldende record, men det virker ikke?

Hvis jeg skal hente felter fra tblPOSTNR, hvordan goer jeg det saa i design view form?
Avatar billede mugs Novice
16. december 2008 - 20:13 #10
Hvordan med din forespørgsel - Fungerer den?
Avatar billede sbl Nybegynder
18. december 2008 - 22:52 #11
Jeg har faaet det til at virke med foresperogsler - mange tak.

Du skriver, at jeg kan bruge data fra alle tabeller, der indgaar i forespoergslen som reporten bygger paa. Men hvordan henter jeg et felt fra tabllerne knyttet til en forespoergsel, hvis jeg kun har valgt forespoergslen, da jeg oprettede reporten (Access2000)?
Avatar billede sbl Nybegynder
18. december 2008 - 23:15 #12
Hvis jeg har to felter i den samme tabel, der begge skal linket til en anden tabel, hvordan henter jeg saa data fra den foerste tabel til begge disse felter, saa de kan vises i fx en report. Fx hvis jeg indtaster to by-navne og saa i en report vil hente tilhoerende postnr, hvordan fortaeller jeg saa Access2000 at begge saet data skal vises?
Avatar billede mugs Novice
19. december 2008 - 06:53 #13
"Du skriver, at jeg kan bruge data fra alle tabeller, der indgaar i forespoergslen som reporten bygger paa. Men hvordan henter jeg et felt fra tabllerne knyttet til en forespoergsel, hvis jeg kun har valgt forespoergslen, da jeg oprettede reporten (Access2000)?"

Det nemmeste du kan gøre er, at bruge en autorapport. Ågn db i databasevinduet > Fanen Forespørgsler > Marker den forespørgsel der skal være postkilde for rapporten > Find ikonet for "Autoformular" på din menulinie. Åbn dialogboksen og vælg aitorapport. Access vil nu generere en rapport. Denne kan du bygge videre på og ændre f.eks. formatteringen.

"Hvis jeg har to felter i den samme tabel, der begge skal linket til en anden tabel, hvordan henter jeg saa data fra den foerste tabel til begge disse felter, saa de kan vises i fx en report. Fx hvis jeg indtaster to by-navne og saa i en report vil hente tilhoerende postnr, hvordan fortaeller jeg saa Access2000 at begge saet data skal vises?"

Som udgangspunkt skal vi blive i forespørgslen. NÅr den fungerer efter hensigten, vil rapporten være et spejlbillede af forespørgslen og vise de samme poster. Din db bør være opbygget således, at du indtaster postnr. og får vist den tilhørende by. Hvis du kun vil se en del af posterne, kan du bruge kriterier. I postnrfeltet kan du indtaste f.eks. 2300 under kriterier, og du vil kun se poster med bynavn Kbh.S. Hvis du vil se flere poster, kan du indtaste 6100 or 6500. Så ser du kun poster med postnr. 6100 Haderslev ELLER 6500 Vojens.
Avatar billede sbl Nybegynder
19. december 2008 - 14:56 #14
Mugs - tak for dit svar. Og beklager at disse spoergsmaal skyder lidt i oest og vest men til trods at jeg har investeret i Access Bible, saa mangler jeg stadig at faa noget af det konceptuelle paa plads.

Mht postnr eksemplet. Hvis jeg i samme report eller form vil hente data fra to forskellige postnr samtidigt, der kunne vaere start og slut. Saa jeg baade kunne indtaste 6100 og 6500 og saa faa Access til med forespoergsel at hente by etc. Kan jeg det eller skal jeg saa lave 2 tabeller?
Avatar billede mugs Novice
19. december 2008 - 15:16 #15
Jeg antager at postnr ligger i samme tabel. I så fald kan du blot indtaste 6100 or 6500.

Men det ville lette lidt hvis du kan sende mig dit eksempel som en .zip fil til.

mugs snabelting mail.dk
Avatar billede sbl Nybegynder
19. december 2008 - 16:56 #16
Jeg har sendt databasen og igen tak for hjaelpen.
Avatar billede mugs Novice
19. december 2008 - 17:14 #17
Der er ikke kommet noget endnu
Avatar billede sbl Nybegynder
19. december 2008 - 17:58 #18
vil du skrive din mail adresse igen?
Avatar billede mugs Novice
19. december 2008 - 18:38 #19
mugs snabelting mail.dk

erstat mellemrum og snabelting med @. Du bør ALDRIG opgive den korrekte adresse på nettet. Det resulterer uværgeligt i en masse spam.
Avatar billede sbl Nybegynder
19. december 2008 - 19:06 #20
Jeg har sendt igen - har du modtaget?
Avatar billede mugs Novice
19. december 2008 - 19:22 #21
Nej - Og jeg får ikke nogen meddelelse om, at filer er blokerede. Men du har vel husket at zippe den!!
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