Avatar billede hwks Nybegynder
22. december 2006 - 19:34 Der er 5 kommentarer og
1 løsning

Syntax error (missing operator) in query expression

Hej eksperter

Er der nogen, der kan gennemskue, hvad der går galt her?

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'tbl_equiv.usexFROM tbl_lemmaINNER JOIN tbl_equiv ON tbl_lemma.id_lemma = tbl_equiv.fr_lemma WHERE tbl_lemma.lemma LIKE '%%' OR tbl_equiv.equiv LIKE '%%' OR tbl_equiv.dkex LIKE '%%' OR tbl_equiv.usex LIKE '%%'ORDER BY LCase(tbl_lemma.lemma)'.

/searchresults.asp, line 170

og linje 170 er:

Set rs = myConn.Execute(strSQL)

Jeg har kontrolleret for syntaksfejl og reserverede navne + kontrolleret alt (mener jeg….)

SQL-sætning etc. ser således ud:

<%
Dim myConn
Dim DSN
Dim searchText

set myConn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("test.mdb")
myConn.Open DSN

searchText = replace(request.form("text"),"'","''")
if searchText = "" then
  searchText = replace(request.querystring("search"),"'","''")
end if

'SQL-sætning henter data

strSQL = "SELECT tbl_lemma.id_lemma" & _
", tbl_lemma.lemma" & _
", tbl_equiv.id_equiv" & _
", tbl_equiv.equiv" & _
", tbl_equiv.dkex" & _
", tbl_equiv.usex" & _
"FROM tbl_lemma" & _
"INNER JOIN tbl_equiv ON tbl_lemma.id_lemma = tbl_equiv.fr_lemma" & _
"WHERE " & _
" tbl_lemma.lemma LIKE '%" & searchText & "%'" & _
" OR tbl_equiv.equiv LIKE '%" & searchText & "%'" & _
" OR tbl_equiv.dkex LIKE '%" & searchText & "%'" & _
" OR tbl_equiv.usex LIKE '%" & searchText & "%'" & _
"ORDER BY LCase(tbl_lemma.lemma) "

Set rs = myConn.Execute(strSQL)

%>

Any ideas?

hwks
Avatar billede helmet Nybegynder
22. december 2006 - 19:46 #1
Du skal sørge for at der er mellemrum før FROM, INNER, WHERE og ORDER BY
strSQL = "SELECT tbl_lemma.id_lemma" & _
", tbl_lemma.lemma" & _
", tbl_equiv.id_equiv" & _
", tbl_equiv.equiv" & _
", tbl_equiv.dkex" & _
", tbl_equiv.usex " & _
"FROM tbl_lemma " & _
"INNER JOIN tbl_equiv ON tbl_lemma.id_lemma = tbl_equiv.fr_lemma " & _
"WHERE " & _
" tbl_lemma.lemma LIKE '%" & searchText & "%'" & _
" OR tbl_equiv.equiv LIKE '%" & searchText & "%'" & _
" OR tbl_equiv.dkex LIKE '%" & searchText & "%'" & _
" OR tbl_equiv.usex LIKE '%" & searchText & "%'" & _
" ORDER BY LCase(tbl_lemma.lemma) "
Avatar billede windcape Praktikant
22. december 2006 - 19:47 #2
Som fejlen selv skriver, er det fordi du mangler et mellemrum:

", tbl_equiv.usex" & _
"FROM tbl_lemma" & _

skal være

", tbl_equiv.usex" & _
" FROM tbl_lemma" & _

og du har samme fejl nær din INNER JOIN :-)
Avatar billede windcape Praktikant
22. december 2006 - 19:51 #3
damn, too slow :D
Avatar billede hwks Nybegynder
22. december 2006 - 20:14 #4
HOLD da op....det gik hurtigt... og nu virker det jo! Stor respekt gentlemen! Kast et svar, så skal du få point helmet :) Også tak til dig windcape!
Avatar billede helmet Nybegynder
22. december 2006 - 22:48 #5
Det var så lidt, og så et svar.
Avatar billede hwks Nybegynder
26. december 2006 - 12:58 #6
Tak for det - og god jul!
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