Avatar billede Laitings Nybegynder
30. april 2002 - 12:11 Der er 7 kommentarer og
2 løsninger

hvor er fejlen??

Dette er en søgemaskine som søger i Access, men når jeg søger får jeg følgende fejl:

Syntax error (missing operator) in query expression '[Fornavn] like '%Joe%' and [Alder] => 12 and [Alder] =< 25'.

Hvorfor kommer den fejl!??



<%
' database forbindelse 
set conndb = Server.CreateObject("ADODB.Connection")
conndb.Open "DSN=Nyt_DSN"

sql = "select * from [PersonTabel] WHERE"

' normale indtastnings felter og dropdowns 
Felt = split("Fornavn,Efternavn,Email",",")

for i = 0 to 2 ' 2 er det antal felter der står i Felt - 1
    if request(Felt(i)) <> "" then
        sql = sql & "[" & Felt(i) & "] like '%" & request(Felt(i)) & "%' and "
        tmpFound = true
    end if
next

sql = sql & "[Alder] => " & request("alder") & " and [Alder] =< " & request("alder2") & "" 'and "
'sql = sql & "[hojte] => " & request("hojte1") & " and [hojte] =< " & request("hojte2") & ""

set rs = conndb.Execute(sql)

if (rs.bof or rs.eof) then
    Response.Write "Der blev ikke fundet noget!"
else
    do while not rs.eof
        Response.Write rs("Fornavn")
    rs.movenext
    loop
end if

Set rs = nothing

conndb.close
Set conndb = nothing
%>


Håber på hjælp!

på forhånd tak!

-Mescalito
Avatar billede _just4fun_ Nybegynder
30. april 2002 - 12:16 #1
Når du sætter  sql = sql & "[" på skal der være et mellemrum. Hvis du skriver sql variablen ud får du sikker noget ala WHERE[Fornavn.... skal være Where [Fornavn]
Avatar billede eagleeye Praktikant
30. april 2002 - 12:17 #2
Prøv at udskrive din SQL-sætning så smid den her.. det reletteere at se fejlen på den måde:

response.write(sql)  '<---------------indsæt her
set rs = conndb.Execute(sql)
Avatar billede Laitings Nybegynder
30. april 2002 - 12:24 #3
Beklager det tager så lant tid, det er ikke lige til
Avatar billede Laitings Nybegynder
30. april 2002 - 12:26 #4
Det er hvad den skriver

select * from [PersonTabel] WHERE[Fornavn] like '%Simon%' and [Alder] => 12 and [Alder] =< 25

??
Avatar billede eagleeye Praktikant
30. april 2002 - 12:27 #5
arh det er også lige meget... Det hedder >= og <= og ikke =< og =>

Ret:
sql = sql & "[Alder] => " & request("alder") & " and [Alder] =< " & request("alder2")

Til:
sql = sql & "[Alder] >= " & request("alder") & " and [Alder] <= " & request("alder2")
Avatar billede eagleeye Praktikant
30. april 2002 - 12:31 #6
Du kan også bruge BETWEEN:

sql = sql & "[Alder] BETWEEN " & request("alder") & " and " & request("alder2")

http://www.w3schools.com/sql/sql_where.asp
Avatar billede _just4fun_ Nybegynder
30. april 2002 - 12:32 #7
Korrekt Syntax er iøvrigt <= og >=
Avatar billede Laitings Nybegynder
30. april 2002 - 12:36 #8
1000 tak! Så virker skidtet sgu'!! Jeg er super taknemmelig!

Jeg deler altså pointsne mellem Jer for den gode indsats! Og det vil jeg IKKE høre sure miner over!!! :)

hep!

-Mescalito
Avatar billede Laitings Nybegynder
30. april 2002 - 12:38 #9
Fed side i øvrigt EagleEye!!!
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

Seneste artiklerRSS
09:00
07:52
07:37
07:32
07:02
06:42
12:00
23/10
23/10
23/10
23/10