ACC: Sample Function to Remove Alphas from a Numeric Field

ID: Q99938

The information in this article applies to:

SUMMARY

Advanced: Requires expert coding, interoperability, and multiuser skills.

This article shows you how to create a sample Microsoft Access function called RemoveAlphas() to remove alpha, or nonnumeric, characters from an alphanumeric string. All nonnumeric characters will be removed.

A common use for the RemoveAlphas() function is to remove the parentheses, dashes, and spaces from a telephone number or social security number field. The following strings contain parentheses, dashes, and spaces:

   "(206) 635-7050"
   "206-635-7050"
   "535-87-4529"

After the RemoveAlphas() function is run, these strings will be:

   "2066357050"
   "2066357050"
   "535874529"

This article assumes that you are familiar with Visual Basic for Applications and with creating Microsoft Access applications using the programming tools provided with Microsoft Access. For more information about Visual Basic for Applications, please refer to your version of the "Building Applications with Microsoft Access" manual.

NOTE: Visual Basic for Applications is called Access Basic in Microsoft Access versions 1.x and 2.0. For more information about Access Basic, please refer to the "Introduction to Programming" manual in Microsoft Access version 1.x or the "Building Applications" manual in Microsoft Access version 2.0

MORE INFORMATION

The following example demonstrates how to create the RemoveAlphas() function, and how to use it either while data is being entered, or in an update query to remove nonnumeric characters from phone numbers in a table.

How to Create the RemoveAlphas() Function

1. Create a new module.

2. On the Insert menu, click Procedure.

   NOTE: In Microsoft Access 2.0 or earlier, on the Edit menu, click New
   Procedure.

3. Type "RemoveAlphas" (without the quotation marks) in the Name box, and
   select Function in the Type box. Click OK.

4. Type the following function in the Module window:

      Function RemoveAlphas (ByVal AlphaNum as Variant)
         Dim Clean As String
         Dim Pos, A_Char$

         Pos = 1
         If IsNull(AlphaNum) Then Exit Function

         For Pos = 1 To Len(AlphaNum)
            A_Char$ = Mid(AlphaNum, Pos, 1)
            If A_Char$ >= "0" And A_Char$ <= "9" Then
              Clean$ = Clean$ + A_Char$
            End If
         Next Pos

         RemoveAlphas = Clean$

      End Function

5. Save the module with any unique name.

How to Use the RemoveAlphas() Function in Data Entry

You can use the RemoveAlphas() function to remove dashes or parentheses while phone numbers are being typed into a field.

For a field called Phone, add the following code to the AfterUpdate property to the Phone text box on a form:

   Private Sub Phone_AfterUpdate()
      Me![Phone] = RemoveAlphas(Me![Phone])
   End Sub

How to Use the RemoveAlphas() Function in an Update Query

1. Create a new query based on the table with the phone number field.

2. Place the phone number field in the first column of the query grid.

3. On the Query menu, click Update.

4. In the Update To row, enter the following for a field named Phone:

      RemoveAlphas([Phone])

5. Run the query.

Additional query words: ssn hyphens

Keywords          : kbprg
Version           : 1.0 1.1 2.0 7.0 97
Platform          : WINDOWS
Hardware          : x86
Issue type        : kbinfo

Last Reviewed: November 20, 1998