ACC: Sample Function to Remove Alphas from a Numeric Field

Last reviewed: August 29, 1997
Article ID: Q99938
The information in this article applies to:
  • Microsoft Access versions 1.0, 1.1, 2.0, 7.0, 97

SUMMARY

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

This article describes 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 PgmHowTo PgmParse
Version : 1.0 1.1 2.0 7.0 97
Platform : WINDOWS
Hardware : x86
Issue type : kbinfo


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: August 29, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.