بوكفوس عبدالسلام قام بنشر نوفمبر 16, 2019 قام بنشر نوفمبر 16, 2019 السلام عليكم ... لذي نموذج ( PAIE CCP ) و المتعلق بحساب منحة المعوقين ، عند الضغط على زر الطباعة يفتح تقرير ( PAIE CCP ) ، سؤالي هو : أريد أسفل التقرير ( صورة مرفقة ) تحويل المبلغ الإجمالي ( Total Général ) إلى حروف في الخانة المشار إليها بالسهم الأحمر, للعلم أن رمز العملة باللغة الأجنبية هي ( DA ) و بالعربية ( دينار جزائري ). PAIE CCP.rar
essam rabea قام بنشر نوفمبر 17, 2019 قام بنشر نوفمبر 17, 2019 أزبوكفوس عبدالسلام للأسف مشروع VBA لملفك لا يفتح عندى أنشئ وحدة نمطية جديدة وضع فيها هذا الكود Option Compare Database Public Function wsiSpellNumber(ByVal MyNumber) Dim Dollars, Cents, Temp Dim DecimalPlace, Count ReDim Place(9) As String Place(2) = " Mille " Place(3) = " Million " Place(4) = " Milliard " Place(5) = " Billion " ' String representation of amount. MyNumber = Trim(Str(MyNumber)) ' Position of decimal place 0 if none. DecimalPlace = InStr(MyNumber, ".") ' Convert cents and set MyNumber to dollar amount. If DecimalPlace > 0 Then Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ "00", 2)) MyNumber = Trim(Left(MyNumber, DecimalPlace - 1)) End If Count = 1 Do While MyNumber <> "" Temp = GetHundreds(Right(MyNumber, 3)) If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars If Len(MyNumber) > 3 Then MyNumber = Left(MyNumber, Len(MyNumber) - 3) Else MyNumber = "" End If Count = Count + 1 Loop Select Case Dollars Case "" Dollars = "Non DAs" Case "One" Dollars = "Une DA" Case Else Dollars = Dollars & " DAs" End Select Select Case Cents Case "" Cents = " et Non Centimes" Case "One" Cents = " et Une centime" Case Else Cents = " et " & Cents & " Centimes" End Select wsiSpellNumber = Dollars & Cents End Function ' Converts a number from 100-999 into text Function GetHundreds(ByVal MyNumber) Dim result As String If Val(MyNumber) = 0 Then Exit Function MyNumber = Right("000" & MyNumber, 3) ' Convert the hundreds place. If Mid(MyNumber, 1, 1) <> "0" Then result = GetDigit(Mid(MyNumber, 1, 1)) & " Cent " End If ' Convert the tens and ones place. If Mid(MyNumber, 2, 1) <> "0" Then result = result & GetTens(Mid(MyNumber, 2)) Else result = result & GetDigit(Mid(MyNumber, 3)) End If GetHundreds = result End Function ' Converts a number from 10 to 99 into text. Function GetTens(TensText) Dim result As String result = "" ' Null out the temporary function value. If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19... Select Case Val(TensText) Case 10: result = "Dix" Case 11: result = "Onze" Case 12: result = "Douze" Case 13: result = "Treize" Case 14: result = "Quatorze" Case 15: result = "Quinze" Case 16: result = "Seize" Case 17: result = "Dix-sept" Case 18: result = "Dix-huit" Case 19: result = "Dix-neuf" Case Else End Select Else ' If value between 20-99... Select Case Val(Left(TensText, 1)) Case 2: result = "Vingt " Case 3: result = "Trente " Case 4: result = "Quarante " Case 5: result = "Cinquante " Case 6: result = "Soixante " Case 7: result = "Soixante-dix " Case 8: result = "Quatre-vingts " Case 9: result = "Quatre vingt dix " Case Else End Select result = result & GetDigit _ (Right(TensText, 1)) ' Retrieve ones place. End If GetTens = result End Function ' Converts a number from 1 to 9 into text. Function GetDigit(Digit) Select Case Val(Digit) Case 1: GetDigit = "Une" Case 2: GetDigit = "Deux" Case 3: GetDigit = "Trois" Case 4: GetDigit = "Quatre" Case 5: GetDigit = "Cinq" Case 6: GetDigit = "Six" Case 7: GetDigit = "Sept" Case 8: GetDigit = "Huit" Case 9: GetDigit = "Neuve" Case Else: GetDigit = "" End Select End Function أنشئ مربع نص جديد فى المكان الذى تريد ظهور التفيط فيه على التقرير واجعل مصدر التحكم له =wsiSpellNumber(Sum([المبلغ الشهري])) علما بأنى ضعيف جدا فى اللغة الفرنسية فحاول التعديل على المسميات الموجودة فى الوحدة النمطية حاول ووافنى بالنتيجة بالتوفيق
بوكفوس عبدالسلام قام بنشر نوفمبر 17, 2019 الكاتب قام بنشر نوفمبر 17, 2019 السلام عليكم ... إتبعت الطريقة و لكن لا تظهر الترجمة النصية للمبلغ الشهري في أسفل التقرير و تظهر رسالة خطأ ( erreur# ) ( صورة مرفقة ) ، كما أن هناك خطأ في بداية الكود ( صورة مرفقة ) . ممكن أنا لم أحسن وضع هذين الكودين في المكان المناسب ، لو تكرّمت أشرلي بالخطوات لإتباعها : - كيف أسمي Module - و أين أضع الكود الثاني "=wsiSpellNumber(Sum([المبلغ الشهري])) "
essam rabea قام بنشر نوفمبر 17, 2019 قام بنشر نوفمبر 17, 2019 أ.بوكفوس عبدالسلام برنامجك كى يفتح عندى يحذف جميع الأكواد .. وضعت الطريقة بالمرفق وأكرر بدون الاكواد الخاصة بك .. فقط الموديول مع مربع نص على التقرير لعرض النتيجة 4 ساعات مضت, بوكفوس عبدالسلام said: - و أين أضع الكود الثاني "=wsiSpellNumber(Sum([المبلغ الشهري])) " يوضع فى source de contrôle للتقرير PAIE CCP(Test).zip
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.