String Parse Question

Posted on 2006-11-29
Last Modified: 2010-05-03
Hello all.  I have a file name such as this:

DSDAD FR6503 111806.txt

I need to grab the date in this the 111906.  What string parse can I use?  thanks all
Question by:sbornstein2
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
LVL 29

Accepted Solution

Nightman earned 125 total points
ID: 18038873
If the length and format is consistent:

strTemp = "DSDAD FR6503 111806.txt"
MsgBox (DateSerial("20" & Mid(strTemp, 18, 2), Mid(strTemp, 14, 2), Mid(strTemp, 16, 2)))

Author Comment

ID: 18038935
Is there a way I can first grab the text of 111806 and then check if it is a date?  I think this would be easiest and then just set that to a date variable I have.

Author Comment

ID: 18039083
also the file name could be different I need to work from left to right to grab it I think.  The date will always be MMDDYY.
Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.

LVL 29

Expert Comment

ID: 18039532
You could parse it out and use the IsDate(expression) - returns a boolean - if you want.
What do you mean about the file name being different? What other permutations are there?

Author Comment

ID: 18039763
well your using a mid and the beginning of that file name prior to the date can possibly be different.  I think I am going to do this which is safer.

 strFileDate = Trim(Mid(myFile, InStr(myFile, ".txt") - 6, 6))
    If Len(strFileDate) = 6 Then
        strFileDate = Left(strFileDate, 2) & "/" & Mid(strFileDate, 3, 2) & _
            "/" & Format(Right(strFileDate, 1), "00")
    End If
    'Get File Date - if invalid write to error log and skip file
    If IsDate(strFileDate) = False Then
    End If
LVL 29

Expert Comment

ID: 18039857
Your's is safer, true, but that's why I asked about the format. A fixed format makes for easier (and more efficient) code. And means that a simple answer would also do ;)


Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Have you ever wanted to restrict the users input in a textbox to numbers, and while doing that make sure that they can't 'cheat' by pasting in non-numeric text? Of course you can do that with code you write yourself but it's tedious and error-prone …
You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question