[AccessD] Treat string as array

A.D.Tejpal adtp at airtelmail.in
Tue Mar 25 00:31:56 CDT 2008


    Function Fn_ConvStringToArray(), as given below, returns an array, so that individual characters of input string get placed in individual elements of the array.

    Note - The three line block of code involving For/Next loop could have been replaced by a single statement using String() function. However, String() function recognizes only one character as its last argument.

A.D.Tejpal
------------

' Code to be placed in VBA module
'=============================
Function Fn_ConvStringToArray(StrInput _
                                As String) As Variant
    Dim Fmt As String, Cnt As Long
    
    For Cnt = 1 To Len(StrInput)
        Fmt = Fmt & "~@"
    Next
    ' Strip leading ~
    Fmt = Mid(Fmt, 2)
    Fn_ConvStringToArray = _
                Split(Format(StrInput, Fmt), "~")
End Function
'=============================

  ----- Original Message ----- 
  From: jwcolby 
  To: 'Access Developers discussion and problem solving' 
  Sent: Monday, March 24, 2008 22:19
  Subject: Re: [AccessD] Treat string as array


  Michael,

  Split() only works on delimited strings.  It is designed to break a string
  of words (for example) into an array of the words.  In that case it would
  use the spaces as the delimiter.

  I am trying to take any string and put the INDIVIDUAL CHARACTERS OF THE
  STRING into INDIVIDUAL ELEMENTS of an array. If I gave you a string of
  "12345asdfg" and you pass that to split you would get (I assume)
  "12345asdfg" back in one element of an array.  I need 1 in the first
  element, 2 in the next element, 3 in the next element etc.

  Go back to the very beginning of this thread and look at what I asked for.

  >> How can I turn a string into an array?  I need to iterate through the 
  >> characters of a string.
  >>
  >> For each char in str
  >> dosomething char
  >> Next char

  Arrays have iterators (for each next).  Strings do not.

  John W. Colby
  Colby Consulting
  www.ColbyConsulting.com 
  -----Original Message-----
  From: accessd-bounces at databaseadvisors.com
  [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael Bahr
  Sent: Monday, March 24, 2008 12:37 PM
  To: Access Developers discussion and problem solving
  Subject: Re: [AccessD] Treat string as array

  Ok, but the principles still apply.  Try this
  http://www.vbforums.com/showthread.php?t=470268

  and for reference
  http://www.codeguru.com/forum/archive/index.php/t-250108.html
  http://www.thescripts.com/forum/thread13305.html

  Mike...


  > Thanks.  VBA.
  >
  >
  > John W. Colby
  > Colby Consulting
  > www.ColbyConsulting.com
  > -----Original Message-----
  > From: accessd-bounces at databaseadvisors.com
  > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Michael 
  > Bahr
  > Sent: Sunday, March 23, 2008 8:21 PM
  > To: Access Developers discussion and problem solving
  > Subject: Re: [AccessD] Treat string as array
  >
  > JOhn, take a look here
  > http://www.thescarms.com/dotnet/dotnetstring.aspx
  >
  > Mike...
  >
  >
  >> How can I turn a string into an array?  I need to iterate through the 
  >> characters of a string.
  >>
  >> For each char in str
  >> dosomething char
  >> Next char
  >>
  >> John W. Colby
  >> Colby Consulting
  >> www.ColbyConsulting.com


More information about the AccessD mailing list