Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Microsoft VBScript compilation error '800a0401'  Expected end of statement

Posted on 2016-09-12
15
Medium Priority
?
335 Views
Last Modified: 2016-09-12
Hi All getting this bizare error... cannot figure it out
Set Header=oConn.Execute("SELECT * FROM codes WHERE code_live=TRUE ORDER BY RND(-10000000*TimeValue(Now())*code_ID)")

Open in new window

Microsoft VBScript compilation error '800a0401'

Expected end of statement

/home2.asp, line 133

HeaderPic=SubDomain("brand_ID")&"-header-"&Header("code_short")&".jpg"
------------------------------------------^

Open in new window


ideas?
0
Comment
Question by:Graeme
  • 7
  • 5
  • 3
15 Comments
 
LVL 34

Expert Comment

by:Big Monty
ID: 41794315
Are SubDomain and Header recordset objects?

if you run the query directly in your database, do you get results back?

Can you provide a bit more code, maybe 10 lines worth before and after line 133?
0
 
LVL 82

Expert Comment

by:hielo
ID: 41794323
Are you sure the query is successful? Try:
On Error Resume Next
Set Header=oConn.Execute("SELECT * FROM codes WHERE code_live=TRUE ORDER BY RND(-10000000*TimeValue(Now())*code_ID)")
If Err.number<>0  Then
   Response.Write("SELECT query failed")
   Response.Write( Err.Description )
End If

Open in new window

0
 

Author Comment

by:Graeme
ID: 41794325
I have just run it in the database, it is showing up the objects that I expect (which is 3)

when I response.write(header("code_short")) is shows correct as well, its when I put it into a shortcut (HeaderPic=etc) is where the issue comes up

it was a direct cut and paste from one of my the older version of the same site, there is no difference code, database, tables, columns or data

will try your test code, brb
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:Graeme
ID: 41794327
exactly the same:
Microsoft VBScript compilation error '800a0401'

Expected end of statement

/home2.asp, line 138 (because of extra lines)

HeaderPic=SubDomain("brand_ID")&"-header-"&Header("code_short")&".jpg"
------------------------------------------^

Open in new window

0
 
LVL 34

Expert Comment

by:Big Monty
ID: 41794331
can you provide additional code so I have some sort of context in the way you're using it?
0
 

Author Comment

by:Graeme
ID: 41794344
<%
	Set oConn=Server.CreateObject("ADODB.Connection")
	oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("core/allcore.mdb")
	If SubDomain("brand_ID")="GPT" Then
		Set Header=oConn.Execute("SELECT * FROM codes WHERE code_live=TRUE ORDER BY RND(-10000000*TimeValue(Now())*code_ID)")
		Response.Write(Header("code_short"))
		HeaderPic=SubDomain("brand_ID")&"-header-"&Header("code_short")&".jpg"
'	ElseIf SubDomain("brand_header")="rotate" Then
'		Set Header=oConn.Execute("SELECT * FROM site_menu WHERE brand_ID="&SubDomain("brand_ID")&" AND menu_live=TRUE ORDER BY RND(-10000000*TimeValue(Now())*menu)")
'		Response.Write(Header("menu"))
'		HeaderPic=SubDomain("brand_ID")&"-header-"&Header("menu")&".jpg"
'	ElseIf SubDomain("brand_header")="still" Then
'		HeaderPic=SubDomain("brand_ID")&"_header.jpg"
	End If
%>
<td width=1330 height=300 align=center valign=bottom colspan=2 background="http://members.amnet.net.au/~webber4/<%=HeaderPic%>" style="background-size:cover;background-position:center,center" rowspan=2>

Open in new window

0
 
LVL 34

Expert Comment

by:Big Monty
ID: 41794371
are you sure Header("code_short") contains a value?
0
 

Author Comment

by:Graeme
ID: 41794420
yes Header("code_short") contains either WEC or F1 or MGP

the response.write above it shows that each time i use it and comment out HeaderPic
0
 
LVL 82

Expert Comment

by:hielo
ID: 41794428
try using the fully qualified path to the field value -- Header.Fields("code_short").Value :

<%
Dim HeaderPic
HeaderPic=""
	Set oConn=Server.CreateObject("ADODB.Connection")
	oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("core/allcore.mdb")
	If SubDomain("brand_ID")="GPT" Then
        On Error Resume Next
        Set Header=oConn.Execute("SELECT * FROM codes WHERE code_live=TRUE ORDER BY RND(-10000000*TimeValue(Now())*code_ID)")
        If Err.number<>0  Then
           Response.Write("SELECT query failed")
           Response.Write( Err.Description )
			Response.End
        End If
		
		'Response.Write(Header("code_short"))
		HeaderPic=SubDomain("brand_ID") & "-header-" & Header.Fields("code_short").Value & ".jpg"
'	ElseIf SubDomain("brand_header")="rotate" Then
'		Set Header=oConn.Execute("SELECT * FROM site_menu WHERE brand_ID="&SubDomain("brand_ID")&" AND menu_live=TRUE ORDER BY RND(-10000000*TimeValue(Now())*menu)")
'		Response.Write(Header("menu"))
'		HeaderPic=SubDomain("brand_ID")&"-header-"&Header("menu")&".jpg"
'	ElseIf SubDomain("brand_header")="still" Then
'		HeaderPic=SubDomain("brand_ID")&"_header.jpg"
	End If
%>
<td width=1330 height=300 align=center valign=bottom colspan=2 background="http://members.amnet.net.au/~webber4/<%=HeaderPic%>" style="background-size:cover;background-position:center,center" rowspan=2>

Open in new window

0
 

Author Comment

by:Graeme
ID: 41794436
same error...
Microsoft VBScript compilation error '800a0401'

Expected end of statement

/home2.asp, line 145

HeaderPic=SubDomain("brand_ID")&"-header-"&Header.Fields("code_short").Value&".jpg"
------------------------------------------^

Open in new window

0
 
LVL 34

Accepted Solution

by:
Big Monty earned 2000 total points
ID: 41794505
the code looks fine to me. as long as you're getting values back from the recordset, I can't see where an error would occur.

is the block of code below in any sort of loop?

try the code below, I formatted it for readability, as well as tried a different approach.
<%
Dim HeaderPic
HeaderPic=""
dim brandID, codeShort

	Set oConn=Server.CreateObject("ADODB.Connection")
	oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("core/allcore.mdb")
	If SubDomain("brand_ID")="GPT" Then
        On Error Resume Next
        Set Header=oConn.Execute("SELECT * FROM codes WHERE code_live=TRUE ORDER BY RND(-10000000*TimeValue(Now())*code_ID)")
      		
		'Response.WriteHeader("code_short") 
                codeShort = Header("code_short")
		HeaderPic = SubDomain("brand_ID") _
                  & "-header-" _
                  & codeShort _
                  &".jpg"
                  if err.number <> 0 then response.write err.description
'	ElseIf SubDomain("brand_header")="rotate" Then
'		Set Header=oConn.Execute("SELECT * FROM site_menu WHERE brand_ID="&SubDomain("brand_ID")&" AND menu_live=TRUE ORDER BY RND(-10000000*TimeValue(Now())*menu)")
'		Response.Write(Header("menu"))
'		HeaderPic=SubDomain("brand_ID")&"-header-"&Header("menu")&".jpg"
'	ElseIf SubDomain("brand_header")="still" Then
'		HeaderPic=SubDomain("brand_ID")&"_header.jpg"
	End If
%>

Open in new window

0
 
LVL 82

Expert Comment

by:hielo
ID: 41794506
The only other suggestions I can think of are:
a. Try declaring HeaderPic at the top (like in my post)
b. Try adding spaces around the ampersands (like in my post)
c. Verify that you are actually using double quotes (ascii code34) and not some "fancy double quote" (similar to what MS Word likes to use).  Try opening notepad, type your statement there, then do a cut and paste from notepad onto your code file.

Also, what is SubDomain() doing? If it is querying a db, make sure it returns an actual value (as in Header.Fields("code_short").Value ) and not an "object" (as in Header("code_short") )
0
 

Author Comment

by:Graeme
ID: 41794515
hielo

I copied and pasted your code directly, same error

Yes Subdomain is a query that definatley returns a value

as mentioned before this exact code that I posted was a clean cut and paste from the previous version of the site, no changes to data, table, columns nor code.

just no idea why it is erroring there, whilst the line before I can Reseponse.Write(Header("code_short")) and it gives a value no issues at all
0
 

Author Comment

by:Graeme
ID: 41794532
BigMonty - it works! no idea why it does, but it does!

how strange!
0
 
LVL 34

Expert Comment

by:Big Monty
ID: 41794551
excellent, glad I could help :)
1

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Use these top 10 tips to master the art of email signature design. Create an email signature design that will easily wow recipients, promote your brand and highlight your professionalism.
Originally, this post was published on Monitis Blog, you can check it here . In business circles, we sometimes hear that today is the “age of the customer.” And so it is. Thanks to the enormous advances over the past few years in consumer techno…
In this tutorial viewers will learn how to embed an audio file in a webpage using HTML5. Ensure your DOCTYPE declaration is set to HTML5: : The declaration should display (CODE) HTML5 is supported by the most recent versions of all major browsers…
The viewer will receive an overview of the basics of CSS showing inline styles. In the head tags set up your style tags: (CODE) Reference the nav tag and set your properties.: (CODE) Set the reference for the UL element and styles for it to ensu…

885 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question