Maaske:
strSQL = "SELECT * FROM clip WHERE clipAktivt = 1 AND WHERE DateDiff(NOW(), datefield) < 7 "
Tak men syntax error. Eagleeye svarede engang her:
http://www.eksperten.dk/ (...)Men jeg får også syntax error med det forslag.
Har du en fejl tekst?
Hvis du ike faar den i ASP saa proev og udfoer SQL i et andet tool.
strSQL = "SELECT * FROM clip WHERE clipAktivt = 1 AND datefield < DateAdd("d",date(),7)"
Tak men:
strSQL = strSQL & "AND AND clipDato < DateAdd("d",date(),7) "
-----------------------------------------------^
Det skulle pege på "d" ...
det her er det tætteste på noget der virker, men det giver ikke lissom de sidste 7 dage:
strSQL = strSQL & "AND DATE_ADD(clipDato, INTERVAL 7 DAY) > Now() "
Bliver ikke rigig klog på MySql manualen her:
http://dev.mysql.com/ (...)
Det her gir ingen records:
strSQL = strSQL & "AND clipDato BETWEEN DATE_SUB(now(), INTERVAL 7 DAY) AND now() "
strSQL = "SELECT * FROM clip WHERE clipAktivt = 1 AND clipDato < DateAdd("d",date(),7)"
' når du laver dette - DateAdd("d",date(),7) - så lægger du 7 dage til dagsdato
datofeltet som jeg tro hedder clipDato er det sat til dato format
7_dage = DateAdd("d",date(),7)
hvis det er mysql db så:
ny_dato = year(7_dage)&"-"&month(7_dage)&"-"&day(7_dage)
strSQL = "SELECT * FROM clip WHERE clipAktivt = 1 AND clipDato < '"&ny_dato&"'"
hvis det er access db så:
ny_dato = month(7_dage)&"-"&day(7_dage)&"-"&year(7_dage)
strSQL = "SELECT * FROM clip WHERE clipAktivt = 1 AND clipDato < #"&ny_dato&"#"
Tak mitbrugernavn, men stadig ingen udvælgelse af de sidste 7 dage sker.
Hov, korrektion:
Tegnet er ugyldigt, siges der - sltså det må være underscore...
clipDate feltet er alm. tekstfelt af andre grunde, men det burde kunne anvendes.
strSQL = "SELECT * FROM clip WHERE clipAktivt = 1 AND cdate(clipDato) > '"&ny_dato&"'"
men tjek lige hvordan ny_dato skal stå dd-mm-yyyy eller mm-dd-yyyy eller yyyy-mm-dd
Jeg forstår ikke det med ny_dato. Hvad skal jeg sætte i stedet for ny_dato?
clipDate er af typen varchar.
clipDate feltet indeholder dd-mm-yyyy
Bekræfter at det er MySql database.
Fx year(7_dage) som du skriver kan jeg ikke forstå. hvor kommer 7_dage ind i billedet?
Tak so far...
Jeg kan pinpointe en enkelt dag ad gangen ved brug af ':
'strSQL = strSQL & "AND clipDato = '29-04-2010' "
Følgende virker ikke, tager nogle gamle datoer:
'strSQL = strSQL & "AND clipDato > '" & DateAdd("d",date(),-8) & "' "
Følgende ret klodsede streng virker faktisk:
strSQL = strSQL & "AND (clipDato = '" & DateAdd("d",date(),-7) & "' OR clipDato = '" & DateAdd("d",date(),-6) & "' OR clipDato = '" & DateAdd("d",date(),-5) & "' OR clipDato = '" & DateAdd("d",date(),-4) & "' OR clipDato = '" & DateAdd("d",date(),-3) & "' OR clipDato = '" & DateAdd("d",date(),-2) & "' OR clipDato = '" & DateAdd("d",date(),-1) & "') "
Hvilket giver enskrevet aql sætning:
SELECT * FROM clip WHERE clipAktivt = 1 AND (clipDato = '29-04-2010' OR clipDato = '30-04-2010' OR clipDato = '01-05-2010' OR clipDato = '02-05-2010' OR clipDato = '03-05-2010' OR clipDato = '04-05-2010' OR clipDato = '05-05-2010') AND clipTitel NOT LIKE '%Pause %' order by clipTaeller desc LIMIT 7
Ingen bedre forslag, så jeg lukker...
Min lø
sninghttp://www.eksperten.dk/spm/908919