Halloj har en Access med en kolumn som heter RecDate (som är Datum/Tid) och som jag lägger datum i. Nu skulle jag vilja ha ut alla rader som lagt in i Mars 2005 och har således försökt med: ta bort = tecknet Ah, ja det där med = tecknet kom jag på, men det funkade ändå inte.. Däremot så funkade den andra varianten med left alldeles utmärkt. Pelles svar kan bli fel när servern inte har svenskt datumformat, det är dumt att göra om datum till strängar och göra jämförelser om man inte specificerar datumformatet. Mitt förslag är att göra såhär istället: Lysande.. Tack för det.. Man vet ju inte alltid vart saker och ting hamnar i långa loppet.. :) Problemet är ju löst men prova byta # mot '. Jag vet inte vilken version av access som kräver # och vilken som vill ha ' runt datum, men du kan ju testa. Att använda något där man använder strängar för att kolla ett datum (likt de första förslagen) borde vara spöstraff på. Har du någon gång underhållt ett system (som översatts till flera språk eller kör på olika grundinställningar för operativsystemet) där ursprungliga utvecklaren inte använde riktiga datumfunktioner så vet du. Har varit med om exempelvis buggar som uppkommer 2001-01-02. Och kom inte och säg att det bara skulle vara för ett litet internt exempel eller liknande för någon annan kommer antagligen att använda det till något annat! För att spinna vidare lite.. Hur selekterar man någon rad som är tom i datumfältet?? > Alla versioner av Access kör väl med #!?!Select med viss del av datum
<code>
SQL = "SELECT ID,sID,sRec,RecDate FROM Thumb WHERE RecDate LIKE = #"& dtDate &"%# ORDER BY RecDate DESC"
</code>
Men det vill den inte alls vara med om, en response.write på SQL:en ger
<code>
SELECT ID,sID,sRec,RecDate FROM Thumb WHERE RecDate LIKE = #2005-03%# ORDER BY RecDate DESC
</code>
och felet blir:
Syntax error in date in query expression 'RecDate LIKE #2005-03%#'.
Någon som har någon koll på vad jag gör för fel???
/JohannesSv: Select med viss del av datum
SELECT ID,sID,sRec,RecDate FROM Thumb WHERE RecDate LIKE #2005-03%# ORDER BY RecDate DESC
sen vette sjutton om det där går, du kanske också kan testa:
SELECT ID,sID,sRec,RecDate FROM Thumb WHERE left(RecDate,7) = '2005-03' ORDER BY RecDate DESCSv:Select med viss del av datum
Tack så mycket för den snabba hjälpen! :-)
/JohannesSv: Select med viss del av datum
WHERE YEAR(RecDate) = 2005 AND MONTH(RecDate) = 3
/JohanSv:Select med viss del av datum
Sv: Select med viss del av datum
Sv:Select med viss del av datum
/BennySv: Select med viss del av datum
Sv: Select med viss del av datum
Alla versioner av Access accepterar # runt datum. Nyare versioner lär även acceptera apostrofer runt datum.