Solved

Count instances of comma in a string

Posted on 2014-03-25
4
700 Views
Last Modified: 2014-03-25
I have strings like this:
"236 A 100, 236 A 100 B, A 100, A 100 R, A 100 S"

I would like to filter in access query grid for strings containing more than two comma's.

So above would get shown:

"236 A 100, 236 A 100 B" this would not.
0
Comment
Question by:PeterBaileyUk
4 Comments
 
LVL 20

Accepted Solution

by:
clarkscott earned 167 total points
ID: 39952787
I'd create a function.  This function splits your text into "sections".  You can count the sections. Since the array will start at zero, the numer that's actually returned should be the correct count.  
Put this in a query along with your text field to examine and query for the number of commas you're looking for. It will return a number.

Function CountCommas (byref YourField as string) as long
dim vArray () as string

vArray = Split(YourField, ",")
CountCommas = ubound(varray)

End Function


You query:  CommaCount:  = CountCommas([YourField])

if CommaCount > 2 then - do something.


Scott C
0
 
LVL 47

Assisted Solution

by:Dale Fye (Access MVP)
Dale Fye (Access MVP) earned 167 total points
ID: 39952821
easiest way is something like:

CommaCount: Len([yourField] & "") - LEN(Replace([YourField] & "", ",", ""))
Criteria: > 2

This simply counts the number of characters in the string, and then the number of characters in the string after having replaced all of the commas with a zero length string.

I tend to add the:

& ""

inside all of my string function calls to avoid the possibility that the function will raise an error if a NULL is passed to it.
0
 
LVL 16

Assisted Solution

by:Kalpesh Chhatrala
Kalpesh Chhatrala earned 166 total points
ID: 39952838
you can count  like below

Function CntCharacterInString(strToSrch As String, strCharToCount As String) As Long
   Dim lPos As Long
   Dim lnTotal As Long
   For lPos = 1 To Len(strToSrch)
      If Mid$(strToSearch, lPos, Len(strCharToCount)) = strCharToCount Then
         lnTotal = lnTotal + 1
      End If
   Next
   CntCharacterInString = lnTotal
End Function

Open in new window

0
 

Author Closing Comment

by:PeterBaileyUk
ID: 39952850
thank you all equally valid, so shared
0

Featured Post

Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Access 2016 7 33
Access sql to sql server express 10 32
Need to Populate a MS Access Table via VBA Code 3 29
FrontEnd tools to create web database application 7 56
Most if not all databases provide tools to filter data; even simple mail-merge programs might offer basic filtering capabilities. This is so important that, although Access has many built-in features to help the user in this task, developers often n…
I see at least one EE question a week that pertains to using temporary tables in MS Access.  But surprisingly, I was unable to find a single article devoted solely to this topic. I don’t intend to describe all of the uses of temporary tables in t…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

770 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