Avatar billede kartolux Nybegynder
14. november 2001 - 11:39 Der er 9 kommentarer og
1 løsning

Udtræk med dato - interval

Hvis man nu ville lave et udtræk i en tabel for at tælle antallet af forekomster indenfor den sidste uge, hvordan kunne det så se ud?
Avatar billede torbenmelander Nybegynder
14. november 2001 - 11:43 #1
Brug en Select-sætning med ## rundt om datoen ...
Avatar billede torbenmelander Nybegynder
14. november 2001 - 11:43 #2
Avatar billede torbenmelander Nybegynder
14. november 2001 - 11:44 #3
I denne sætning bruger du Date() til at få dags dato og DateAdd() til at trække en uge fra ..
Avatar billede kartolux Nybegynder
14. november 2001 - 11:49 #4
Jeg har en kode som virker her. Hvordan angiver jeg d1 til at være et dato-intarval istedet for kun \"i dag\" ?

<%

session.LCID = 1030

searchmail = \"kartolux@vip.cybercity.dk\"
Article = \"5\"

d1 = date()


Set dbConn = Server.CreateObject(\"ADODB.Connection\")
dbConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"_private/orders.mdb\")
set rs = dbConn.Execute (\"SELECT count (*) AS Antal FROM orders where TimeNow like \'%\" & d1 & \"%\' AND CookieEmail like \'%\" & searchmail & \"%\' AND ArticleId like \'%\" & Article & \"%\' \")

If not (rs.BOF or rs.EOF) then

antal = rs(\"Antal\")
Response.Write rs(\"antal\") & \" ordrer bestilt af \" & searchmail & \" d. \" & d1 & \"<br>\"

response.write date() & \"<br>\"
response.write d1

end if

%>
Avatar billede kartolux Nybegynder
14. november 2001 - 12:16 #5
set rs = dbConn.Execute (\"SELECT count (*) AS Antal FROM orders where (TimeNow like \'%\" & d1 & \"%\' OR TimeNow like \'%\" & d1-1 & \"%\' OR TimeNow like \'%\" & d1-2 & \"%\' OR TimeNow like \'%\" & d1-3 & \"%\' OR TimeNow like \'%\" & d1-4 & \"%\' OR TimeNow like \'%\" & d1-5 & \"%\'OR TimeNow like \'%\" & d1-6 & \"%\') AND CookieEmail like \'%\" & searchmail & \"%\' AND ArticleId like \'%\" & Article & \"%\' \")
Avatar billede kartolux Nybegynder
14. november 2001 - 12:17 #6
Den var svær - tak for hjælpen  ;0)
Avatar billede chris Nybegynder
14. november 2001 - 13:32 #7
måske \'between\' ville komme til sin ret her :-)

set rs = dbConn.Execute (\"SELECT count (*) AS Antal FROM orders where TimeNow  BETWEEN #1-5# AND #1-9# AND CookieEmail like \'%\" & searchmail & \"%\' AND ArticleId like \'%\" & Article & \"%\' \")

eller noget i den stil ?
Avatar billede kartolux Nybegynder
14. november 2001 - 14:21 #8
Hej! Ideen og syntaxen er god nok, men den returnerer 0 i stedet for 12, som den anden gør korrekt. (Det er kontrolleret i db\'en)

Hvad betyder disse #1-5# og #1-9# ? Er det fra dato 1-5 og 1-9 ?
Avatar billede chris Nybegynder
14. november 2001 - 21:32 #9
ja det er bare nogle tilfældige datoer ... prøv med nogle rigtige.

between er beregnet til at lave netop sådanne sql sætninger du søger, så man ikke de laaaaaange OR, LIKE
Avatar billede kartolux Nybegynder
14. november 2001 - 21:40 #10
Okay  :o)
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