10. oktober 2004 - 16:38Der er
8 kommentarer og 1 løsning
dato < startdato
Hey Experts
Jeg skal have talt hvor mange nyheder mine skribenter de skriver. Det går fint når jeg bare skal vise alle sammen, men vi starter på en frisk nu, derfor har jeg brugt en startdato. Alligevel viser den alle nyheder :o(
KODE:
startdato = "08-10-2004" Set RS_edit_personel = Server.CreateObject("ADODB.RecordSet") RS_edit_personel.open "Select * From [users] WHERE opsagt = false Order by firstname" , conn_admin, 1, 3 Do while not RS_edit_personel.EOF Set rsnews = Server.CreateObject("ADODB.RecordSet") rsnews.open "select count(*) as ialt From [nyheder] WHERE Dato >" & startdato & " AND forfatter = " & RS_edit_personel("id") & "", conn_admin, 1, 3 Do while not rsnews.eof
Hvad gør jeg forkert???
Vil gerne have det lavet så jeg også kan skrive to datoer i to tekstfelter, og den så sorterer efter det...
Når man bruger danske datoer og Access kan man opleve Access bytter rundt på måned og dag. Problemet opstår fordi Access bruger US eller UK dato format via SQL, som enten er yyyy-mm-dd eller mm-dd-yyyy.
Når man så indsætter en dato i dansk dato format som er dd-mm-yyyy, vil Access bytte rundt på dag og måned i datoen.
Der er en løsning og det er at bruge dato funktionerne Year, Month og Day til at formatere din dato.
Så prøv:
startdato = "08-10-2004" strDato = year(startdato)&"-"&month(startdato)&"-"&day(startdato) rsnews.open "select count(*) as ialt From [nyheder] WHERE Dato > #" & strdato & "# AND forfatter = " & RS_edit_personel("id") & "", conn_admin, 1, 3
rsnews.open "select count(*) as ialt From [nyheder] WHERE Dato > #" & strdato & "# and dato < #" & strdatoslut & "# AND forfatter = " & RS_edit_personel("id") & "", conn_admin, 1, 3
Kan jeg så ikke lave noget med at den som standart viser alle der er ældre end i dag, og først når man indtaster så gør den det som du skrev ovenover - Bare så der ikke er flere sql sætninger :o)
Hvis man ikke har angivet hverken start eller slut dato findes alle som er ældre end idag, man kan også vælge at angive enten start eller slut dato som enste.
startdato=request.form("startdato") if isDate(startdato) then strDato = year(startdato)&"-"&month(startdato)&"-"&day(startdato) strWhere = " dato > #" & strDato & "#" end if slutdato=request.form("slutdato") if isDate(slutdato) then if strWhere <> "" then strWhere = strWhere & " AND " strdatoslut=year(slutdato)&"-"&month(slutdato)&"-"&day(slutdato) strWhere = strWhere & " dato < #" & strdatoslut & "#" end if
sql = "select count(*) as ialt From [nyheder] WHERE " if strWhere <> "" then sql = sql & strWhere & " AND " else sql = sql & " dato<=Date() AND " end if sql = sql & " forfatter = " & RS_edit_personel("id") & "" rsnews.open sql, conn_admin, 1, 3
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.