Results 1 to 4 of 4
  1. #1
    aellistechsupport is offline Competent Performer
    Windows 7 32bit Access 2013
    Join Date
    Apr 2014
    Posts
    410

    Assistance with the InStr function

    Hello,
    So I can't figure out how to use the InStr in order to extract text between ":" and "for"

    Started with this but I am getting NULL values
    Code:
    MemberType: Trim(Mid([Description],InStr(1,[Description],"Membership: ")+1,IIf(InStr(InStr(1,[Description],"Membership: ")+1,[Description],"Membership: ")=0,0,InStr(InStr(1,[Description],"Membership: ")+1,[Description],"Membership: ")-InStr(1,[Description],"Membership: "))))
    Examples of the data set are as follows:
    Membership: First Family for #6677890
    Membership: LTS - Registration for #1736097
    Membership: New Learn To Skate Member for #1733571
    Membership: Renewing Learn To Skate Instructor for #1622065
    Membership: Subsequent Family for #1739282

    and so on

    What's consistent:
    1. all records start with "Membership: " so the first part of it would be after "Membership: "
    2. all records have "for #" so before "for #"

    Need to extract out what's in between "Membership: " and "for #" - see bolded and italicized parts from above

  2. #2
    JoeM is offline VIP
    Windows 7 32bit Access 2007
    Join Date
    Jun 2012
    Posts
    3,904
    Because "Membership: " is constant, you can simple use:
    Code:
    MemberType: Mid([Description],13,InStr([Description]," for #")-12)

  3. #3
    orange's Avatar
    orange is offline Moderator
    Windows 10 Access 2010 32bit
    Join Date
    Sep 2009
    Location
    Ottawa, Ontario, Canada; West Palm Beach FL
    Posts
    16,726
    Try this for the Renewing example

    Code:
    Sub testInstr()
    Dim s As String: s = "Membership: Renewing Learn To Skate Instructor for #1622065"
    ' below is based on Mid(s,start,end-start)   where end-start =length
    Debug.Print Trim(Mid(s, InStr(s, ":") + 1, InStr(s, "for")-1 - InStr(s, ":") ))
    End Sub

    Result is Renewing Learn To Skate Instructor


    Good luck

  4. #4
    aellistechsupport is offline Competent Performer
    Windows 7 32bit Access 2013
    Join Date
    Apr 2014
    Posts
    410
    Quote Originally Posted by JoeM View Post
    Because "Membership: " is constant, you can simple use:
    Code:
    MemberType: Mid([Description],13,InStr([Description]," for #")-12)
    Thank you very much!
    I just added TRIM

Please reply to this thread with any new information or opinions.

Similar Threads

  1. InStr Help
    By MTSPEER in forum Programming
    Replies: 18
    Last Post: 09-07-2017, 07:34 AM
  2. Replies: 2
    Last Post: 04-07-2016, 07:19 AM
  3. Replies: 2
    Last Post: 07-27-2015, 08:26 AM
  4. IIF with instr
    By yoili in forum Reports
    Replies: 2
    Last Post: 01-22-2013, 01:32 PM
  5. Using InStr() inside Mid()
    By urbi in forum Programming
    Replies: 12
    Last Post: 06-06-2012, 12:00 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Other Forums: Microsoft Office Forums