BETWEEN
Jeg skal finde alle posterne der har en pris mellem en minimum og en maksimum pris.Lad os sige jeg har en post hvor prisen er 1000000
Indtaster man PrisMin=2 og PrisMax=2000000 finder den ingen resultater, hvis man indtaster PrisMin=0000002 og PrisMax=2000000 finder den posten.
I databasen er Prisfelttypen ”tekst” laver jeg den om til tal får jeg følgende :
Microsoft OLE DB Provider for ODBC Drivers fejl '80040e07'
[Microsoft][ODBC Microsoft Access-driver] Datatyperne stemmer ikke overens i kriterieudtrykket.
Her er lidt af koden :
strKeyword = Trim(Request.Form("Ejendomstype"))
strPris = Trim(Request.Form("PrisMin"))
strPrisMax = Trim(Request.Form("PrisMax"))
If Len(strKeyword) = 0 Then
Response.Clear
Response.Redirect("search.htm")
Else
strKeyword = Replace(strKeyword,"'","''")
strPris = Replace(strPris,"'","''")
strPrisMax = Replace(strPrisMax,"'","''")
End If
strSQL = "SELECT ID, Ejendomstype, Ejendomstypetext, Pris, Stor, Amt, Amttext, Kommune, Kommunetext, By, Bytext, Beskrivelse FROM Ejendomme WHERE"
strSQL = strSQL & " (Ejendomstype ='" & strKeyword & "')"
strSQL = strSQL & " AND (Pris Between '" & strPris & "' And '" & strPrisMax & "')"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("search_2000.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN
Set rs = myConn.Execute(strSQL)
Osv...