Jag har en kod ungefär så här. Förutsätter att alla rader som ligger i tabellen är aktiva sessioner, dvs den rensas från en session när den dör.Sql fråga med datum och tid.
sql="select * from Online_Rekord where datun ='" #datum# "' and tid ='" #time# "'")
Men vet inte hur jag ska utvecklad den för att skriva ut tid och datum på sidan.
Det jag villl den ska göra är följande:
Rekord:
1 inloggad den 10 Nov 2004 23:00:00
när det sen blir 2 inloggade samtidigt ska den skriva ut när det är 2 som är online deras tid.
2 inloggade den 10 Nov 2004 23:50:00 (om det är 2 inloggade samtidigt.
Men ska även skriva in det gammla rekordet.
Hur gör jag för det ska fungera så?Sv: Sql fråga med datum och tid.
Då är det det ju bara att göra en "select count(*) from Rekord" och skriva ut det du få tillsammans med den aktuella tiden.
Har du även med sessioner som har avslutats så har du väl flaggat dem som avslutade på något sätt, antingen genom ett boolskt värde eller tid när session "dog". Då bör du använda dig av Datediff metoden (som finns bra beskriven i hjälpen). Typ(OBS skrivet från huvudet utan att kunna kolla upp exakt hur det var):
Förtydligande: SessionStart är den tid som sessionen startade i Date format, antar at du lagrar "datun" & "tid" som strängar? Gör isåfall om dem till riktig tid. @DateParam är en datevariabel som innehåller den tid du vill jämföra med
select count(*) from Online_Rekord where datediff(d, @DateParam, SessionStart) > 0 ' Alla sessioner som startats sedan @DateParam
select count(*) from Online_Rekord where datediff(d, @DateParam, SessionStart) > 0 and isnull(isnull(SessionEnd, null), datediff(d, @DateParam, SessionEnd) < 0) 'Alla aktiva sessioner det datum och klockslag som @DateParam är.
d parametern i datdiff metoden står nog för dag, sätt den till sekund eller nåt annat smått.
Eftersom du inte skrivit vilken DB du använder så utgick jag ifrån SQL Server då Access har en egen forumdel.