Avatar billede brobaek Nybegynder
26. juni 2003 - 14:08 Der er 20 kommentarer og
1 løsning

Find record for sidste dato

Jeg har en tabel hvor jeg har tre kolonner

CPR (double)
RykkerDto (dato)
RykkerNr (text)

Hvert CPR-nr. kan godt have flere rykkere, og her opstår problemet.

Hvordan finder jeg hver kundes sidste rykker ?

Jeg skal ikke finde højeste RykkerNr, men den record som er den sidste ift. datoen.

Mvh
Martin
Avatar billede mikkelbm Nybegynder
26. juni 2003 - 14:13 #1
det kommer an på hvordan du har lavet dato'en... hvis du har lavet den på 'engelsk'-facon, "2003-06-26" kan du jo bruge max() og lave en 'where cpr = 'et_eller_andet'.... Hvis du har lavet den med dansk dato ved jeg det desværre ikke....
Avatar billede mikkelbm Nybegynder
26. juni 2003 - 14:16 #2
et eksempel:

SQL = "SELECT MAX(RykkerDto) From Tabel WHERE CPR = '010101-0101'"
Avatar billede terry Ekspert
26. juni 2003 - 14:16 #3
Dates in Access are stored in the dB in the same way no matter which region you are using!
Avatar billede mikkelbm Nybegynder
26. juni 2003 - 14:19 #4
Ok :)
så ved jeg det....
Avatar billede brobaek Nybegynder
26. juni 2003 - 14:31 #5
Jeg skal ikke finde maks. rykkerdato, men hele recorden for den sidste dato ?

Hvis man bruger
SELECT Max(RykkerDto) AS Udtryk1, RykkerNr, Intersnr
FROM tblRykker
GROUP BY RykkerNr, Intersnr;

så findes hver rykker for hver maks(rykkerdto) !
Avatar billede brobaek Nybegynder
26. juni 2003 - 14:33 #6
RykkerDto    RykkerNr    Intersnr
14-04-03        aah8            111111111
16-06-03    prv2            111111111
19-05-03    prv1            111111111

Her skal findes
19-06-03 prv2 111111111
da den er den sidste rykker som er sendt !
Avatar billede mikkelbm Nybegynder
26. juni 2003 - 14:37 #7
er det ikke fordi du mangler "WHERE CPR = 'et_eller_andet'"
Avatar billede brobaek Nybegynder
26. juni 2003 - 14:52 #8
Jeg skal ikke finde for en enkelt record... Jeg skal have en liste med alle kundernes seneste rykkerbrev.
Avatar billede terry Ekspert
26. juni 2003 - 20:15 #9
where is the cpr number here?
Avatar billede brobaek Nybegynder
26. juni 2003 - 21:04 #10
Sry, Intersnr is the cpr nr.
Avatar billede terry Ekspert
27. juni 2003 - 08:25 #11
OK, here is one solution, I am sure there are others which are maybe smarter :o)

First make a query and name it qryLastRykkerDto

SELECT tblRykker.Intersnr, Max(tblRykker.RykkerDto) AS MaxOfRykkerDto
FROM tblRykker
GROUP BY tblRykker.Intersnr;

Then make another query and name it qryLastRykker

SELECT tblRykker.*
FROM tblRykker INNER JOIN qryLastRykkerDto ON (tblRykker.RykkerDto = qryLastRykkerDto.MaxOfRykkerDto) AND (tblRykker.Intersnr = qryLastRykkerDto.Intersnr);
Avatar billede brobaek Nybegynder
27. juni 2003 - 09:36 #12
Hi terry,
sry I didnt write that, but I need a single SQL string because it's from word vba and we dont have access to create query'es in the Access database.
Avatar billede terry Ekspert
27. juni 2003 - 10:47 #13
Sorry I dont have time at the moment, maybe this evening or at the weekend!
Avatar billede terry Ekspert
29. juni 2003 - 16:09 #14
Hope this is what you want

SELECT R1.CPR, Max(R1.RykkerDto) AS MaxOfRykkerDto, (select R2.RykkerNr FROM tblRykker R2 WHERE R2.CPR = R1.CPR AND R2.RykkerDto = (Select Max(R3.RykkerDto) FROM tblRykker R3 WHERE R2.CPR = R3.CPR)) AS nr
FROM tblRykker AS R1
GROUP BY R1.CPR;
Avatar billede terry Ekspert
30. juni 2003 - 12:05 #15
Martin>Hows it going here?
Avatar billede terry Ekspert
09. juli 2003 - 21:12 #16
hello!
Avatar billede brobaek Nybegynder
09. juli 2003 - 22:04 #17
so sry - by some reason I didn't get mail that there were new answers to the Q.

I test it tomorrow on work, but your answer look correct (I couldn't remember how to include select's in the select-query).
Avatar billede terry Ekspert
10. juli 2003 - 18:12 #18
does it work?
Avatar billede brobaek Nybegynder
11. juli 2003 - 13:50 #19
It works perfectly. Thx a lot for helping me solving this one.
Avatar billede brobaek Nybegynder
11. juli 2003 - 13:51 #20
... and have a perfectly weekend enjoying the Danish summer ;-)
Avatar billede terry Ekspert
11. juli 2003 - 18:23 #21
selv tak og god weekend til dig også :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