Avatar billede thomas_r Nybegynder
24. februar 2000 - 10:22 Der er 3 kommentarer og
1 løsning

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...
Avatar billede blackthorne Nybegynder
24. februar 2000 - 10:40 #1
er pris en heltal værdi eller string, hvis den er så kan du gøre dette
SELECT ID, Ejendomstype, Ejendomstypetext, Pris, Stor, Amt, Amttext, Kommune, Kommunetext, By, Bytext, Beskrivelse
FROM Ejendomme
WHERE Convert(Integer, Pris) BETWEEN Convert(integer, PrisMin) AND Convert(Integer, PrisMax)
Avatar billede thomas_r Nybegynder
24. februar 2000 - 11:03 #2
Så skriver den bare :

Microsoft OLE DB Provider for ODBC Drivers fejl '80040e14'

[Microsoft][ODBC Microsoft Access-driver] Der er en ikke-defineret funktion "Convert" i udtrykket.


PrisMin og PrisMax ligger ikke i databasen men indtastes i en form.
Avatar billede blackthorne Nybegynder
24. februar 2000 - 11:08 #3
Er det ikke en SQL Server du tilgår eller er det access 2000 (ellers er det forkert gruppe)
Avatar billede sjensen Nybegynder
24. februar 2000 - 12:44 #4
Thomas_r,

Husk at svare på dette spm og accepter svaret nu hvor du har fået svar på det gennem det andet spm.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester