Avatar billede Slettet bruger
06. marts 2009 - 12:46 Der er 8 kommentarer og
1 løsning

Sammenlægning af poster

Jeg har en række poster i en tabel, som hører sammen 2 og 2.

Lønnr.  Navn      Fraværskode  Begynd    Slut
1234    Xxxx      10            8:00
1234    Xxxx      10                      16:00

Kan det lade sig gøre via en forespørgsel at lægge posterne sammen, så jeg får en enkelt post ud af det:

Lønnr.  Navn      Fraværskode  Begynd    Slut
1234    Xxxx      10            8:00      16:00


Mvh. Christina
Avatar billede lars_hoeberg Praktikant
06. marts 2009 - 13:33 #1
Hejsa.

Søger du forespørgsler til at løse den, eller en direkte funktion?

Via forespørgsler kan du gøre følgende

1) Opret en tabel magen til din nuværende
2) Opret en tilføjelsesforespørgel, som tilføjer poster til den nye tabel med kriterie på Begynd: Is not null
3) Opret en opdateringsforespørgsel med relation fra den gamle til den nye tabel på Lønnr. og opdater feltet slut til [GammelTabel].[Slut]
Avatar billede Slettet bruger
06. marts 2009 - 13:38 #2
Jeg vil helst ikke ind i at oprette tabeller og køre handlingsforespørgsler, da det i sidste ende skal være en forespørgsel, som henter data ind i Excel via en access-forespørgsel, som har tabeller sammenkædet med økonomistyringssystemet.
Opgørelsen skal bruges dagligt og skal kunne opdateres ved at opdatere en excel-tabel.

Jeg har arbejdet lidt videre, og har nu en forespørgsel, der viser begynd og slut på sammen linje, men til gengæld har jeg nu 2 ens linjer for hver medarbejder. Nogle gode råd til hvordan jeg kommer uden om dubletterne?
Avatar billede lars_hoeberg Praktikant
06. marts 2009 - 13:40 #3
Hvordan har du så fået dem på samme linie? Blot for at vide hvad vi tager som næste skidt ?
Avatar billede Slettet bruger
06. marts 2009 - 13:48 #4
Jeg har lavet 2 nye forespørgsler. Den første forespørgsel indeholder alle Begynd-tiderne. Den anden forespørgslen indeholder alle Slut-tiderne.
Begynd og slut-tiderne henter jeg ind i den 3. forespørgsel.
Avatar billede lars_hoeberg Praktikant
06. marts 2009 - 14:29 #5
Hvis du har lavet relationen rigtigt, burde der ikke være 2 af hver post. Husk KUN at have "begynd" og "slut" med 1 gang hver i den 3. forespørgsel og fra de rigtige kilder
Avatar billede wagner Nybegynder
07. marts 2009 - 00:20 #6
Du kunne overveje noget ala dette her:

Select Lønnr, Navn, Fraværskode, min(Begynd), max(Slut)
from tabel t1
group by Lønnr, Navn, Fraværskode

Dette kræver naturligvis, at Lønnr, Navn, Fraværskode er ens for hele gruppen. En anden metode kunne være:

Select Lønnr, Navn, Fraværskode,
(select Begynd from tabel t2 where t1.lønnr = t2.lønnr and t2.begynd is not null), (select Slut from tabel tt where t1.lønnr = t3.lønnr and t3.slut is not null)
from tabel t1
group by Lønnr

Wagner
Avatar billede Slettet bruger
16. marts 2009 - 11:04 #7
Wagner, vil du lægge et svar så du kan få point.
Avatar billede wagner Nybegynder
16. marts 2009 - 21:26 #8
Hermed et svar. Håber du fik det til at virke.

Wagner
Avatar billede Slettet bruger
17. marts 2009 - 14:05 #9
Det virker fint - tak for hjælpen!
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