Avatar billede steffansteffan Nybegynder
24. februar 2005 - 11:15 Der er 17 kommentarer og
1 løsning

Sotere efter dato

Hvad har jeg gjort forkert i denne kode?:

Jeg bruger Access, dato feltet hedder createt, og er sat til dato/klok format.
Typen er:
24-02-2005 // Dag / Månede / År

Hvad skriver gær jeg forkert?

<%
' Går 7 dage tilbage 
dato = DateAdd("d", -7, date)

datoStr =  Day(Dato) & "-" & Month(Dato) & "-" & Year(Dato)

' SQL Sætnignen
strSQL = "Select * From stats Where Createt <= #" & datoStr & "# Order By Dato"

' Udskriver et eller andet
Response.Write("bla")
%>
Avatar billede jamiros Novice
24. februar 2005 - 11:17 #1
Hvis datofeltet hedder createt så skal du jo sige:
...SORT BY createt
Avatar billede jamiros Novice
24. februar 2005 - 11:18 #2
Undskyld ... order by createt ;-)
Avatar billede mortency Nybegynder
24. februar 2005 - 11:19 #3
WHERE datoStr >= Createt
Avatar billede mortency Nybegynder
24. februar 2005 - 11:20 #4
Sorry: WHERE datoStr <= Createt
Avatar billede hiks Nybegynder
24. februar 2005 - 11:40 #5
<%
' Går 7 dage tilbage 
dato = DateAdd("d", -7, date)

datoStr =  Day(Dato) & "-" & Month(Dato) & "-" & Year(Dato)
datoStr = CDate(datoStr)

' SQL Sætnignen
strSQL = "SELECT * FROM stats WHERE createt <= #" & datoStr & "# ORDER BY createt;"

' Udskriver et eller andet
Response.Write("bla")
%>

/hiks
Avatar billede steffansteffan Nybegynder
24. februar 2005 - 12:00 #6
Nu har jeg skrevet den sådan her synes ikke der sker noget:

<%
' Går 7 dage tilbage
dato = DateAdd("d", -7, date)

datoStr =  Day(Dato) & "-" & Month(Dato) & "-" & Year(Dato)
datoStr = CDate(datoStr)

' SQL Sætnignen
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};UID=; PWD=;DBQ=" & Server.Mappath("../../db/base.mdb")
strSQL = "SELECT * FROM stats WHERE createt <= #" & datoStr & "# ORDER BY createt;"
Set rs = Server.CreateObject("ADODB.Recordset")
Set rs = Conn.Execute(SQL)

' Udskriver et eller andet
Response.Write("" & rs("IP") & "")
%>

Den skulle meget gerne udskrive alle mine poster da de er tilføjet idag.
Hvad kan der være galdt?
Avatar billede steffansteffan Nybegynder
24. februar 2005 - 12:04 #7
Den lister kun en enkelt hvis jeg skiver f.eks.
Response.Write("bla")
tilsidst
Avatar billede hiks Nybegynder
24. februar 2005 - 12:09 #8
du skal have det placeret i en løkke:

<%
' Går 7 dage tilbage
dato = DateAdd("d", -7, date)

datoStr =  Day(Dato) & "-" & Month(Dato) & "-" & Year(Dato)
datoStr = CDate(datoStr)

' SQL Sætnignen
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};UID=; PWD=;DBQ=" & Server.Mappath("../../db/base.mdb")
strSQL = "SELECT * FROM stats WHERE createt <= #" & datoStr & "# ORDER BY createt;"
Set rs = Server.CreateObject("ADODB.Recordset")
Set rs = Conn.Execute(SQL)

' Udskriver et eller andet
While rs.EOF = False
    Response.Write("" & rs("IP") & "")
    rs.movenext
Wend
%>
Avatar billede steffansteffan Nybegynder
24. februar 2005 - 12:44 #9
For en fejl der siger?
Item cannot be found in the collection corresponding to the requested name or ordinal.


Er ikke så meget inde i de fejl der...Desværre.
Avatar billede hiks Nybegynder
24. februar 2005 - 12:52 #10
har du en attribut der hedder ip?

/hiks
Avatar billede steffansteffan Nybegynder
24. februar 2005 - 12:58 #11
Uddyb tak :D.
Avatar billede hiks Nybegynder
24. februar 2005 - 13:23 #12
I din sql bruger du "SELECT *"

Er der en kolonne (attribut), der hedder IP i tabellen? Ligesom der er en createt (attribut).

/hiks
Avatar billede steffansteffan Nybegynder
24. februar 2005 - 13:39 #13
ja har prøvet med ID også, samme fejl kommer.
Der er et felt i databasen der hedder IP under tabelen stats.
Avatar billede eagleeye Praktikant
24. februar 2005 - 17:49 #14
To ting. Datoer via SQL skal overføres i formatte yyyy-mm-dd og ikke DK format med dagen først så vil access bytte rundt på dag og måned.

Så disse to linjer:_

datoStr =  Day(Dato) & "-" & Month(Dato) & "-" & Year(Dato)
datoStr = CDate(datoStr)

Skal blive til denne ene:
datoStr =  Year(Dato) & "-" & Month(Dato) & "-" & Day(Dato)


Det andet ting du ligger SQL sætningen ind i variablen strSQL men executer variablen SQL. Så prøv at rette denne linje:
Set rs = Conn.Execute(SQL)

Til denne:
Set rs = Conn.Execute(strSQL)
Avatar billede steffansteffan Nybegynder
25. februar 2005 - 13:36 #15
eagleeye ang det med datoer der skal være år, månede, dag. Min database ændre det selv til det omvendte hvad kan jeg gøre ved det?
Avatar billede eagleeye Praktikant
25. februar 2005 - 14:27 #16
Når du overføre datoer via SQL skal det være i formatet yyyy-mm-dd og det kan gøres som vist før med Year, Month og Day funktionerne. Kolonnen i databasen må havde det dato du ønsker det kan fint være DK format.

Sådan her laver du formatet yyyy-mm-dd:

Dato = "25-02-2005"
atoStr =  Year(Dato) & "-" & Month(Dato) & "-" & Day(Dato)
Avatar billede steffansteffan Nybegynder
18. juni 2006 - 13:31 #17
eagleeye Smæk lige et svar så lukker vi denne :)
Avatar billede steffansteffan Nybegynder
30. marts 2008 - 17:33 #18
eagleeye svar hjæp mig, men da jeg ikke har fået respons i 1.5 år lukker jeg.
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