Ojdå..nu blev det lite jobbigt här. Du bör lagra allt i en kolumn som är av typen datum, allt blir betydligt lättare då. Du kan t.ex. plocka fram år, månad, dag och veckodag på ett mycket enkelt sätt. Okej..jag har också insett detta nu ;o) Eftersom month och day returnerar numeriska värden så skall det inte vara några apostrofer kring de väden du jämför med. Okej, jag hade glömt ta bort ' ' runt där, tackar!Sortera datum
Jag har lagrat i en db lite olika saker, bland annat i tabellen Tavlingar har jag fälten "month" och "day".
I "month" har jag lagt in månaderna i textform, d.v.s. arpril, maj, juni osv...
När jag hämtar allt från tavlingar så gör jag så här:
SELECT * FROM Tavlingar ORDER BY month, day ASC
Detta ger ju, tyvärr, att sakerna listas (i bokstavsordning):
april, 01
april, 22
augusti 01
augusti 14
juni 05
juli 07
osv....
Jag vill ju sortera kronologiskt d.v.s. april 01, 22, maj 04, 07 osv..
Kan jag göra detta eller skall jag lagra månadens nummer i stället, dvs 4 för april, 5 för maj osv i min tabell..!?
Bör jag lagra månad och dag separat eller skall jag lagra allt i 20020402-format?
/PatrikSv: Sortera datum
/JohanSv: Sortera datum
Då kommer ju mitt nästa problem.
SQL-satsen i fråga ser ut så här:
<code>SELECT * FROM Tavlingar WHERE " & Month(datum) & " = '" & currentMonth & "' AND Day(datum) >='" & currentDay & "' ORDER BY Day(datum) ASC</code>
Och requesten så här:
fil.asp?month=april
Nu fungerar inte sakerna som jag vill rktigt, troligen beroende på att jag tänker lite galet här.
Är det någon som förstår min tankegång i SQL-satsen.. :-)
"datum" som jag försöker göra om för att kunna jämföra med min Request.QueryString ligger som ett fält i db:n i format 2002-04-03...
/Patrik - snurrig till max? ;-)Sv: Sortera datum
query = "SELECT * FROM Tavlingar " &_
"WHERE Month(datum) = " & currentMonth & _
" AND Day(datum) >= " & currentDay & _
" ORDER BY Day(datum) ASC "Sv: Sortera datum
<br>
Detta löser dock inte mitt problem.
<br>
När jag skriver ut SQL-satsen så får jag följande:
<br>
<code>SELECT * FROM Tavlingar WHERE 12 = april AND Day(datum) >=03 ORDER BY Day(datum) ASC</code>
<br>
Och detta när jag kör sidan:
<br>
Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
/tavlingsservice/final.asp, line 78
<br>
Länk: (http://support.microsoft.com/default.aspx?scid=kb;en-us;Q216425)
<br><br>
O det är klart jag får det..Day(datum) finns ju inte som en kolumn i min db precis.. :-)
<br>Sen varifrån 12 kommer i från vet jag inte.. Month(datum) genererar iaf detta..
<br><br>
/Patrik