Avatar billede sp Nybegynder
27. maj 2003 - 20:32 Der er 13 kommentarer og
1 løsning

Vis de første møder men kun en fra hver gruppe.

Hejsa.

Jeg har en database med en kolonne med datoer og en kolonne med afdelinger.

Der er flere møder i hver gruppe.

Kl.19.30 Århus
Kl. 20.00 Århus
Kl. 20.30 Århus
Kl.19.30 København
Kl. 20.00 København
Kl. 20.30 København
o.s.v.
Jeg vil gerne have vist alle møder for hver afdeling som starter kl. 19.30 og kun dem
Avatar billede sp Nybegynder
27. maj 2003 - 20:38 #1
SELECT * FROM Table WHERE strtime='19.30' kan ikke bruges. Det skal være de alle de første møder uanset hvilket tidspunkt. Jeg kan heller ikke bruge SELECT TOP 5, da den skal vise det første møde fra samtlige afdelinger. Jeg håber jeg har formuleret mig forståeligt.
Avatar billede henrik13 Nybegynder
27. maj 2003 - 20:38 #2
Lav en forespørgsel , med kriteriet i klokken.
Der under kriterier skriver du 19.30
Avatar billede sp Nybegynder
27. maj 2003 - 20:40 #3
Der skal ikke være noget kriterie. Den skal vælge det første møde fra hver gruppe.
Avatar billede mugs Novice
27. maj 2003 - 20:42 #4
Der er noget galt i dit spørgsmål. Du skriver, at du har en kolonne med datoer, og vil kun have vist et timetal. Er dato og time i det samme felt?
Avatar billede sp Nybegynder
27. maj 2003 - 20:45 #5
Ok det var mig der lige sprang væk. sorry:-) Det er det samme felt. Det er bare et eksempel
Avatar billede mugs Novice
27. maj 2003 - 20:54 #6
Du kan bruge funktionen Dmin til at finde den første værdi i feltet dato i tabellen Tabel1 hvor Afdeling er = a:

MsgBox DMin("[dato]", "Tabel1", "[Afdeling] = 'a'")

Men det var jo egentlig ikke det du spurgte om, men jeg vasr godt igang da du postede din sidste kommentar.
Avatar billede kabbak Professor
27. maj 2003 - 23:36 #7
SELECT First(Tabel1.Dato) AS FørsteOfDato, Tabel1.Afdeling
FROM Tabel1
GROUP BY Tabel1.Afdeling;
Avatar billede kabbak Professor
27. maj 2003 - 23:47 #8
Nå det var en fejl , du skulle jo have mindste

SELECT Min(Tabel1.Dato) AS MinOfDato, Tabel1.Afdeling
FROM Tabel1
GROUP BY Tabel1.Afdeling;

Men hvis du har data langt tilbage, vil den tage den laveste datotid værdi

Denne tager fra idag og femefter

SELECT Min(Tabel1.Dato) AS MinOfDato, Tabel1.Afdeling
FROM Tabel1
GROUP BY Tabel1.Afdeling
HAVING (((Min(Tabel1.Dato))>=Date()));
Avatar billede proaccess Nybegynder
28. maj 2003 - 08:26 #9
Prøv om ikke dette giver det rigtige resultat...

SELECT t1.*
FROM tabel t1
WHERE t1.strtime = (SELECT Min(strtime) FROM tabel WHERE afdeling=t1.afdeling);

udskift følgende:
tabel = dit tabelnavn
strtime = dit tidsfelt
afdeling = dit afdelingsfelt
Avatar billede sp Nybegynder
28. maj 2003 - 12:04 #10
Dette eksempel giver en fejl:
SELECT Min(Tabel1.Dato) AS MinOfDato, Tabel1.Afdeling
FROM Tabel1
GROUP BY Tabel1.Afdeling;

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] You tried to execute a query that does not include the specified expression 'StartTime' as part of an aggregate function.
/default.asp, line 569

Dette eksempel ser ud til at virke:
SELECT t1.*
FROM tabel t1
WHERE t1.strtime = (SELECT Min(strtime) FROM tabel WHERE afdeling=t1.afdeling);
Avatar billede sp Nybegynder
28. maj 2003 - 16:16 #11
Proacces >> Problem. Jeg vil ikke have de første møder efter datoen idag.
Den tager kun de første møder i databasen, men de er for gamle.
Avatar billede terry Ekspert
28. maj 2003 - 18:31 #12
is the data and time in the same column? Can we see the fields and names please?
Avatar billede sp Nybegynder
28. maj 2003 - 19:36 #13
Denne virker fint, men jeg vil have de nyeste møder efter datoen idag:

SQL = "SELECT t1.* FROM Arranger t1 WHERE StartTime<>'no' AND active=1 AND t1.StartTime = (SELECT Min(StartTime) FROM Arranger WHERE Section=t1.Section) ORDER BY Section DESC;"
Avatar billede sp Nybegynder
28. maj 2003 - 20:54 #14
Proacces du får dine point, for du skrev et svar der virkede.

Tak for det
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