Hello and welcome to our community! Is this your first visit?
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 2 of 2
  1. #1
    Regular Coder
    Join Date
    Oct 2006
    Thanked 0 Times in 0 Posts

    Subscript out of range


    I have a database with a memofield from which I get the entire string after searching the whole text using a keyword (single or complex), but I have a problem, depending on the character in the string, the asp script shows an error:
    Microsoft VBScript runtime error '800a0009' Subscript out of range: '[number: 2]'


    by eighteen fifteen, five thousand chronometers were in use on ships sailing the world's oceans.
    the twenty-six year old singer says her music attempts to reach out for an understanding of othe people's experiences

    The output string stop here with the above error message.

    MY CODE:

    <%For n = 0 to 3%>
    <% mystring = rs1("texts") %>
    <% myword = strkeyword %>
    <% myarray = Split(mystring, myword, 3, 1) %>
    <TABLE border=0>
    <TD width=49% align=right><%Response.Write "<font size=1 face=verdana ><b>" & MyArray(0) & "</b></font>" %> </TD>
    <TD width=1% bgcolor=yellow><%response.write "<font size=1 face=verdana ><b>" & MyWord & "</b></font>" %></TD>
    <TD width=49%><%response.write "<font size=1 face=verdana ><b>" & Myarray(2) & "</b></font>" %> </TD>
    <TD width=1%><%'response.write "<font size=1 face=verdana ><b>" & rs1("fileid") & "</b></font>" %> </TD>


    How I fix the error or hidden the error message?

    Thanks in advance for any thoughts.

    Last edited by lebronletchev; 02-04-2013 at 02:40 AM.

  2. #2
    Supreme Master coder! Old Pedant's Avatar
    Join Date
    Feb 2009
    Thanked 4,947 Times in 4,908 Posts
    The error means that there is *NO* element 2 in the array.

    That is, your SPLIT did *NOT* create at least 3 parts.

    But your code makes NO SENSE anyway:
    For n = 0 to 3
        mystring = rs1("texts") 
        myword = strkeyword 
        myarray = Split(mystring, myword, 3, 1) 
    The code does the SAME THING THREE TIMES!

    WHY? NOTHING changes in the 3 iterations.

    Maybe you should DEBUG???

    mystring = rs1("texts") 
    Response.Write "DEBUG: mystring is ::" & mystring & "::<hr/>"
    myword = strkeyword 
    Response.Write "DEBUG: myword is ::" & myword & "::<hr/>"
    myarray = Split(mystring, myword, 3, 1) 
    Response.Write "DEBUG: UBound(myarray) is " & UBound(myarray) & "<hr/>"
    Be yourself. No one else is as qualified.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts