Connecting Tech Pros Worldwide Forums | Help | Site Map

Syntax error (missing operator) in query expression

isaac2004
Guest
 
Posts: n/a
#1: Feb 21 '06
hello i am getting a weird al syntax error from my SQL statement

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

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing
operator) in query expression 'tblBookDescription.strTitle Where
(((tblCategories.strCategory) = 'Database'))'.

/06Winter/levini/A07/SearchBrowse.asp, line 53


here is my server side code ps. i have already dim strSQL and objRS
prior

<% dim strBrowse

strBrowse = request.querystring("strBrowse")



'sql statement with random book ids
strSQL = "SELECT tblCategories.strCategory, tblBookDescription.ISBN,
tblBookDescription.strTitle, tblBookDescription.strDescription,
tblAuthorsBooks.AuthorID " & _
"FROM (tblBookDescription INNER JOIN tblAuthorsBooks ON
tblBookDescription.ISBN = tblAuthorsBooks.ISBN) INNER JOIN
tblCategories ON tblBookDescription.ISBN = tblCategories.ISBN " & _
"ORDER BY tblBookDescription.strTitle "



'response.write("strSQL = " & strSQL)


if strBrowse > "" then
'browse
strSQL = strSQL & " Where (((tblCategories.strCategory) = '" &
strBrowse & "')); "
end if


response.write("strSQL = " & strSQL)

Set objRS = Server.CreateObject("ADODB.Recordset")

--------------------------------------------------------------error
here
objRS.open strSQL, objConn
-----------------------------------------------------------------

%>

my response write outputs

strSQL = SELECT tblCategories.strCategory, tblBookDescription.ISBN,
tblBookDescription.strTitle, tblBookDescription.strDescription,
tblAuthorsBooks.AuthorID FROM (tblBookDescription INNER JOIN
tblAuthorsBooks ON tblBookDescription.ISBN = tblAuthorsBooks.ISBN)
INNER JOIN tblCategories ON tblBookDescription.ISBN =
tblCategories.ISBN ORDER BY tblBookDescription.strTitle Where
(((tblCategories.strCategory) = 'Database'));

thanx for the help


Bob Barrows [MVP]
Guest
 
Posts: n/a
#2: Feb 21 '06

re: Syntax error (missing operator) in query expression


isaac2004 wrote:[color=blue]
>
> my response write outputs
>
> strSQL = SELECT tblCategories.strCategory, tblBookDescription.ISBN,
> tblBookDescription.strTitle, tblBookDescription.strDescription,
> tblAuthorsBooks.AuthorID FROM (tblBookDescription INNER JOIN
> tblAuthorsBooks ON tblBookDescription.ISBN = tblAuthorsBooks.ISBN)
> INNER JOIN tblCategories ON tblBookDescription.ISBN =
> tblCategories.ISBN ORDER BY tblBookDescription.strTitle Where
> (((tblCategories.strCategory) = 'Database'));
>[/color]

What happens when you open your database in Access, paste this sql statement
into the SQL View of a Query Builder, and try to run it?

--
Microsoft MVP -- ASP/ASP.NET
Please reply to the newsgroup. The email account listed in my From
header is my spam trap, so I don't check it very often. You will get a
quicker response by posting to the newsgroup.


Bob Barrows [MVP]
Guest
 
Posts: n/a
#3: Feb 21 '06

re: Syntax error (missing operator) in query expression


isaac2004 wrote:[color=blue]
> hello i am getting a weird al syntax error from my SQL statement
>[/color]
[color=blue]
>
> my response write outputs
>
> strSQL = SELECT tblCategories.strCategory, tblBookDescription.ISBN,
> tblBookDescription.strTitle, tblBookDescription.strDescription,
> tblAuthorsBooks.AuthorID FROM (tblBookDescription INNER JOIN
> tblAuthorsBooks ON tblBookDescription.ISBN = tblAuthorsBooks.ISBN)
> INNER JOIN tblCategories ON tblBookDescription.ISBN =
> tblCategories.ISBN ORDER BY tblBookDescription.strTitle Where
> (((tblCategories.strCategory) = 'Database'));
>
> thanx for the help[/color]
Actually, it's not a weird error at all: it's the error one should expect to
get when trying to put the WHERE clause after the ORDER BY clause.
The clauses need to be in the correct order:
SELECT ...
FROM ...
WHERE ...
GROUP BY ...
HAVING ...
ORDER BY ...

Bob Barrows
--
Microsoft MVP -- ASP/ASP.NET
Please reply to the newsgroup. The email account listed in my From
header is my spam trap, so I don't check it very often. You will get a
quicker response by posting to the newsgroup.


Closed Thread