Avatar billede bjorn82dk Nybegynder
09. januar 2004 - 17:44 Der er 21 kommentarer og
1 løsning

3 tabeller/forespørgseler i en rapport?

Hep hey til alle eksperter som læser dette.

Ja - det er nok temmelig grundlæggende dette spørgsmål så jeg håber på et hurtigt godt svar.

Jeg er igang med en Access Database (Ren access intet ASP eller andre spændende ting).

Opbygningen:


Tabel 1 (Navn: Deltagere)
Felter:
Navn
Status
osv. osv. osv.


Tabel 2 (Navn: Ledelse)
Navn
Status
osv. osv. osv.


Tabel 3 (Navn: Gratis deltagere)
Navn
Status
Osv. osv. osv.


Tabellerne skal være delt op som de er. Nu skal jeg så have lavet en rapport som kan vise feltet "Navn" fra alle 3 tabeller og sorterer den alfabetisk... ikke noget med beregninger eller noget, blot alfabetisk.

Men hvordan søren får jeg alle 3 tabeller ind i en enkelt rapport?

Mange hilsner

Bjørno
Avatar billede mugs Novice
09. januar 2004 - 17:48 #1
Det gør du ved at lave en forespørgelse med relevante tabeller fra alle 3 tabeller.
Men først skal du have lavet relationer mellem tabellerne.
Avatar billede mugs Novice
09. januar 2004 - 17:51 #2
Jeg antager, at feltet Navn der er gentaget i tabellerne omhabdler forskellige navne. D.v.s. at navnet på en Deltager ikke eksisterer i Tabel2 og Tabel3 o.s.v.
Hvis dette er tilfældet har du de samme data flere steder i din db, og så opstår der redundans. Denne redundans skal først fjernes før din db fungerer optimalt. Men et fint udtryk hedder det at normalisere db.
Men det er svært at give yderligere råd inden vi kenjder den nærmere opbygning af db.
Avatar billede bjorn82dk Nybegynder
09. januar 2004 - 18:16 #3
Hej mugs.
Det er jo lige det. Det er forskellige data der ligger i tabellerne, altså der er ingen dubletter. Jeg har forsøgt at lave en relation mellem de 3 tabeller men når jeg gør det tror forspøgslen at den skal finde felter der matcher hinanden... så kan du hjælpe lidt mere?
Avatar billede mugs Novice
09. januar 2004 - 18:23 #4
Du skal som minimum have primære nøgler i tabellerne 2 og 3. I tabel1 kan du nøjes med at have 2 felter, nemlig primære nøgler fra tabellerne 2 og 3. Derefter laver du kombinationsbokse, hvor du "plukker" den primnære nøgle fra tabellerne 2 og 3.
Avatar billede bjorn82dk Nybegynder
09. januar 2004 - 18:27 #5
Hmm - må tilstå at jeg er ikke helt med på hvad du mener, kan du prøve at forklare det lidt bedre?
Avatar billede mugs Novice
09. januar 2004 - 18:29 #6
Hvis du lægger din e-mail, kan jeg lidt senere sende dig et eksempel. Du kan også sende din db til:

mugs@mail.dk
Avatar billede mugs Novice
09. januar 2004 - 20:22 #7
Eksempel sendt.
Avatar billede bjorn82dk Nybegynder
09. januar 2004 - 20:36 #8
Har også sendt et svar til dig.:-)
Avatar billede mugs Novice
09. januar 2004 - 20:37 #9
Modtaget - ser på det.
Avatar billede terry Ekspert
09. januar 2004 - 20:44 #10
SELECT navn from [Tabel 1]
UNION
You make a UNION query and use this in your report

SELECT navn from [Tabel 2]
UNION
SELECT navn from [Tabel 3]
order by Navn

and if you want ALL named (duplicates) you use

UNION ALL
Avatar billede terry Ekspert
09. januar 2004 - 20:45 #11
and if you want other field then you include these in your select
Avatar billede terry Ekspert
09. januar 2004 - 20:47 #12
You can also indicate from which table the name is from using a calculated field
Example.

SELECT navn, 'Deltagere' from [Tabel 1]
UNION
SELECT navn, 'Ledelse' from [Tabel 2]
UNION
SELECT navn, 'Gratis deltagere' from [Tabel 3]
order by Navn

and if you want ALL named (duplicates) you use

UNION ALL
Avatar billede terry Ekspert
09. januar 2004 - 20:48 #13
09/01-2004 20:44:27
>
You make a UNION query and use this in your report

SELECT navn from [Tabel 1]
UNION
SELECT navn from [Tabel 2]
UNION
SELECT navn from [Tabel 3]
order by Navn

and if you want ALL named (duplicates) you use

UNION ALL
Avatar billede terry Ekspert
09. januar 2004 - 20:49 #14
There is NO relationship between the three tables as they are.
Avatar billede bjorn82dk Nybegynder
09. januar 2004 - 20:55 #15
Hej Terry.

Det lyder meget godt. Men hvordan gør jeg, der er jeg i tvivl. Skal jeg lave en forespørgelse og bruge den kode du har givet mig. Hvor skal jeg sætte den kode ind? I hvilket felt? Jeg er ikke den mest erfarne med databaser.
Avatar billede terry Ekspert
09. januar 2004 - 21:03 #16
You make a query and then make your report using the report wizard. Instead of a table you you the query you have made.
This is a query NOT code

SELECT navn from [Tabel 1]
UNION
SELECT navn from [Tabel 2]
UNION
SELECT navn from [Tabel 3]
order by Navn
Avatar billede bjorn82dk Nybegynder
09. januar 2004 - 21:11 #17
Hej Terry - dear Terry

Ja må jo tilstå at det virker, så selvom mugs har gjort meget arbejde tilfalder premien dig. 1000 tak for hjælpen.

Men hvis du lige kan give et enkelt svar mere... kan nok godt selv finde ud af det.

I en fomular har jeg to felter: Startdato og Slutdato. Startdatoen indtaster jeg, så vil jeg godt have at slutdatoen automatisk er om et år.
Jeg kan naturligvis sige +365 men så misser den skudår og den slags. Har du lige formlen til at regne et år frem?
Avatar billede terry Ekspert
09. januar 2004 - 21:11 #18
This is what you do>

1: make a query for table 1 ('Deltagere')
2: Open the query in SQL view (View+SQL View menu)
3: Remove the ; from the end of the SQL
4: Add UNION to the end of the SQL
5: Select (mark) ALL of the SQL and copy and paste (ctrl+c) (ctrl+v) it after UNION
6: Paste this again (ctrl+v)
7: Now remove the last UNION

Now you need to alter the names of the tables in the last two SELECTs

This should give you an idea as to how you make a UNION query. Once that is doen use this in your report
Avatar billede terry Ekspert
09. januar 2004 - 21:14 #19
09/01-2004 21:11:50 >didnt see you had got it working!

You can use DateAdd("yyyy", 1, Date())
This should take into account leapyear
Avatar billede bjorn82dk Nybegynder
09. januar 2004 - 21:16 #20
Tak skal du have - jeg prøver det når jeg når dertil.
Avatar billede terry Ekspert
09. januar 2004 - 21:17 #21
Now I'm off to see some TV, have a good weekend everyone :o)
Avatar billede mugs Novice
09. januar 2004 - 21:23 #22
Thank you Terry, the same to You. I'll read a good book instead of looking on a screen :o)
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