Results 1 to 17 of 17

Thread: Split text with length

Hybrid View

  1. #1

    Thread Starter
    Lively Member
    Join Date
    Feb 2005
    Posts
    81

    Unhappy Split text with length

    Hi,
    I have a textbox with multiline for the address such as:
    18-G, Kuala Kangsar Road, 65890 Ipoh, Perak

    I split it with "," so that each line can be saved to the add1, add2, add3, add4, add5, etc...respectively.
    The result is:
    18-G
    Kuala Kangsar Road
    65890 Ipoh
    Perak

    But I would like to split it with the fixed length, like:
    18-G, Kuala Kangsar Road,
    65890 Ipoh,
    Perak

    Please help in the VB6 coding. Hope my question is clear to you, thanks in advance.
    Viv

  2. #2
    I'm about to be a PowerPoster!
    Join Date
    Jan 2005
    Location
    Everywhere
    Posts
    13,647

    Re: Split text with length

    No it isn't really

    Can you show us exactly what your input is and what you want the output to be?

  3. #3

    Thread Starter
    Lively Member
    Join Date
    Feb 2005
    Posts
    81

    Re: Split text with length

    it is a texbox with multilines setting for user to key in the address.
    I would like to split the address in the format like:
    18-G, Kuala Kangsar Road,
    65890 Ipoh,
    Perak

    and saved each line of the address to different field such as: add1, add2 and add3....

    thanks

  4. #4
    I'm about to be a PowerPoster!
    Join Date
    Jan 2005
    Location
    Everywhere
    Posts
    13,647

    Re: Split text with length

    So each line goes into a different variable.

    What result do you want?

  5. #5

    Thread Starter
    Lively Member
    Join Date
    Feb 2005
    Posts
    81

    Re: Split text with length

    i want to save each line to the different variable in the database.

    so that it can be used for the report. I would like to display the address in seperated line and not a whole one line.

  6. #6
    I'm about to be a PowerPoster!
    Join Date
    Jan 2005
    Location
    Everywhere
    Posts
    13,647

    Re: Split text with length

    You want to access the database from VB? In that case, I can't help you, sorry.
    Which bit of the coding do you need help with?

  7. #7
    Former Admin/Moderator MartinLiss's Avatar
    Join Date
    Sep 1999
    Location
    San Jose, CA
    Posts
    33,431

    Re: Split text with length

    Is this what you want?

    VB Code:
    1. Dim intPos As Integer
    2.     Dim strTest As String
    3.     Dim strAddress As String
    4.    
    5.     strAddress = "18-G, Kuala Kangsar Road, 65890 Ipoh, Perak"
    6.    
    7.     Do Until Len(strAddress) < 31
    8.         strTest = Left$(strAddress, 30)
    9.         intPos = InStrRev(strTest, ",")
    10.         Debug.Print Left$(strAddress, intPos)
    11.         strAddress = Right$(strAddress, Len(strAddress) - intPos)
    12.         ' get rid of the leading space
    13.         If Left$(strAddress, 1) = " " Then
    14.             strAddress = Right$(strAddress, Len(strAddress) - 1)
    15.         End If
    16.     Loop
    17.     ' Show the last part
    18.     Debug.Print strAddress

  8. #8
    Lively Member
    Join Date
    Feb 2005
    Posts
    116

    Re: Split text with length

    Just to point out, though - if a line is longer than 30 characters, it will go into an unending loop.

  9. #9
    Former Admin/Moderator MartinLiss's Avatar
    Join Date
    Sep 1999
    Location
    San Jose, CA
    Posts
    33,431

    Re: Split text with length

    OK, here is a fix.

    VB Code:
    1. Dim intPos As Integer
    2.     Dim strTest As String
    3.     Dim strAddress As String
    4.    
    5.     strAddress = "18-G, Kuala Kangsar Road, 65890 Ipoh, Perak ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
    6.    
    7.     Do Until Len(strAddress) < 31
    8.         strTest = Left$(strAddress, 30)
    9.         intPos = InStrRev(strTest, ",")
    10.         If intPos = 0 Then
    11.             'no comma so look for a space instead
    12.             intPos = InStrRev(strTest, " ")
    13.         End If
    14.         If intPos = 0 Then
    15.             ' no space either so just artificially break it
    16.             intPos = 30
    17.         End If
    18.         Debug.Print Left$(strAddress, intPos)
    19.         strAddress = Right$(strAddress, Len(strAddress) - intPos)
    20.         ' get rid of the leading space
    21.         If Left$(strAddress, 1) = " " Then
    22.             strAddress = Right$(strAddress, Len(strAddress) - 1)
    23.         End If
    24.     Loop
    25.     ' Show the last part
    26.     Debug.Print strAddress

  10. #10
    MS SQL Powerposter szlamany's Avatar
    Join Date
    Mar 2004
    Location
    Connecticut
    Posts
    18,263

    Re: Split text with length

    There should be no comma delimiter between a house (or lot#) and the street name.

    Are the users in your locale used to entering: 123, MAIN STREET??

    Is that comma needed?

    *** Read the sticky in the DB forum about how to get your question answered quickly!! ***

    Please remember to rate posts! Rate any post you find helpful - even in old threads! Use the link to the left - "Rate this Post".

    Some Informative Links:
    [ SQL Rules to Live By ] [ Reserved SQL keywords ] [ When to use INDEX HINTS! ] [ Passing Multi-item Parameters to STORED PROCEDURES ]
    [ Solution to non-domain Windows Authentication ] [ Crazy things we do to shrink log files ] [ SQL 2005 Features ] [ Loading Pictures from DB ]

    MS MVP 2006, 2007, 2008

  11. #11

    Thread Starter
    Lively Member
    Join Date
    Feb 2005
    Posts
    81

    Re: Split text with length

    yes, the user used to put delimiter between a house (or lot#) and the street name.

Posting Permissions

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



Click Here to Expand Forum to Full Width