webForumDet fria alternativet

Olika datumformat

4 svar · 386 visningar · startad av leniz

lenizMedlem sedan aug. 2001676 inlägg
#1

Hej!

Jag försöker få en funktion som visar inlägg som är max 1 vecka gamla med följande kodsnutt:

kod... efterlysning.datumet > '#" & date-8 & "#' and ... kod

Problemet är att det blir i formatet 10/26/2003 och informationen som är lagrat i fältet datumet (med datatypen date) är i formatet 2003-11-03. Därför blir det bara error när jag försöker köra sql:en.

Min fråga är hur jag kan ändra formatet eller hur jag på något annat sätt kan skriva för att få inlägg som är max 1 vecka gamla utifrån formatet 2003-11-03?

Mvh Lena

LarsGMedlem sedan dec. 200012 464 inlägg
#2
where datediff('d',datumet,date) between 0 and 8
lenizMedlem sedan aug. 2001676 inlägg
#3

Hej!

Utskriften av hela sql frågan blir då:

select * from Efterlysning, Lan where (datediff('d',datumet,date) between 0 and 8) and Efterlysning.lan_id = Lan.lan_id and (efterlysning.lan_id = 25) order by EfterlysID desc

och ger felmeddelandet:
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

Har kontrollerat fältnamnen och de stämmer.

Mvh Lena

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Jo, det felmeddelandet brukar ju tyda på felaktiga kolumnnamn.

Om du testar frågan direkt i Access (eller var det det som inte gick för dig?) så brukar man få bättre indikation på vad som den tolkar som en parameter.

Om du byter date mot date() ?

MogMedlem sedan nov. 2003266 inlägg
#5

Detta funkar för mig.

Session.LCID = 1053
SQLstr = "SELECT * FROM tabell WHERE datum > Date()-95"

Session.LCID sätter formatet på datumet till 2003-11-03, samma som jag har i databasen.
datum > Date()-95 väljer alla poster där kolumnen datum är 95 dagar eller nyare.

129 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)