Du skal ikke ændre noget i databasen. kolonnen skal bare være af en dato datatype. Den må ikke være et tekstfelt...
Du kan med fordel bruge en funktion til at konvertere dine datoer til SQL format:
Function DBDate(byVal fDato) dim SQLYear,SQLMonth,SQLDay fDato = cDate(fDato) SQLYear = Year(fDato) SQLMonth = Month(fDato) SQLDay = Day(fDato) if SQLDay<10 then SQLDay = "0"&SQLDay end if if SQLMonth<10 then SQLMonth = "0"&SQLMonth end if DBDate = "#"& SQLMonth&"-"&SQLDay&"-"&SQLYear &"#" End Function
Så kalder du bare den når du skal bruge datoer. Gør det også nemmere hvis du skifter database, da du så bare ændre funktionen. Læg mærke til at den indsætter #, så man ikke skal alle sine sql i gennem og ændre # til ' hvis man skifter DB.
Koden bliver så noget ala: sql = "Select * from Db where DATO1 Between "& DBDate(request.form("start")) &" AND "& DBDate(request.form("slut"))
Får fejlen: Select * from RFC Where DATO1 BETWEEN '#07-11-2007#' AND '#07-12-2007#' Microsoft OLE DB Provider for ODBC Drivers error '80040e07' [Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression. /CHANGE.asp, line 142
Select * from RFC Where DATO1 BETWEEN '#07-11-2007#' AND '#07-12-2007#' Skal altså blive til: Select * from RFC Where DATO1 BETWEEN #07-11-2007# AND #07-12-2007#
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.