Avatar billede klodsmajor Nybegynder
02. december 2002 - 13:10 Der er 12 kommentarer og
1 løsning

FEJL: 0x80040E14

Hej

Når jeg kører dette script:

sql_select = "Select * From biler where tybe = '" & tybe1 & "' " & _
              "And maerke = '" & maerke1 & "' " & _
            "And model = '" & model1 & "' " & _
            "And km =< '" & km1 & "' " & _
            "And aargang = '" & aargang1 & "' " & _
            "And pris =< '" & pris1 & "' " & _
            "And privatforh = '" & privatforh1 & "';"

får jeg følgende fejl:

Fejltype:
Microsoft JET Database Engine (0x80040E14)
Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "tybe = 'Person bil' And maerke = 'volvo' And model = 'S80' And km =< '300000' And aargang = '2001' And pris =< '1000000' And privatforh = 'privat'".
/bilbase/findbil.asp, line 38

Hvorfor ?? Hvad er der gaalt ??

/Klodsmajor
Avatar billede ras2000 Nybegynder
02. december 2002 - 13:12 #1
Du skal ikke have '' om tal. aargang, pris, km er vel tal, men bliver betragtet som tekststrenge når du sætter '' omkring.
Avatar billede neteffect Nybegynder
02. december 2002 - 13:15 #2
skriv <= i stedet for =< (2 steder)
Avatar billede klodsmajor Nybegynder
02. december 2002 - 13:26 #3
Okay, nu har jeg både fjernet '' og skrevet <= de 2 steder og får nu fejl:

Datatyperne stemmer ikke overens i kriterieudtrykket.

Jeg har prøvet at udskrive sql-strengen:

Select * From biler where tybe = 'Person bil' And maerke = 'volvo' And model = 'S80' And km <= 300000 And aargang = 2001 And pris <= 1000000 And privatforh = 'privat';
Avatar billede neteffect Nybegynder
02. december 2002 - 13:30 #4
Det kunne være aargang som alligevel er tekstfelt i databasen
Avatar billede ras2000 Nybegynder
02. december 2002 - 13:33 #5
Du skal se hvordan felterne er defineret i din database, om de er defineret som tal eller tekst. Du vil få nogle underlige resultater, hvis du har defineret km som tekst, og bruger < og >. Men hvis feltet er defineret som tekst, skal du have '' omkring det, hvis det er et tal, skal det ikke have ''.
Avatar billede klodsmajor Nybegynder
02. december 2002 - 13:35 #6
Har lige tjekket db'en og km, aargang og pris er alle defineret som tal.
Avatar billede ras2000 Nybegynder
02. december 2002 - 13:38 #7
Alle de andre er tekst?
Avatar billede klodsmajor Nybegynder
02. december 2002 - 13:58 #8
Ja, de andre er tekst
Avatar billede ras2000 Nybegynder
02. december 2002 - 14:04 #9
Mystifistisk. Så burde du ikke få fejl. Prøv at tage kriterierne en af gangen, så kan du nok se hvilket felt det er der giver dig problemer.
sql_select = "Select * From biler where tybe = '" & tybe1 & "' "
//sql_select = sql_select & "And maerke = '" & maerke1 & "' "
//sql_select = sql_select & "And model = '" & model1 & "' "
//sql_select = sql_select & "And km =< '" & km1 & "' "
//sql_select = sql_select & "And aargang = '" & aargang1 & "' "
//sql_select = sql_select & "And pris =< '" & pris1 & "' "
//sql_select = sql_select & "And privatforh = '" & privatforh1 & "';"
Og så fjern // igen, en efter en.
Avatar billede mikef Nybegynder
02. december 2002 - 14:07 #10
Check også, hvilke taltyper de forskellige felter er!
Avatar billede klodsmajor Nybegynder
02. december 2002 - 14:24 #11
ras2000>> Okay, jeg har nu prøvet det som du har skrevet og af en eller anden mystisk grund ser det ud til at virke. Jeg ved ikke hvad det er som der er blevet ændret, men det virker.
Avatar billede ras2000 Nybegynder
02. december 2002 - 14:30 #12
Nåja, det er vel også det væsentligste, forståelsen kommer helt nede på anden række :)
Avatar billede klodsmajor Nybegynder
02. december 2002 - 14:36 #13
Præcis :o)
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
Kurser inden for grundlæggende programmering

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