Klart grabben ska ha en gokart. Från sekunder till minuter och sekunder är ju inga problem: Varför hålla på med massa typkonverteringar!?!?! När det är datum/tid så ska det lagras så i databasen också! Precis vad jag menade med att fulhacka VBScript ... men det ser ut att vara det enda som kan fås fram tills vi har en ren databasvy (SQL). Aha, det var Access va? I sådana fall denna frågan: Hejsan, Function SQLText(Value) Hej För minuter är det "n" som gäller!Effektivaste frågan för senaste 5 minuters inlägg i db?
Satt ner och funderade lite över hur man bör gå tillväga för att se de senaste inläggen som kommit in inom en mycket liten tidsrymd, ca 5 - 10 min. Hur jag än vrider på det så faller det sig som om jag bör räkna om inläggningsdatum till sekunder sedan det lades in för att få ett riktigt svar. Hur som helst, är det flera som hittat problemet med att minuter slår om till noll varje timme? :)
Ex:
Select alla klagomål på simpelheten i frågan de senaste 15 minuterna.
/JockeSv: Effektivaste frågan för senaste 5 minuters inlägg i db?
<code>
sek = antal sekunder du vill konventera
m = int(sek/60)
s = sek Mod 60
</code>Sv: Effektivaste frågan för senaste 5 minuters inlägg i
SQL = "SELECT * FROM min_tabell WHERE mitt_datumfält BETWEEN " & DateAdd("n", -5, Now) & " AND " & Now
/JohanSv: Effektivaste frågan för senaste 5 minuters inlägg i
Men tackar ändå.Sv: Effektivaste frågan för senaste 5 minuters inlägg i
SQL = "SELECT * FROM min_tabell WHERE Datum Between DateAdd("d",-5,Now()) And Now()"
/JohanSv: Effektivaste frågan för senaste 5 minuters inlägg i
Jag blir inte klok på detta...
SELECT name FROM member
WHERE lastonline
BETWEEN DateAdd("m",-5,Now()) AND Now()
Denna sats ger mig tyvärr inte vad jag vill ha ut då den bara verkar klara av månader 'm' eller dagar 'd' inte minuter 'mi' Då får jag ett felmeddelande om att denna Stored Procedure (Access!!!?) inte finns.
Däremot ... så klarar den sekunder 's' ??? så voila .. det funkar nu ...
Man TackarSv: Effektivaste frågan för senaste 5 minuters inlägg i
If IsDate(Value) Then
SQLText = "#" & Month(Value) & "/" & Day(Value) & "/" & Year(Value) & " " & Hour(Value) & ":" & Minute(Value) & ":" & Second(Value) & "#"
Else
SQLText = "Null"
End If
End Function
strSQL = "SELECT name FROM member WHERE lastonline >= " & SQLText(DateAdd("n",-5,Now()))Sv: Effektivaste frågan för senaste 5 minuters inlägg i
Tycker fortfarande att du skall satsa på mitt förslag
En sak är säker det funkar ua.
'Tycker fortfarande att du skall lagra som Tal
Dim Nu As Double
Nu = Now
Label1.Caption = Nu
'Ren matematik du får tag i år mån dag
'med Int(Nu)
'Klockslag med Nu - Int(Nu)
De olika Funktionerna Ni resonerar kring gör exakt detta.
Jag vet att många inte håller med mig,men jag tycker
det är väldigt tillfredställande att jag med enkelt + -
kan behandla varje sekund mellan åren
1626-03-17 23:59:59
4637-11-25 23:59:59
med ett tal 8 byte DataTyp Double
och jag behöver inte trassla med Skottår, det sköter sig själv
Label1.Caption = Format$(999999.99999, "yyyy-mm-dd hh:mm:ss")
DSSv: Effektivaste frågan för senaste 5 minuters inlägg i
/Johan