Help - convert numeric to alpha currency 
Author Message
 Help - convert numeric to alpha currency

I would like to know how to convert alpha to numeric currency.  I found the
following code in the Access network, but don't know enough about Visual Basic
to make it work.  I want a control in a form which is numeric to automatically
set a seperate control to alpha.  Any help with this is greatly appreciated!
Please see the following copywrited code.

'Code Courtesy of
'Joe Foster
'
' Convert a currency value into an (American) English string
Function English (ByVal N As Currency) As String

    Const Million = Thousand * Thousand
    Const Billion = Thousand * Million
    Const Trillion = Thousand * Billion



    Dim Frac As Currency: Frac = Abs(N - Fix(N))

    Dim AtLeastOne As Integer: AtLeastOne = N >= 1

    If (N >= Trillion) Then
        Debug.Print N
        Buf = Buf & EnglishDigitGroup(Int(N / Trillion)) & " trillion"
        N = N - Int(N / Trillion) * Trillion ' Mod overflows

    End If

    If (N >= Billion) Then
        Debug.Print N
        Buf = Buf & EnglishDigitGroup(Int(N / Billion)) & " billion"
        N = N - Int(N / Billion) * Billion ' Mod still overflows

    End If

    If (N >= Million) Then
        Debug.Print N
        Buf = Buf & EnglishDigitGroup(N \ Million) & " million"
        N = N Mod Million

    End If

    If (N >= Thousand) Then
        Debug.Print N
        Buf = Buf & EnglishDigitGroup(N \ Thousand) & " thousand"
        N = N Mod Thousand

    End If


        Debug.Print N
        Buf = Buf & EnglishDigitGroup(N)
    End If


        Buf = Buf & " exactly"

        If AtLeastOne Then Buf = Buf & " and "

    Else
        If AtLeastOne Then Buf = Buf & " and "

    End If

    English = Buf
End Function

' Support function to be used only by English()
Private Function EnglishDigitGroup (ByVal N As Integer) As String
    Const Hundred = " hundred"
    Const One = "one"
    Const Two = "two"
    Const Three = "three"
    Const Four = "four"
    Const Five = "five"
    Const Six = "six"
    Const Seven = "seven"
    Const Eight = "eight"
    Const Nine = "nine"
    Dim Buf As String: Buf = ""
    Dim Flag As Integer: Flag = False

    'Do hundreds
    Select Case (N \ 100)
    Case 0: Buf = "":  Flag = False
    Case 1: Buf = One & Hundred: Flag = True
    Case 2: Buf = Two & Hundred: Flag = True
    Case 3: Buf = Three & Hundred: Flag = True
    Case 4: Buf = Four & Hundred: Flag = True
    Case 5: Buf = Five & Hundred: Flag = True
    Case 6: Buf = Six & Hundred: Flag = True
    Case 7: Buf = Seven & Hundred: Flag = True
    Case 8: Buf = Eight & Hundred: Flag = True
    Case 9: Buf = Nine & Hundred: Flag = True
    End Select

    If (Flag <> False) Then N = N Mod 100
    If (N > 0) Then
        If (Flag <> False) Then Buf = Buf & " "
    Else
        EnglishDigitGroup = Buf
        Exit Function
    End If

    'Do tens (except {*filter*}s)
    Select Case (N \ 10)
    Case 0, 1: Flag = False
    Case 2: Buf = Buf & "twenty": Flag = True
    Case 3: Buf = Buf & "thirty": Flag = True
    Case 4: Buf = Buf & "forty": Flag = True
    Case 5: Buf = Buf & "fifty": Flag = True
    Case 6: Buf = Buf & "sixty": Flag = True
    Case 7: Buf = Buf & "seventy": Flag = True
    Case 8: Buf = Buf & "eighty": Flag = True
    Case 9: Buf = Buf & "ninety": Flag = True
    End Select

    If (Flag <> False) Then N = N Mod 10
    If (N > 0) Then
        If (Flag <> False) Then Buf = Buf & "-"
    Else
        EnglishDigitGroup = Buf
        Exit Function
    End If

    'Do ones and {*filter*}s
    Select Case (N)
    Case 0: ' do nothing
    Case 1: Buf = Buf & One
    Case 2: Buf = Buf & Two
    Case 3: Buf = Buf & Three
    Case 4: Buf = Buf & Four
    Case 5: Buf = Buf & Five
    Case 6: Buf = Buf & Six
    Case 7: Buf = Buf & Seven
    Case 8: Buf = Buf & Eight
    Case 9: Buf = Buf & Nine
    Case 10: Buf = Buf & "ten"
    Case 11: Buf = Buf & "eleven"
    Case 12: Buf = Buf & "twelve"
    Case 13: Buf = Buf & "thir{*filter*}"
    Case 14: Buf = Buf & "four{*filter*}"
    Case 15: Buf = Buf & "fif{*filter*}"
    Case 16: Buf = Buf & "six{*filter*}"
    Case 17: Buf = Buf & "seven{*filter*}"
    Case 18: Buf = Buf & "eigh{*filter*}"
    Case 19: Buf = Buf & "nine{*filter*}"
    End Select

    EnglishDigitGroup = Buf
End Function
'************ Code End **********



Sat, 26 Apr 2003 03:00:00 GMT  
 Help - convert numeric to alpha currency

Create a module and paste the function.

on your form:

On the After Update event on the numeric text box:

me![AlphaTextBoxName] =  English(Me![NumericTextBoxName])


Quote:
> I would like to know how to convert alpha to numeric currency.  I found
the
> following code in the Access network, but don't know enough about Visual
Basic
> to make it work.  I want a control in a form which is numeric to
automatically
> set a seperate control to alpha.  Any help with this is greatly
appreciated!
> Please see the following copywrited code.



Sat, 26 Apr 2003 03:00:00 GMT  
 
 [ 2 post ] 

 Relevant Pages 

1. How do I increment Alpha-Numeric Strings?

2. determining if a string is alpha or numeric

3. Alpha+Numeric sorting (long listing)

4. Looking for Alpha-numeric paging module

5. Alpha-Numeric sorting?

6. VB with Alpha Numeric Pager

7. looking for alpha-numeric paging module

8. Alpha Numeric Pager Code

9. Looking for Alpha-Numeric paging routines

10. Alpha to Numeric conversion required

11. Code to create a random alpha-numeric password?

12. Alpha-Numeric Keyboard layout on screen OCX or Form

 

 
Powered by phpBB® Forum Software