Avatar billede sigyn Seniormester
28. oktober 2014 - 11:03 Der er 10 kommentarer og
1 løsning

Finde den højeste, men kun hvis ulige, Access tabel

Jeg har en yderst simpel tabel i Access, Jeg skal kun bruge to af kolonnerne, en med et kendetegn og en med et versionsnummer. Hver gang der bliver lavet en ny version, bliver der først lavet en "sletteversion", Således at version 1 er (eller var) gyldig, version 2 er ugyldig, version 3 er/var gyldig etc.
Det jeg har brug for, er selvfølgelig den nyeste version, altså den højeste, men kun hvis den er gyldig. Hvordan får jeg lige det ind i min forespørgsel? Jeg kan godt finde ud af, at få den højeste, jeg kan også finde ud af, om de er lige/ulige. Men hvordan får jeg fat i den højeste KUN hvis den er ulige? Skal jeg over i VBA, eller kan jeg få det ind i kriteriet ?
Tabellen kunne f.eks. se sådan ud

Kendetegn    Version
Eks1            1
Eks1            2
Eks1            3
Eks2            1
Eks3            1
Eks4            1
Eks4            2
Eks5            1
Eks5            2
Eks5            3
Eks5            4
Eks5            5
Eks6            1
Eks6            2
Eks6            3
Eks6            4

Så skal min forespørgsel gerne ende således


Kendetegn    Version
Eks1            3
Eks2            1
Eks3            1
Eks5            5
Avatar billede martens Guru
28. oktober 2014 - 11:14 #1
blot en idé

SELECT Tabel1.kendetegn, Max(Tabel1.Version) AS MaksOfVersion
FROM Tabel1
GROUP BY Tabel1.kendetegn;
Avatar billede martens Guru
28. oktober 2014 - 11:15 #2
ups.. så ikke lige det med ulige ;o)
Avatar billede martens Guru
28. oktober 2014 - 11:15 #3
hvad er maks værdien på version
Avatar billede martens Guru
28. oktober 2014 - 11:17 #4
prøver igen ( her er maks version = 6 )

SELECT Tabel1.kendetegn, Max(Tabel1.Version) AS MaksOfVersion
FROM Tabel1
GROUP BY Tabel1.kendetegn
HAVING (((Max(Tabel1.Version))<>2)) OR (((Max(Tabel1.Version))<>4)) OR (((Max(Tabel1.Version))<>6));
Avatar billede sigyn Seniormester
28. oktober 2014 - 11:23 #5
Jeg kender netop ikke maksværdien af versionen, der kan jo hele tiden komme nye til, det er en tabel jeg opdaterer ugentligt (udtæk fra andet system)
Avatar billede mugs Novice
28. oktober 2014 - 11:38 #6
Der må kunne indsættes et kriterie med en modulus der kun giver ulige tal:

[version] Mod 2=1
Avatar billede sigyn Seniormester
28. oktober 2014 - 11:49 #7
Ja, det har jeg også fundet ud af, men så kommer min forespørgsel til at se sådan ud, dvs jeg får ikke luget Eks4 og Eks6 ud

Kendetegn    Version
Eks1            3
Eks2            1
Eks3            1
Eks4            1
Eks5            5
Eks6            3
Avatar billede fdata Forsker
28. oktober 2014 - 11:51 #8
SELECT Kendetegn,MaksOfVersion
FROM (SELECT Tabel2.Kendetegn, Max(Tabel2.Version) AS MaksOfVersion
FROM Tabel2
GROUP BY Tabel2.Kendetegn)
WHERE ((([MaksOfVersion] Mod 2)=1));
Avatar billede mugs Novice
28. oktober 2014 - 11:55 #9
Modulus = beregning af en divisionsrest. Ved en mod 2 vil resultatet altid være 0 eller 1.

2 mod 2 = 0
3 mod 2 = 1
4 mod 2 = 0
5 mod 2 = 1
0.s.v.
Avatar billede sigyn Seniormester
28. oktober 2014 - 12:33 #10
Så lykkedes det. Jeg var lige kommet på sporet selv, slutresulatet megt lig fdatas, først en forespørgsel, hvor jeg kun vælger maks, og så en ny forespørgsel på denne, hvor Modulus kom i brug. Modulus lærte jeg at kende og bruge i går.
Tak for hjælpen alle sammen
Avatar billede fdata Forsker
28. oktober 2014 - 12:37 #11
Learning by doing. Takker for point  ;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

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



IT-JOB

Cognizant Technology Solutions Denmark ApS

SAP Project Manager

Udviklings- og Forenklingsstyrelsen

Erfarne udviklere til agilt udviklingsteam

Dynamicweb Software A/S

Tech Team Lead