-
Jan 18th, 2023, 08:10 AM
#1
Thread Starter
Member
Call a function into Textbox Report Viewer
I have a function named NoToTxt converts numbers to words into Arabic language
I pasted it in the Code place of Report Properties then I tried to call it inside a textbox expression using this code
Code:
Code.NoToTxt (Fields!Number.Value)
but it didn’t work, I don’t know what exactly went wrong
any help please, I'm using Report Viewer VB 2012
-
Jan 19th, 2023, 03:52 PM
#2
Re: Call a function into Textbox Report Viewer
Can you have the function return its results to a string variable and then use that variable for whatever use you may need? Just a thought.
-
Jan 26th, 2023, 02:45 AM
#3
Re: Call a function into Textbox Report Viewer
Hi Talajeen,
If this is what you did then I don't think it will work:
Attachment 186763
What you have to do is to create a Class with your function and then in you textbox expression e.g.
Code:
=MyFunctions.NoToTxt(Fields!Number.value)
where MyFunctions is the name of the class and NoToTxt is the name of the function
-
Jan 26th, 2023, 04:29 PM
#4
Re: Call a function into Textbox Report Viewer
Originally Posted by Tajaldeen
I have a function named NoToTxt converts numbers to words into Arabic language
I pasted it in the Code place of Report Properties then I tried to call it inside a textbox expression using this code
Code:
Code.NoToTxt (Fields!Number.Value)
but it didn’t work, I don’t know what exactly went wrong
any help please, I'm using Report Viewer VB 2012
What does "it didn't work" mean exactly? Error? Nothing? Garbage? Finger fall off?
-tg
-
Jan 27th, 2023, 01:17 AM
#5
Re: Call a function into Textbox Report Viewer
I realize that it is actually not as straightforward as my example in #3. I'm not sure if the OP will read is - it seems sometimes people post questions and they either don't come back for an answer or "tx" is too much effort.
I'm going to make a tutorial on this and maybe it can help someone in the future. In 6 years I battled hours and days with RDLC reports it feels like I should have 20 years experience 🙂
-
Feb 6th, 2023, 02:30 AM
#6
Junior Member
Re: Call a function into Textbox Report Viewer
Originally Posted by schoemr
Hi Talajeen,
If this is what you did then I don't think it will work:
Attachment 186763
What you have to do is to create a Class with your function and then in you textbox expression e.g.
Code:
=MyFunctions.NoToTxt(Fields!Number.value)
where MyFunctions is the name of the class and NoToTxt is the name of the function
Hi, its me (Tajaldeen) This is my function , could you please tell me how to include it inside a class , if i could do that i wouldn't be need my parameters, so the iTextSharp will work just fine.
Code:
Function NoToTxt(ByVal TheNo As Double, ByVal MyCur As String, ByVal MySubCur As String) As String
Dim MyArry1(0 To 9) As String
Dim MyArry2(0 To 9) As String
Dim MyArry3(0 To 9) As String
Dim MyNo As String = ""
Dim GetNo As String = ""
Dim RdNo As String = ""
Dim My100 As String = ""
Dim My10 As String = ""
Dim My1 As String = ""
Dim My11 As String = ""
Dim My12 As String = ""
Dim GetTxt As String = ""
Dim Mybillion As String = ""
Dim MyMillion As String = ""
Dim MyThou As String = ""
Dim MyHun As String = ""
Dim MyFraction As String = ""
Dim MyAnd As String = ""
Dim i As Integer
Dim ReMark As String = ""
If TheNo > 999999999999.99 Then
End If
If TheNo = 0 Then
Salem = "صفر"
Exit Function
End If
MyAnd = " و"
MyArry1(0) = ""
MyArry1(1) = "مائة"
MyArry1(2) = "مائتان"
MyArry1(3) = "ثلاثمائة"
MyArry1(4) = "أربعمائة"
MyArry1(5) = "خمسمائة"
MyArry1(6) = "ستمائة"
MyArry1(7) = "سبعمائة"
MyArry1(8) = "ثمانمائة"
MyArry1(9) = "تسعمائة"
MyArry2(0) = ""
MyArry2(1) = " عشر"
MyArry2(2) = "عشرون"
MyArry2(3) = "ثلاثون"
MyArry2(4) = "أربعون"
MyArry2(5) = "خمسون"
MyArry2(6) = "ستون"
MyArry2(7) = "سبعون"
MyArry2(8) = "ثمانون"
MyArry2(9) = "تسعون"
MyArry3(0) = ""
MyArry3(1) = "واحد"
MyArry3(2) = "اثنان"
MyArry3(3) = "ثلاثة"
MyArry3(4) = "أربعة"
MyArry3(5) = "خمسة"
MyArry3(6) = "ستة"
MyArry3(7) = "سبعة"
MyArry3(8) = "ثمانية"
MyArry3(9) = "تسعة"
'======================
GetNo = Format(TheNo, "000000000000.00")
i = 0
Do While i < 15
If i < 12 Then
MyNo = Mid$(GetNo, i + 1, 3)
Else
MyNo = "0" + Mid$(GetNo, i + 2, 2)
End If
If (Mid$(MyNo, 1, 3)) > 0 Then
RdNo = Mid$(MyNo, 1, 1)
My100 = MyArry1(RdNo)
RdNo = Mid$(MyNo, 3, 1)
My1 = MyArry3(RdNo)
RdNo = Mid$(MyNo, 2, 1)
My10 = MyArry2(RdNo)
If Mid$(MyNo, 2, 2) = 11 Then My11 = "إحدى عشر"
If Mid$(MyNo, 2, 2) = 12 Then My12 = "إثنى عشر"
If Mid$(MyNo, 2, 2) = 10 Then My10 = "عشرة"
If ((Mid$(MyNo, 1, 1)) > 0) And ((Mid$(MyNo, 2, 2)) > 0) Then My100 = My100 + MyAnd
If ((Mid$(MyNo, 3, 1)) > 0) And ((Mid$(MyNo, 2, 1)) > 1) Then My1 = My1 + MyAnd
GetTxt = My100 + My1 + My10
If ((Mid$(MyNo, 3, 1)) = 1) And ((Mid$(MyNo, 2, 1)) = 1) Then
GetTxt = My100 + My11
If ((Mid$(MyNo, 1, 1)) = 0) Then GetTxt = My11
End If
If ((Mid$(MyNo, 3, 1)) = 2) And ((Mid$(MyNo, 2, 1)) = 1) Then
GetTxt = My100 + My12
If ((Mid$(MyNo, 1, 1)) = 0) Then GetTxt = My12
End If
If (i = 0) And (GetTxt <> "") Then
If ((Mid$(MyNo, 1, 3)) > 10) Then
Mybillion = GetTxt + " مليار"
Else
Mybillion = GetTxt + " مليارات"
If ((Mid$(MyNo, 1, 3)) = 2) Then Mybillion = " مليار"
If ((Mid$(MyNo, 1, 3)) = 2) Then Mybillion = " ملياران"
End If
End If
If (i = 3) And (GetTxt <> "") Then
If ((Mid$(MyNo, 1, 3)) > 10) Then
MyMillion = GetTxt + " مليون"
Else
MyMillion = GetTxt + " ملايين"
If ((Mid$(MyNo, 1, 3)) = 1) Then MyMillion = " مليون"
If ((Mid$(MyNo, 1, 3)) = 2) Then MyMillion = " مليونان"
End If
End If
If (i = 6) And (GetTxt <> "") Then
If ((Mid$(MyNo, 1, 3)) > 10) Then
MyThou = GetTxt + " ألف"
Else
MyThou = GetTxt + " آلاف"
If ((Mid$(MyNo, 3, 1)) = 1) Then MyThou = " ألف"
If ((Mid$(MyNo, 3, 1)) = 2) Then MyThou = " ألفان"
End If
End If
If (i = 9) And (GetTxt <> "") Then MyHun = GetTxt
If (i = 12) And (GetTxt <> "") Then MyFraction = GetTxt
End If
i = i + 3
Loop
If (Mybillion <> "") Then
If (MyMillion <> "") Or (MyThou <> "") Or (MyHun <> "") Then Mybillion = Mybillion + MyAnd
End If
If (MyMillion <> "") Then
If (MyThou <> "") Or (MyHun <> "") Then MyMillion = MyMillion + MyAnd
End If
If (MyThou <> "") Then
If (MyHun <> "") Then MyThou = MyThou + MyAnd
End If
If MyFraction <> "" Then
If (Mybillion <> "") Or (MyMillion <> "") Or (MyThou <> "") Or (MyHun <> "") Then
NoToTxt = ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur + MyAnd + MyFraction + " " + MySubCur
Else
NoToTxt = ReMark + MyFraction + " " + MySubCur
End If
Else
NoToTxt= ReMark + Mybillion + MyMillion + MyThou + MyHun + " " + MyCur
End If
End Function
Last edited by SALIAHM; Feb 6th, 2023 at 02:43 AM.
-
Feb 15th, 2023, 02:33 AM
#7
Junior Member
Re: Call a function into Textbox Report Viewer
Hello guys, its me Tajaldeen
this is the code i was looking for
Code:
=Code.FunctionName(Fields!FieldName1, Fields!FiedlName1.Value, "")
First FieldName1 is the field that funciton will apply to (Conver Number into Text).
Second Fieldname1 is the same field but without function (Number to Number).
if you want only the field with function you can apply any other empty filed instead of second FieldName1.
Now my function works directly from the rdcl perfectly
-
Feb 17th, 2023, 09:46 AM
#8
Re: Call a function into Textbox Report Viewer
Hi Taljadeem,
Thank you very much for coming back to share that information 🙂
-
Feb 13th, 2024, 08:29 AM
#9
New Member
Re: Call a function into Textbox Report Viewer
Can you provide more details about the specific error or issue you encountered when attempting to call the function inside the textbox expression, and how did you address or resolve it?
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|