Graeme McGilvray
asked on
Microsoft VBScript compilation error '800a0401' Expected end of statement
Hi All getting this bizare error... cannot figure it out
ideas?
Set Header=oConn.Execute("SELECT * FROM codes WHERE code_live=TRUE ORDER BY RND(-10000000*TimeValue(Now())*code_ID)")
Microsoft VBScript compilation error '800a0401'
Expected end of statement
/home2.asp, line 133
HeaderPic=SubDomain("brand_ID")&"-header-"&Header("code_short")&".jpg"
------------------------------------------^
ideas?
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
ASKER
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("cod e_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
when I response.write(header("cod
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
ASKER
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"
------------------------------------------^
can you provide additional code so I have some sort of context in the way you're using it?
ASKER
<%
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>
are you sure Header("code_short") contains a value?
ASKER
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
the response.write above it shows that each time i use it and comment out HeaderPic
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>
ASKER
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"
------------------------------------------^
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
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") )
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"
ASKER
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("co de_short") ) and it gives a value no issues at all
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("co
ASKER
BigMonty - it works! no idea why it does, but it does!
how strange!
how strange!
excellent, glad I could help :)
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?