Hello and welcome to our community! Is this your first visit?
Register
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
    Location
    Spain
    Posts
    147
    Thanks
    2
    Thanked 0 Times in 0 Posts

    Subscript out of range

    Hi,

    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]'

    Examples:

    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) %>
    <%next%>
    <TABLE border=0>
    <TR>
    </TR>
    <TR>
    <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>

    </TR>
    </TABLE>



    How I fix the error or hidden the error message?


    Thanks in advance for any thoughts.

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

  • #2
    Supreme Master coder! Old Pedant's Avatar
    Join Date
    Feb 2009
    Posts
    25,965
    Thanks
    79
    Thanked 4,429 Times in 4,394 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:
    Code:
    <%
    For n = 0 to 3
        mystring = rs1("texts") 
        myword = strkeyword 
        myarray = Split(mystring, myword, 3, 1) 
    Next
    %>
    The code does the SAME THING THREE TIMES!

    WHY? NOTHING changes in the 3 iterations.

    Maybe you should DEBUG???

    Code:
    <%
    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/>"
    %>
    An optimist sees the glass as half full.
    A pessimist sees the glass as half empty.
    A realist drinks it no matter how much there is.


  •  

    Posting Permissions

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