Avatar billede idani Praktikant
13. august 2008 - 12:41 Der er 22 kommentarer og
1 løsning

Ægte novice spørgsmål

Hejsa

Et spørgsmål fra en ægte novice ;o)
Jeg har 2 tabeller, som har næsten de samme kollonner.
Alle poster er importerede i tabellerne - og der er mange.
Jeg kan af praktiske årsager ikke importerer dem i en og samme tabel (læs det kan jeg ikke hitte ud af  - i det de ligger i nogle forskellige formater)
Når nu jeg så skal lave en forspørgelse, så ville jeg gerne kunne have f.eks periode i samme kollone fra begge tabeller - men det kan jeg ikke hitte ud af.
Så spørgsmålet er hvorledes "ligger" jeg 2 tabeller sammen i en forspørgsel?
Hilsen
Ida
Avatar billede fdata Forsker
13. august 2008 - 13:07 #1
1. Opret en Udvælgelsesforespørgsel
2. Tilføj dine 2 tabeller
3. Find de to felter, som skal knytte tabellerne sammen
4. Træk med musen fra det ene felt over til det andet - så ser du en streg
5. Træk de felter, du har brug for, ned i gitteret

Hvis Access brokker sig over at felttyperne ikke passer sammen, må du lige ind i en af tabellerne og ændre typen.
Avatar billede idani Praktikant
13. august 2008 - 13:29 #2
Hmm den vil ikke....
Jeg har følgende
Tabel 1.            Tabel 2.            Tabel 3.
Cpr. nr              Afdeling            Afdeling
Løn nr.              Cpr. nr            Cpr
Navn                Navn                Navn
                    Lønart              Periode
                    Periode            Løn art
                    Tekst              Tekst
                    Debet              Debet
                    Kredit              Kredit

Som du kan se så har tabel 2+3 de samme felter, men jeg kan ikke bare ligge dem sammen pga. knas med importen.
Tabel 1. har jeg fint fået koblet de 2 andre på.
Men når jeg så forsøger at lave en forspørgelse hvor jeg ville have alle posteringer ud på en person. Så er det pt. lykkes mig at lave 2 forskellige forspørgsler hvor jeg taster cpr nr. ind - og så henter alle poster i den pågældende tabel for en person.
Men men men jeg ville jo gerne kunne gøre sådan at jeg kunne nøjes med en forsprøgelse og så ville alle poster på en person komme frem - uanset hvilken tabel de ligger i.
Hilsen
IDa
Avatar billede idani Praktikant
13. august 2008 - 13:30 #3
Øhhh og self. sådan at jeg kun har en kolonne med afdeling og en med navn osv :o)
Avatar billede fdata Forsker
13. august 2008 - 14:03 #4
Det ser ud som om, det er CPRnr, der er din nøgle (uha, det er vist ikke helt lovligt).

Hvis du har en forespørgsel, hvor du har alle 3 tabeller med, burde du kunne trække [CPR. nr] fra Tabel 2 og [CPR] fra Tabel 3 over på [CPR. nr] i Tabel1. Herefter kan du bare trække de felter, du har brug for (fra alle 3 tabeller), ned i gitteret.
Avatar billede idani Praktikant
13. august 2008 - 14:08 #5
ok prøver jeg.
Og jo det er helt lovligt.
Sidder på et lønkontor, med løndata som skal bruges til nogle afstemninger på det enklte personer - så jeg er sikker på at det er ok, ellers ved jeg ikke hvordan at Skat ville kende forskel på os :oD

/Ida
Avatar billede fdata Forsker
13. august 2008 - 14:09 #6
;o))
Avatar billede idani Praktikant
13. august 2008 - 14:13 #7
Hmm når jeg prøver det så får jeg følgende opsætning

Cpr. nr  Navn Navn Periode Periode

Altså navn og perioden fra hver tabel står som hver sin kolonne.
Jeg ville gerne have alle periode til at stå i en kolonne
Avatar billede fdata Forsker
13. august 2008 - 14:27 #8
Øøøh. Som jeg ser det, skal du trække følgende ned i gitteret:

Fra tabel 1: [Cprnr], [LønNr] og [Navn]
Fra tabel 2: [Lønart], [Periode], [Tekst], [Debet] og [Kredit]
Fra tabel 3: [Debet] og [Kredit]

(idet jeg går ud fra at det er beløbene, der skal afstemmes)
Avatar billede idani Praktikant
13. august 2008 - 14:46 #9
Det er korrekt at beløbene skal afstemmes.
Men jeg tror jeg har glemt at oplyse dig om at data i tabel 1 stammer fra perioden 2003-2005 og tabel 2 stammer fra perioden 2006-2007
Og jeg ville gerne ende ud med en tabel hvor perioderne står i samme kolonne i udtrækket.
Beklager den manglende information
/Ida
Avatar billede fdata Forsker
13. august 2008 - 15:04 #10
Så trækker du bare en streg fra Periode i Tabel 2 til Periode i Tabel 3 - men så er der måske et lille issue med årstallene
Avatar billede idani Praktikant
13. august 2008 - 15:17 #11
oki prøver jeg
Avatar billede hugopedersen Nybegynder
14. august 2008 - 07:24 #12
Du skal ud i noget af det der ikke er Access' helt stærke side nemlig en UNION query

Du laver en query der ser ud som nedenfor (med de felter du nu har) Opret en tom query og skift så til SQL view og tast felterne ind. Vær opmærksom på at de skal hedde nøjagtig det samme i begge tabeller. Ikke nogen med Lønart i en og loenart i en anden.
Lav dernæst en anden query der bruger tabel 1 og den query du lige har lavet. Lav en join på CPR så du får alle poster fra tabel1 og de tilhørende fra din union query
Det skulle gerne give dig det ønskede resultat.
Hvis du har 2 poster i hver deres tabel der er 100% identiske, så tager UNION queryen kun den ene med i resultatet.

SELECT Afdeling, CPR, Navn, Periode, Lønart, Tekst, Debet, Kredit FROM Tabel2
UNION SELECT Afdeling, CPR, Navn, Periode, Lønart, Tekst, Debet, Kredit FROM Tabel3;
Avatar billede idani Praktikant
14. august 2008 - 08:31 #13
uha det må jeg prøve.....
vender lige tilbage når jeg har forsøgt mig
/ida
Avatar billede fdata Forsker
14. august 2008 - 13:35 #14
Ahaaa. Er det mon det, Ida vil? Jeg har måske tolket "perioderne står i samme kolonne i udtrækket" forkert. Jeg antog, at Tabel2 og Tabel3 skulle sammenlignes og afstemmes.
En Union vil give en slags Tabel4, som er Tabel2 og Tabel3 i forlængelse af hinanden. Og det er måske i virkeligheden det, der er målet?
Avatar billede idani Praktikant
14. august 2008 - 13:49 #15
Yep det er det som er målet.
Og det var ´faktisk en fejl at jeg ikke fik givet dig point også - fordi du har været så flik til at bruge så meget tid på mig :o)
Takker og bukker for det.
/Ida
Avatar billede idani Praktikant
14. august 2008 - 13:52 #16
Og nu har jeg prøvet det - og er faktisk helt stol nu, fordi det er lykkes mig at få det til at virke.
Rent faktisk så er det lykkes så godt at jeg har fået mod på at koble endnu en tabel på :o) - og så lige oprette en form til at spørger ud fra - sådan at det hele fremkommer i en samlede rapport.
Så skal jeg nok til at lege med et switchboard - men der vender jeg jo nok til bage til jer hajer ;o)

Hilsen
Ida
P.S Hugo gider du ikke smide et svar - fordi det virkede
Avatar billede hugopedersen Nybegynder
14. august 2008 - 13:58 #17
Jo det gør jeg da rigtig nok :-)
Det var godt at du fik en successoplevelse der gav dig mod på at gå videre.
Avatar billede fdata Forsker
14. august 2008 - 14:08 #18
Tjah, jeg havde jo bare misforstået opgaven helt fra start, så jeg sidder lidt i skammekrogen  ;o)
Avatar billede hugopedersen Nybegynder
14. august 2008 - 14:12 #19
Bare der er mere tørvejr end der har været udenfor de sidste mange dage, så er det vel heller ikke det værste sted :-)
Avatar billede fdata Forsker
14. august 2008 - 14:21 #20
;o)
Avatar billede idani Praktikant
15. august 2008 - 15:17 #21
Genåbener lige mit spørgsmål

Jeg har nu forsøgt at koble den 3. tabel på

SELECT Cpr, Navn, Periode, Lønart, Tekst, Debet, Kredit FROM Efter2006
UNION SELECT Cpr, Navn, Periode, Lønart, Tekst, Debet, Kredit FROM Før2005;
UNION SELECT Cpr, Navn, Periode, Lønart, Tekst, Debet, Kredit FROM 2008;

Men jeg får ikke 2008 tallene med ud - jeg er sikker på at det "bare" er en eller anden lille teknisk fejl - men hvilen

Ida/
Avatar billede japping Nybegynder
15. august 2008 - 16:19 #22
Hej Ida ! Jeg kom lige forbi dit spørgsmål men kan se det er "accepteret". Hvis du ikke får svar på dit andet spørgsmål, kan det være fordi folk kan se i oversigten, at du har accepteret.
Jeg kan derfor anbefale dig at oprette et nyt spørgsmål, så vil du sikkert få mere opmærksomhed. Henvis meget gerne til dette spørgsmål, så folk kan sætte sig ind i problemstillingen.
Avatar billede hugopedersen Nybegynder
16. august 2008 - 09:38 #23
I den SQL du har skrevet her er der en ekstra ; efter 2005 - jeg er ikke helt 100% på om det er den der gør det, men prøv.
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