Avatar billede aero Nybegynder
31. december 2005 - 15:05 Der er 5 kommentarer og
1 løsning

find nyeste dato i database

Hej hvordan kan jeg lave en strSQL linje som går ind og finder den nyeste dato i en database og frem viser den/dem.

Hvis vi regner med at jeg har dette
test.mdb
tester
id navn dato
1  hans 15-12-2005
2  pia  13-12-2005
3  ida  15-12-2005
4  franz12-12-2005
5  ole  15-12-2005

her skulle den jo gerne sige at selvom vi har den 31-12-2005 nu så er den dato der er tættest 31-12-2005 det er 15-12-2005 og den findes 3 gange så altså 3 udtræk.

så hvordan kan jeg så tage en SQL sætning og sige at den/de dato(er) der er tættest DD. skal hentes frem !?
Avatar billede pidgeot Nybegynder
31. december 2005 - 15:15 #1
Måske sådan her:

SELECT * FROM tester WHERE dato=(SELECT MAX(dato) FROM tester)

Jeg er dog ikke sikker på du kan bruge subselects sammen med Access databaser, så et alternativ ville være at dele den op så du først henter MAX(dato) og dernæst sætter den værdi direkte ind.
Avatar billede aero Nybegynder
31. december 2005 - 16:05 #2
må komme an på en prøve ellers har jeg dl. SQL Server 2005 Express Edition fra MSDN eller hvad deres side hedde så kunne evt lave en ny database i SQL så ville det da virke ! eller !?
Avatar billede pidgeot Nybegynder
31. december 2005 - 16:09 #3
Hvis du bruger MSSQL eller MySQL 4.1+, burde det virke uden problemer.

Ellers er der jo andre måder at finde MAX(dato), hvis Access ikke engagn kender den - eksempelvis ved at lave en ORDER BY dato DESC og så kun få returneret den første række (SELECT TOP 1 ..., hedder det vist i Access og MSSQL)
Avatar billede weis Nybegynder
31. december 2005 - 18:50 #4
du kan fx bruge:

<% Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("database.mdb")

strSQL = "SELECT * FROM tabelnavn order by dato DESC"
Set rs = Conn.execute(strSQL)
                       
if rs.EOF then
response.write "der er ingen poster"
else

dato = rs("dato")
       
Do until rs.EOF
if rs("dato") = dato then
%>
Antal nyheder for jeres gren: <%=rs("dato")%> <br>
<%
end if
rs.MoveNext
Loop
end if
               
rs.Close
Set rs = Nothing
Conn.Close
Set Conn = Nothing
%>

den skulle kunne gøre det...!
Avatar billede aero Nybegynder
01. januar 2006 - 23:00 #5
Nej jeg skal jo have noget som der ved at det er en dato, jeg leger med ellers vil den jo bage tro det er et tal og hvis den tror det så vil den sige at:

12-15-05 er nyere end
10-01-06
da
121505 er størrer end 100106 og det er jo omvendt...
Avatar billede aero Nybegynder
02. januar 2006 - 22:14 #6
hmm når tror jeg lukker denne tråd hvis vi ikke kan komme tættere, men tak alligevel.
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
Kurser inden for grundlæggende programmering

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