| Home | Forums | Reviews | Articles | Register |
![]() |
| Thread Tools | Rate Thread |
|
=?Utf-8?B?cGF0YW5n?=
Guest
Posts: n/a
|
Could someone please tell me where am I supposed to put this code. Actually
my project has two forms. I created a new module and have put the following code sent by someone. All the function declaration statments (first lines) e.g. Public Function ConvertCurrencyToEnglish(ByVal MyNumber As Double) As String Private Function ConvertHundreds(ByVal MyNumber As String) As String etc. are underlined (blue) and it says "Statement is not valid in namespace". Here is the OLD REPLY --->> Below is the VB.Net code. As Cor said, the changes were minimal...it took me 5min or less the modify it. Public Function ConvertCurrencyToEnglish(ByVal MyNumber As Double) As String Dim Temp As String Dim Dollars, Cents As String Dim DecimalPlace, Count As Integer Dim Place(9) As String Dim Numb As String Place(2) = " Thousand " : Place(3) = " Million " : Place(4) = " Billion " : Place(5) = " Trillion " ' Convert Numb to a string, trimming extra spaces. Numb = Trim(Str(MyNumber)) ' Find decimal place. DecimalPlace = InStr(Numb, ".") ' If we find decimal place... If DecimalPlace > 0 Then ' Convert cents Temp = Left(Mid(Numb, DecimalPlace + 1) & "00", 2) Cents = ConvertTens(Temp) ' Strip off cents from remainder to convert. Numb = Trim(Left(Numb, DecimalPlace - 1)) End If Count = 1 Do While Numb <> "" ' Convert last 3 digits of Numb to English dollars. Temp = ConvertHundreds(Right(Numb, 3)) If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars If Len(Numb) > 3 Then ' Remove last 3 converted digits from Numb. Numb = Left(Numb, Len(Numb) - 3) Else Numb = "" End If Count = Count + 1 Loop ' Clean up dollars. Select Case Dollars Case "" : Dollars = "No Dollars" Case "One" : Dollars = "One Dollar" Case Else : Dollars = Dollars & " Dollars" End Select ' Clean up cents. Select Case Cents Case "" : Cents = " And No Cents" Case "One" : Cents = " And One Cent" Case Else : Cents = " And " & Cents & " Cents" End Select ConvertCurrencyToEnglish = Dollars & Cents End Function Private Function ConvertHundreds(ByVal MyNumber As String) As String Dim Result As String ' Exit if there is nothing to convert. If Val(MyNumber) = 0 Then Exit Function ' Append leading zeros to number. MyNumber = Right("000" & MyNumber, 3) ' Do we have a hundreds place digit to convert? If Left(MyNumber, 1) <> "0" Then Result = ConvertDigit(Left(MyNumber, 1)) & " Hundred " End If ' Do we have a tens place digit to convert? If Mid(MyNumber, 2, 1) <> "0" Then Result = Result & ConvertTens(Mid(MyNumber, 2)) Else ' If not, then convert the ones place digit. Result = Result & ConvertDigit(Mid(MyNumber, 3)) End If ConvertHundreds = Trim(Result) End Function Private Function ConvertTens(ByVal MyTens As String) As String Dim Result As String ' Is value between 10 and 19? If Val(Left(MyTens, 1)) = 1 Then Select Case Val(MyTens) Case 10 : Result = "Ten" Case 11 : Result = "Eleven" Case 12 : Result = "Twelve" Case 13 : Result = "Thirteen" Case 14 : Result = "Fourteen" Case 15 : Result = "Fifteen" Case 16 : Result = "Sixteen" Case 17 : Result = "Seventeen" Case 18 : Result = "Eighteen" Case 19 : Result = "Nineteen" Case Else End Select Else ' .. otherwise it's between 20 and 99. Select Case Val(Left(MyTens, 1)) Case 2 : Result = "Twenty " Case 3 : Result = "Thirty " Case 4 : Result = "Forty " Case 5 : Result = "Fifty " Case 6 : Result = "Sixty " Case 7 : Result = "Seventy " Case 8 : Result = "Eighty " Case 9 : Result = "Ninety " Case Else End Select ' Convert ones place digit. Result = Result & ConvertDigit(Right(MyTens, 1)) End If ConvertTens = Result End Function Private Function ConvertDigit(ByVal MyDigit As String) As String Select Case Val(MyDigit) Case 1 : ConvertDigit = "One" Case 2 : ConvertDigit = "Two" Case 3 : ConvertDigit = "Three" Case 4 : ConvertDigit = "Four" Case 5 : ConvertDigit = "Five" Case 6 : ConvertDigit = "Six" Case 7 : ConvertDigit = "Seven" Case 8 : ConvertDigit = "Eight" Case 9 : ConvertDigit = "Nine" Case Else : ConvertDigit = "" End Select End Function "patang" wrote: > Do you know if it is available for VB.Net also? > > > > "Cor Ligthert" wrote: > > > In English In VB6 code (nicely done easy to change) > > > > http://support.microsoft.com/?scid=h...s/Q95/6/40.ASP > > > > I hope this helps, > > > > Cor > > > > > > Expand AllCollapse All |
|
||
|
||||
|
|
|
| |
|
=?Utf-8?B?cGF0YW5n?=
Guest
Posts: n/a
|
Let me add:
If I put this code within my form class it works. Now my question is what do I have to do if I want to put all these functions in a separate module? "patang" wrote: > Could someone please tell me where am I supposed to put this code. Actually > my project has two forms. I created a new module and have put the following > code sent by someone. All the function declaration statments (first lines) > e.g. > > Public Function ConvertCurrencyToEnglish(ByVal MyNumber As Double) As String > > Private Function ConvertHundreds(ByVal MyNumber As String) As String > > etc. > > are underlined (blue) and it says "Statement is not valid in namespace". > > > > > Here is the OLD REPLY --->> > > Below is the VB.Net code. As Cor said, the changes were minimal...it took me > 5min or less the modify it. > > Public Function ConvertCurrencyToEnglish(ByVal MyNumber As Double) As String > Dim Temp As String > Dim Dollars, Cents As String > Dim DecimalPlace, Count As Integer > Dim Place(9) As String > Dim Numb As String > Place(2) = " Thousand " : Place(3) = " Million " : Place(4) = " > Billion " : Place(5) = " Trillion " > ' Convert Numb to a string, trimming extra spaces. > Numb = Trim(Str(MyNumber)) > ' Find decimal place. > DecimalPlace = InStr(Numb, ".") > ' If we find decimal place... > If DecimalPlace > 0 Then > ' Convert cents > Temp = Left(Mid(Numb, DecimalPlace + 1) & "00", 2) > Cents = ConvertTens(Temp) > ' Strip off cents from remainder to convert. > Numb = Trim(Left(Numb, DecimalPlace - 1)) > End If > Count = 1 > Do While Numb <> "" > ' Convert last 3 digits of Numb to English dollars. > Temp = ConvertHundreds(Right(Numb, 3)) > If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars > If Len(Numb) > 3 Then > ' Remove last 3 converted digits from Numb. > Numb = Left(Numb, Len(Numb) - 3) > Else > Numb = "" > End If > Count = Count + 1 > Loop > > ' Clean up dollars. > Select Case Dollars > Case "" : Dollars = "No Dollars" > Case "One" : Dollars = "One Dollar" > Case Else : Dollars = Dollars & " Dollars" > End Select > > ' Clean up cents. > Select Case Cents > Case "" : Cents = " And No Cents" > Case "One" : Cents = " And One Cent" > Case Else : Cents = " And " & Cents & " Cents" > End Select > ConvertCurrencyToEnglish = Dollars & Cents > End Function > > Private Function ConvertHundreds(ByVal MyNumber As String) As String > Dim Result As String > ' Exit if there is nothing to convert. > If Val(MyNumber) = 0 Then Exit Function > ' Append leading zeros to number. > MyNumber = Right("000" & MyNumber, 3) > ' Do we have a hundreds place digit to convert? > If Left(MyNumber, 1) <> "0" Then > Result = ConvertDigit(Left(MyNumber, 1)) & " Hundred " > End If > ' Do we have a tens place digit to convert? > If Mid(MyNumber, 2, 1) <> "0" Then > Result = Result & ConvertTens(Mid(MyNumber, 2)) > Else > ' If not, then convert the ones place digit. > Result = Result & ConvertDigit(Mid(MyNumber, 3)) > End If > ConvertHundreds = Trim(Result) > End Function > > Private Function ConvertTens(ByVal MyTens As String) As String > Dim Result As String > ' Is value between 10 and 19? > If Val(Left(MyTens, 1)) = 1 Then > Select Case Val(MyTens) > Case 10 : Result = "Ten" > Case 11 : Result = "Eleven" > Case 12 : Result = "Twelve" > Case 13 : Result = "Thirteen" > Case 14 : Result = "Fourteen" > Case 15 : Result = "Fifteen" > Case 16 : Result = "Sixteen" > Case 17 : Result = "Seventeen" > Case 18 : Result = "Eighteen" > Case 19 : Result = "Nineteen" > Case Else > End Select > Else > ' .. otherwise it's between 20 and 99. > Select Case Val(Left(MyTens, 1)) > Case 2 : Result = "Twenty " > Case 3 : Result = "Thirty " > Case 4 : Result = "Forty " > Case 5 : Result = "Fifty " > Case 6 : Result = "Sixty " > Case 7 : Result = "Seventy " > Case 8 : Result = "Eighty " > Case 9 : Result = "Ninety " > Case Else > End Select > ' Convert ones place digit. > Result = Result & ConvertDigit(Right(MyTens, 1)) > End If > ConvertTens = Result > End Function > > Private Function ConvertDigit(ByVal MyDigit As String) As String > Select Case Val(MyDigit) > Case 1 : ConvertDigit = "One" > Case 2 : ConvertDigit = "Two" > Case 3 : ConvertDigit = "Three" > Case 4 : ConvertDigit = "Four" > Case 5 : ConvertDigit = "Five" > Case 6 : ConvertDigit = "Six" > Case 7 : ConvertDigit = "Seven" > Case 8 : ConvertDigit = "Eight" > Case 9 : ConvertDigit = "Nine" > Case Else : ConvertDigit = "" > End Select > End Function > > > "patang" wrote: > > > Do you know if it is available for VB.Net also? > > > > > > > > "Cor Ligthert" wrote: > > > > > In English In VB6 code (nicely done easy to change) > > > > > > http://support.microsoft.com/?scid=h...s/Q95/6/40.ASP > > > > > > I hope this helps, > > > > > > Cor > > > > > > > > > > > > > Expand AllCollapse All |
|
||
|
||||
|
=?Utf-8?B?b2NlcnRhaW4=?=
Guest
Posts: n/a
|
The best thing to do would be to put the functions in a seperate class.
Include the class in your project and instantiate it whenever you needed it. "patang" wrote: > Let me add: > > If I put this code within my form class it works. Now my question is what do > I have to do if I want to put all these functions in a separate module? > > > "patang" wrote: > > > Could someone please tell me where am I supposed to put this code. Actually > > my project has two forms. I created a new module and have put the following > > code sent by someone. All the function declaration statments (first lines) > > e.g. > > > > Public Function ConvertCurrencyToEnglish(ByVal MyNumber As Double) As String > > > > Private Function ConvertHundreds(ByVal MyNumber As String) As String > > > > etc. > > > > are underlined (blue) and it says "Statement is not valid in namespace". > > > > > > > > > > Here is the OLD REPLY --->> > > > > Below is the VB.Net code. As Cor said, the changes were minimal...it took me > > 5min or less the modify it. > > > > Public Function ConvertCurrencyToEnglish(ByVal MyNumber As Double) As String > > Dim Temp As String > > Dim Dollars, Cents As String > > Dim DecimalPlace, Count As Integer > > Dim Place(9) As String > > Dim Numb As String > > Place(2) = " Thousand " : Place(3) = " Million " : Place(4) = " > > Billion " : Place(5) = " Trillion " > > ' Convert Numb to a string, trimming extra spaces. > > Numb = Trim(Str(MyNumber)) > > ' Find decimal place. > > DecimalPlace = InStr(Numb, ".") > > ' If we find decimal place... > > If DecimalPlace > 0 Then > > ' Convert cents > > Temp = Left(Mid(Numb, DecimalPlace + 1) & "00", 2) > > Cents = ConvertTens(Temp) > > ' Strip off cents from remainder to convert. > > Numb = Trim(Left(Numb, DecimalPlace - 1)) > > End If > > Count = 1 > > Do While Numb <> "" > > ' Convert last 3 digits of Numb to English dollars. > > Temp = ConvertHundreds(Right(Numb, 3)) > > If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars > > If Len(Numb) > 3 Then > > ' Remove last 3 converted digits from Numb. > > Numb = Left(Numb, Len(Numb) - 3) > > Else > > Numb = "" > > End If > > Count = Count + 1 > > Loop > > > > ' Clean up dollars. > > Select Case Dollars > > Case "" : Dollars = "No Dollars" > > Case "One" : Dollars = "One Dollar" > > Case Else : Dollars = Dollars & " Dollars" > > End Select > > > > ' Clean up cents. > > Select Case Cents > > Case "" : Cents = " And No Cents" > > Case "One" : Cents = " And One Cent" > > Case Else : Cents = " And " & Cents & " Cents" > > End Select > > ConvertCurrencyToEnglish = Dollars & Cents > > End Function > > > > Private Function ConvertHundreds(ByVal MyNumber As String) As String > > Dim Result As String > > ' Exit if there is nothing to convert. > > If Val(MyNumber) = 0 Then Exit Function > > ' Append leading zeros to number. > > MyNumber = Right("000" & MyNumber, 3) > > ' Do we have a hundreds place digit to convert? > > If Left(MyNumber, 1) <> "0" Then > > Result = ConvertDigit(Left(MyNumber, 1)) & " Hundred " > > End If > > ' Do we have a tens place digit to convert? > > If Mid(MyNumber, 2, 1) <> "0" Then > > Result = Result & ConvertTens(Mid(MyNumber, 2)) > > Else > > ' If not, then convert the ones place digit. > > Result = Result & ConvertDigit(Mid(MyNumber, 3)) > > End If > > ConvertHundreds = Trim(Result) > > End Function > > > > Private Function ConvertTens(ByVal MyTens As String) As String > > Dim Result As String > > ' Is value between 10 and 19? > > If Val(Left(MyTens, 1)) = 1 Then > > Select Case Val(MyTens) > > Case 10 : Result = "Ten" > > Case 11 : Result = "Eleven" > > Case 12 : Result = "Twelve" > > Case 13 : Result = "Thirteen" > > Case 14 : Result = "Fourteen" > > Case 15 : Result = "Fifteen" > > Case 16 : Result = "Sixteen" > > Case 17 : Result = "Seventeen" > > Case 18 : Result = "Eighteen" > > Case 19 : Result = "Nineteen" > > Case Else > > End Select > > Else > > ' .. otherwise it's between 20 and 99. > > Select Case Val(Left(MyTens, 1)) > > Case 2 : Result = "Twenty " > > Case 3 : Result = "Thirty " > > Case 4 : Result = "Forty " > > Case 5 : Result = "Fifty " > > Case 6 : Result = "Sixty " > > Case 7 : Result = "Seventy " > > Case 8 : Result = "Eighty " > > Case 9 : Result = "Ninety " > > Case Else > > End Select > > ' Convert ones place digit. > > Result = Result & ConvertDigit(Right(MyTens, 1)) > > End If > > ConvertTens = Result > > End Function > > > > Private Function ConvertDigit(ByVal MyDigit As String) As String > > Select Case Val(MyDigit) > > Case 1 : ConvertDigit = "One" > > Case 2 : ConvertDigit = "Two" > > Case 3 : ConvertDigit = "Three" > > Case 4 : ConvertDigit = "Four" > > Case 5 : ConvertDigit = "Five" > > Case 6 : ConvertDigit = "Six" > > Case 7 : ConvertDigit = "Seven" > > Case 8 : ConvertDigit = "Eight" > > Case 9 : ConvertDigit = "Nine" > > Case Else : ConvertDigit = "" > > End Select > > End Function > > > > > > "patang" wrote: > > > > > Do you know if it is available for VB.Net also? > > > > > > > > > > > > "Cor Ligthert" wrote: > > > > > > > In English In VB6 code (nicely done easy to change) > > > > > > > > http://support.microsoft.com/?scid=h...s/Q95/6/40.ASP > > > > > > > > I hope this helps, > > > > > > > > Cor > > > > > > > > > > > > > > > > > > > > Expand AllCollapse All |
|
||
|
||||
|
=?Utf-8?B?RGVubmlz?=
Guest
Posts: n/a
|
I have a module called Utilities Module that I use which contains a lot of
useful routines that I use frequently. "patang" wrote: > Let me add: > > If I put this code within my form class it works. Now my question is what do > I have to do if I want to put all these functions in a separate module? > > > "patang" wrote: > > > Could someone please tell me where am I supposed to put this code. Actually > > my project has two forms. I created a new module and have put the following > > code sent by someone. All the function declaration statments (first lines) > > e.g. > > > > Public Function ConvertCurrencyToEnglish(ByVal MyNumber As Double) As String > > > > Private Function ConvertHundreds(ByVal MyNumber As String) As String > > > > etc. > > > > are underlined (blue) and it says "Statement is not valid in namespace". > > > > > > > > > > Here is the OLD REPLY --->> > > > > Below is the VB.Net code. As Cor said, the changes were minimal...it took me > > 5min or less the modify it. > > > > Public Function ConvertCurrencyToEnglish(ByVal MyNumber As Double) As String > > Dim Temp As String > > Dim Dollars, Cents As String > > Dim DecimalPlace, Count As Integer > > Dim Place(9) As String > > Dim Numb As String > > Place(2) = " Thousand " : Place(3) = " Million " : Place(4) = " > > Billion " : Place(5) = " Trillion " > > ' Convert Numb to a string, trimming extra spaces. > > Numb = Trim(Str(MyNumber)) > > ' Find decimal place. > > DecimalPlace = InStr(Numb, ".") > > ' If we find decimal place... > > If DecimalPlace > 0 Then > > ' Convert cents > > Temp = Left(Mid(Numb, DecimalPlace + 1) & "00", 2) > > Cents = ConvertTens(Temp) > > ' Strip off cents from remainder to convert. > > Numb = Trim(Left(Numb, DecimalPlace - 1)) > > End If > > Count = 1 > > Do While Numb <> "" > > ' Convert last 3 digits of Numb to English dollars. > > Temp = ConvertHundreds(Right(Numb, 3)) > > If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars > > If Len(Numb) > 3 Then > > ' Remove last 3 converted digits from Numb. > > Numb = Left(Numb, Len(Numb) - 3) > > Else > > Numb = "" > > End If > > Count = Count + 1 > > Loop > > > > ' Clean up dollars. > > Select Case Dollars > > Case "" : Dollars = "No Dollars" > > Case "One" : Dollars = "One Dollar" > > Case Else : Dollars = Dollars & " Dollars" > > End Select > > > > ' Clean up cents. > > Select Case Cents > > Case "" : Cents = " And No Cents" > > Case "One" : Cents = " And One Cent" > > Case Else : Cents = " And " & Cents & " Cents" > > End Select > > ConvertCurrencyToEnglish = Dollars & Cents > > End Function > > > > Private Function ConvertHundreds(ByVal MyNumber As String) As String > > Dim Result As String > > ' Exit if there is nothing to convert. > > If Val(MyNumber) = 0 Then Exit Function > > ' Append leading zeros to number. > > MyNumber = Right("000" & MyNumber, 3) > > ' Do we have a hundreds place digit to convert? > > If Left(MyNumber, 1) <> "0" Then > > Result = ConvertDigit(Left(MyNumber, 1)) & " Hundred " > > End If > > ' Do we have a tens place digit to convert? > > If Mid(MyNumber, 2, 1) <> "0" Then > > Result = Result & ConvertTens(Mid(MyNumber, 2)) > > Else > > ' If not, then convert the ones place digit. > > Result = Result & ConvertDigit(Mid(MyNumber, 3)) > > End If > > ConvertHundreds = Trim(Result) > > End Function > > > > Private Function ConvertTens(ByVal MyTens As String) As String > > Dim Result As String > > ' Is value between 10 and 19? > > If Val(Left(MyTens, 1)) = 1 Then > > Select Case Val(MyTens) > > Case 10 : Result = "Ten" > > Case 11 : Result = "Eleven" > > Case 12 : Result = "Twelve" > > Case 13 : Result = "Thirteen" > > Case 14 : Result = "Fourteen" > > Case 15 : Result = "Fifteen" > > Case 16 : Result = "Sixteen" > > Case 17 : Result = "Seventeen" > > Case 18 : Result = "Eighteen" > > Case 19 : Result = "Nineteen" > > Case Else > > End Select > > Else > > ' .. otherwise it's between 20 and 99. > > Select Case Val(Left(MyTens, 1)) > > Case 2 : Result = "Twenty " > > Case 3 : Result = "Thirty " > > Case 4 : Result = "Forty " > > Case 5 : Result = "Fifty " > > Case 6 : Result = "Sixty " > > Case 7 : Result = "Seventy " > > Case 8 : Result = "Eighty " > > Case 9 : Result = "Ninety " > > Case Else > > End Select > > ' Convert ones place digit. > > Result = Result & ConvertDigit(Right(MyTens, 1)) > > End If > > ConvertTens = Result > > End Function > > > > Private Function ConvertDigit(ByVal MyDigit As String) As String > > Select Case Val(MyDigit) > > Case 1 : ConvertDigit = "One" > > Case 2 : ConvertDigit = "Two" > > Case 3 : ConvertDigit = "Three" > > Case 4 : ConvertDigit = "Four" > > Case 5 : ConvertDigit = "Five" > > Case 6 : ConvertDigit = "Six" > > Case 7 : ConvertDigit = "Seven" > > Case 8 : ConvertDigit = "Eight" > > Case 9 : ConvertDigit = "Nine" > > Case Else : ConvertDigit = "" > > End Select > > End Function > > > > > > "patang" wrote: > > > > > Do you know if it is available for VB.Net also? > > > > > > > > > > > > "Cor Ligthert" wrote: > > > > > > > In English In VB6 code (nicely done easy to change) > > > > > > > > http://support.microsoft.com/?scid=h...s/Q95/6/40.ASP > > > > > > > > I hope this helps, > > > > > > > > Cor > > > > > > > > > > > > > > > > > > > > Expand AllCollapse All |
|
||
|
||||
|
|
|
| |
![]() |
| Thread Tools | |
| Rate This Thread | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Convert numbers to words | Ravi | Microsoft Excel Misc | 2 | 21st Oct 2008 01:29 PM |
| how to convert numbers into words | =?Utf-8?B?amlnZXNo?= | Microsoft Excel Worksheet Functions | 1 | 8th Dec 2006 03:02 AM |
| Convert Numbers to Words | =?Utf-8?B?YnJiYQ==?= | Microsoft Access Form Coding | 4 | 20th Oct 2005 06:50 PM |
| Convert numbers to words | LCalaway | Microsoft Access Queries | 1 | 7th Aug 2005 12:01 AM |
| convert numbers to words | =?Utf-8?B?cHJhZ3M=?= | Microsoft Excel Worksheet Functions | 2 | 4th Jul 2005 09:52 PM |
Powered by vBulletin®. Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2010, Crawlability, Inc. |




