19. april 2004 - 10:28Der er
17 kommentarer og 1 løsning
DateDiff, hvordan ?
Mig og Datediff har aldrig haft en god kemi, derfor søger jeg lidt hjælp.
Har et udtræk der ser sådan her ud:
Set conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("database.mdb") Set rs_BE = Server.CreateObject("ADODB.Recordset") sql_BE = "select * from besog where B_besogt = 'Nej' AND B_saelger='" & session("user") & "' order by B_besogdato " rs_BE.open sql_BE, conn, 1, 3
<% Do While Not rs_BE.EOF %> <div><%=rs_BE("B_besogdato")%></div> <% rs_BE.MoveNext Loop %>
B_besogdato formateres således: DD-MM-ÅÅÅÅ
B_besogdato har jeg følgende datoer i tabellen: 18-04-2004 20-04-2004
og i dag har vi så 19-04-2004
Det jeg gerne vil, er at jeg vil kun have udskrevet poster fra min database hvor B_besogdato er foran datoen vi har nu, samt poster der ligger 14 dage tilbage.. De poster der er 14 dage gamle vil jeg have markeret med en farve. Men poster der ligger mere end 15 dage tilbage vil jeg ikke have udskrevet..
Nogen som kan hjælpe mig hvordan jeg klarer det.. ?
sql_BE = "select * from besog where B_besogt = 'Nej' AND B_saelger='" & session("user") & "' and B_besogdato >=#"& dateadd("d",-14,date()) &"# order by B_besogdato "
.... ....
<% Do While Not rs_BE.EOF if datediff("d",date(),rs_BE("B_besogdato")) < 0 then %> <div style="color='red'"><%=rs_BE("B_besogdato")%></div> <% else %> <div><%=rs_BE("B_besogdato")%></div> <% end if rs_BE.MoveNext Loop %>
hvad siger SQl-sætningen hvis du skriver den ud???
sql_BE = "select * from besog where B_besogt = 'Nej' AND B_saelger='" & session("user") & "' and B_besogdato >=#"& dateadd("d",-14,date()) &"# order by B_besogdato " response.write sql_BE
Access plejer at ville tage det danskeformat, hvis den er dansk vel at mærke. Men I dit tilfælde lader det til at den bruger engelsk format, som du siger. Jeg vil anbefale at du så laver en ConvertToSQLDate() funktion (gerne i en include fil), så du kun skal ændre funktionen hvis du skifter database. Har selv samme problem da MS-SQL bruger YYYYMMDD formatet.
function ConvertToSQLDate(dato) ConvertToSQLDate = Year(dato) & "-" & Month(dato) & "-" & Day(dato) end function
sql_BE = "select * from besog where B_besogt = 'Nej' AND B_saelger='" & session("user") & "' and B_besogdato >=#"& ConvertToSQLDate(dateadd("d",-14,date())) &"# order by B_besogdato "
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.