Hej jag försöker göra en sökmotor som kan söka på datum men som jag vet så ser inte datumet i databasen helt ut som det jag söker på, så jag får inte rätt på det.
Har provat men CDate, olika datum formateringar och @nders jag har sökt runt här om det också :)
Det ser ut så här:
SQL = "Select * From varelager Where reserveretdato Like '%19-07-2005%'
AND sletdato is null AND slutdato is null Order By reserveretdato Desc"
Exempel på reserveretdato: 19-07-2005 10:03:03
Och problemet är att jag aldrig hittar något, söker jag på 05 får jag upp några stycken men inte alla som jag borde ifall det var årtalet som den hämtade, det måste vara något formaterings fel men jag vet inte vad?
Är datumet i databasen lagrat i ett datumfält? I så fall, se till att du har ett datum som är formaterat på rätt sätt (du kan exempelvis använda svenskt datumformat i din sökning). Sätt LCID till 1053 på sidan så får du ett datum i riktigt format.
Dessutom: använd inte LIKE annat än när du ska göra fritextsökning på fält med stränginnehåll.
Jepp alla fält jag söker på är datumfält i en access databas men de är inställda på kort datumformat men vad jag vet så är det bara rellevant när man tittar på databasen i access.
Har ersatt LIKE med = men får ändå inte rätt på det, hittade desutom inte LIKE på DevGuru men det är kanske för att det hör till SQL och inte asp?
SQL = "Select * From varelager Where opretdato = CDate('22-06-2005')
AND sletdato is null AND slutdato is null Order By opretdato Desc"
Funkar inte utan CDate heller..
Hur gör jag nu?
Red: LCID har jag haft på sidan hela tiden också, körde med danskt till att börja med, har för mig att det är 1030 men jag har märkt att det är många problem med det så nu kör jag 1053 över hela intranätet...
Nu fungerar det om jag söker på det ända fältet där man själv väljer datum alltså det ända fältet som t ex bara har 22-06-2005 och inget klockslag eller annat.
Söker jag med #2005-06-22# eller #22-06-2005# på t ex 22-06-2005 15:48:28 så hittas den inte. Måste jag inte ta bort tiden via nån formaterings tag först?
SQL = "Select * From " & Tabbe & " Where " & FormatDateTime((Falt),2) & " #" & Request.Querystring("sokord") & "# AND sletdato is null AND slutdato is null Order By " & Falt & " Desc"
Får bara felmess om FormatDateTime då, samma med CDate..
Skulle det inte gå att lösa med DatePart? Alltså att du bygger ihop ditt sökresultat, om jag nu har förstått dig rätt. Något liknande detta kanske?
typ,
'str = Request.Querystring("sokord")
str = "2005-05-21 18:00:00"
' Hämtar året
strYear = Datepart("yyyy", str)
' Hämtar månaden
If Datepart("m", str) < 10 Then
strMonth = "0"& Datepart("m", str)
Else
strMonth = Datepart("m", str)
End if
' Hämtar dagen
strDay = Datepart("d", str)
' Summerar till datum för att göra sökning mot strDate
strDate = strYear &"-"& strMonth &"-"& strDay
SQL = "Select * From " & Tabbe & " Where opretdato = #" & strDate & "# AND sletdato is null AND slutdato is null Order By " & Falt & " Desc"
136 ms totalt · 3 externa anrop · v20260731065814-full.58439ac5