SQL og ASP
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...