اذهب الي المحتوي
أوفيسنا

كيف أحول المبلغ الرقمي الى نصي


mbn

الردود الموصى بها

أبي مساعدة في تصميم صفحة نموذج على حسب الشكل التالي والمعلومات كلها موجودة بس بسرعة

الجزء الأول: http://www.officena.net/ib/index.php?act=A...pe=post&id=2701

الجزء الثاني: http://www.officena.net/ib/index.php?act=A...pe=post&id=2702

ألحين خلونا نشوف طيف و zahof و التقني بس في مشكلة للتقني وهي أني أبي أعدل فيه ماهو يسكره

رابط هذا التعليق
شارك

أخي الكريم سواء العدد 26 أو 126 , هذا ليس مهما

المهم هو توضيح فيما اذا كان لديك مشكله برمجيه فاطرحها لكي تجد مساعده

أما التصميمات الجانبيه بدون شرح و تفصيل قاعدة البيانات و دون عر ض الملف فتبقى دون رد

تحياتي

رابط هذا التعليق
شارك

أنا أستطيع تصميم هذا هذا الأمر لكن المشكلة في تحويل المبلغ إلى نص وفي الصفحة الثانية هذه بعض المؤسسات فقط هنالك هوالي 50مؤسسة نتعامل معها لذا أنا أريده جدول داخلي يزاد حين أصل للأخير

أنا أكتب الأرقام كي يبقى الموضوع في الشريط ولا يزال

رابط هذا التعليق
شارك

ومن هنا التحميل الباقي مالت المؤسسات إلي في الصورة الثانية مع تحويل الأرقام إلى عدد داخل إجمالي الفواتير
رابط هذا التعليق
شارك

السلام عليكم ورحمة الله

بالنسبة لتحويل المبلغ الرقمي الى نصي فهذا يسمى التفقيط ويمكنك عمل ذلك من خلال هذا الكود :

هذا الكود يقوم بتحويل الأرقام إلى نصوص ويفيد خاصة من يعملون في مجال 
      المحاسبة التي تتطلب منهم كتابة المبالغ الماليه رقماً وكتابة فمع هذا الكود 
      ما عليه سوى كتابة الرقم فقط 0وأحببت أن أضعه هنا للفائدة 

   Public Function Horof(X) 
      Ma = " ريال" 
      Mi = " هللة" 
      N = Int(X) 
      B = Val(Right(Format(X, "000000000000.00"), 2)) 
      R = SHorof(N) 
      If R <> "" And B > 0 Then Result = R & Ma & " و " & B & Mi 
      If R <> "" And B = 0 Then Result = R & Ma 
      If R = "" And B <> 0 Then Result = B & Mi 
      Horof = Result 

      End Function 
      Private Function SHorof(X) 

      N = Int(X) 
      C = Format(N, "000000000000") 
      C1 = Val(Mid(C, 12, 1)) 
      Select Case C1 
      Case Is = 1: Letter1 = "واحد" 
      Case Is = 2: Letter1 = "اثنان" 
      Case Is = 3: Letter1 = "ثلاثة" 
      Case Is = 4: Letter1 = "اربعة" 
      Case Is = 5: Letter1 = "خمسة" 
      Case Is = 6: Letter1 = "ستة" 
      Case Is = 7: Letter1 = "سبعة" 
      Case Is = 8: Letter1 = "ثمانية" 
      Case Is = 9: Letter1 = "تسعة" 
      End Select 

      C2 = Val(Mid(C, 11, 1)) 
      Select Case C2 
      Case Is = 1: Letter2 = "عشر" 
      Case Is = 2: Letter2 = "عشرون" 
      Case Is = 3: Letter2 = "ثلاثون" 
      Case Is = 4: Letter2 = "اربعون" 
      Case Is = 5: Letter2 = "خمسون" 
      Case Is = 6: Letter2 = "ستون" 
      Case Is = 7: Letter2 = "سبعون" 
      Case Is = 8: Letter2 = "ثمانون" 
      Case Is = 9: Letter2 = "تسعون" 
      End Select 

      If Letter1 <> "" And C2 > 1 Then Letter2 = Letter1 + " و" + Letter2 
      If Letter2 = "" Then Letter2 = Letter1 
      If C1 = 0 And C2 = 1 Then Letter2 = Letter2 + "ة" 
      If C1 = 1 And C2 = 1 Then Letter2 = "احدى عشر" 
      If C1 = 2 And C2 = 1 Then Letter2 = "اثنى عشر" 
      If C1 > 2 And C2 = 1 Then Letter2 = Letter1 + " " + Letter2 
      C3 = Val(Mid(C, 10, 1)) 
      Select Case C3 
      Case Is = 1: Letter3 = "مائة" 
      Case Is = 2: Letter3 = "مئتان" 
      Case Is > 2: Letter3 = Left(SHorof(C3), Len(SHorof(C3)) - 1) + "مائة" 
      End Select 
      If Letter3 <> "" And Letter2 <> "" Then Letter3 = Letter3 + " و" + Letter2 

      If Letter3 = "" Then Letter3 = Letter2 

      C4 = Val(Mid(C, 7, 3)) 
      Select Case C4 
      Case Is = 1: Letter4 = "الف" 
      Case Is = 2: Letter4 = "الفان" 
      Case 3 To 10: Letter4 = SHorof(C4) + " آلاف" 
      Case Is > 10: Letter4 = SHorof(C4) + " الف" 
      End Select 
      If Letter4 <> "" And Letter3 <> "" Then Letter4 = Letter4 + " و" + Letter3 

      If Letter4 = "" Then Letter4 = Letter3 
      C5 = Val(Mid(C, 4, 3)) 
      Select Case C5 
      Case Is = 1: Letter5 = "مليون" 
      Case Is = 2: Letter5 = "مليونان" 
      Case 3 To 10: Letter5 = SHorof(C5) + " ملايين" 
      Case Is > 10: Letter5 = SHorof(C5) + " مليون" 
      End Select 
      If Letter5 <> "" And Letter4 <> "" Then Letter5 = Letter5 + " و" + Letter4 

      If Letter5 = "" Then Letter5 = Letter4 

      C6 = Val(Mid(C, 1, 3)) 
      Select Case C6 
      Case Is = 1: Letter6 = "مليار" 
      Case Is = 2: Letter6 = "ملياران" 
      Case Is > 2: Letter6 = SHorof(C6) + " مليار" 
      End Select 
      If Letter6 <> "" And Letter5 <> "" Then Letter6 = Letter6 + " و" + Letter5 

      If Letter6 = "" Then Letter6 = Letter5 
      SHorof = Letter6 

      End Function 

      ضع هذا الكود في وحدة نمطيه عامة ثم على نموذج ضع مربع نصين الأول سمه 
      مقدار_الراتب_رقماً والثاني مقدار_الراتب_نصاً0 
      وفي حدث بعد التحديث لمربع النص المسمى مقدار_الراتب_رقماً أكتب الكود 
      التالي: 
       strN = Horof(مقدار_الراتب_رقماً) 
      مقدار_الراتب_نصاً = strN 
      
      فعندما تكتب الرقم 4552 في الحقل المسمى مقدار_الراتب_رقماً يكون حقل مقدار 
      الراتب نصاً كالتالي اربعة الآف وخمسمائة وإثنان وخمسون ريال

مع تعديل ما يناسب عملة بلدك .

وهو مقتبس من موقع الفريق العربي للبرمجة لكاتبه مصلح الحريصي - جزاه الله خيرا

بالتوفيق

رابط هذا التعليق
شارك

مافهمت شي أنا مبتدأ أتعلم من نيوهورايوزن وفاتني نص الدروس لأني سافرت أنا ماعرف وش أسوي عندي مشاكل واجد أكتب أسئلتها هنا ويالله بعد كم أسبوع يجي الجواب أتمنى منك المساعدة وتدخيل البيانات جزاك الله خير أبوي واعدني بشي إذا أتمم البرنامج وترى هذي أجزاء من أجزاء بعدين إذا أروح المصنع أسوي إستيراد

رابط هذا التعليق
شارك

ياجماعة نزلت الموضوع مرة ثانية لأنه تجاوز الصفحتين خلصوني عاد

أبي مساعدة في تصميم صفحة نموذج على حسب الشكل التالي والمعلومات كلها موجودة بس بسرعة

الجزء الأول:

http://www.officena.net/ib/index.php?act=A...pe=post&id=2701

الجزء الثاني:

http://www.officena.net/ib/index.php?act=A...pe=post&id=2702

ألحين خلونا نشوف طيف و zahof و التقني بس في مشكلة للتقني وهي أني أبي أعدل فيه ماهو يسكره

ومن هنا التحميل الباقي مالت المؤسسات إلي في الصورة الثانية مع تحويل الأرقام إلى عدد داخل إجمالي الفواتير

هذا رد الأخ التقني

بالنسبة لتحويل المبلغ الرقمي الى نصي فهذا يسمى التفقيط ويمكنك عمل ذلك من خلال هذا الكود :

CODEهذا الكود يقوم بتحويل الأرقام إلى نصوص ويفيد خاصة من يعملون في مجال

المحاسبة التي تتطلب منهم كتابة المبالغ الماليه رقماً وكتابة فمع هذا الكود

ما عليه سوى كتابة الرقم فقط 0وأحببت أن أضعه هنا للفائدة

Public Function Horof(X)

Ma = " ريال"

Mi = " هللة"

N = Int(X)

B = Val(Right(Format(X, "000000000000.00"), 2))

R = SHorof(N)

If R <> "" And B > 0 Then Result = R & Ma & " و " & B & Mi

If R <> "" And B = 0 Then Result = R & Ma

If R = "" And B <> 0 Then Result = B & Mi

Horof = Result

End Function

Private Function SHorof(X)

N = Int(X)

C = Format(N, "000000000000")

C1 = Val(Mid(C, 12, 1))

Select Case C1

Case Is = 1: Letter1 = "واحد"

Case Is = 2: Letter1 = "اثنان"

Case Is = 3: Letter1 = "ثلاثة"

Case Is = 4: Letter1 = "اربعة"

Case Is = 5: Letter1 = "خمسة"

Case Is = 6: Letter1 = "ستة"

Case Is = 7: Letter1 = "سبعة"

Case Is = 8: Letter1 = "ثمانية"

Case Is = 9: Letter1 = "تسعة"

End Select

C2 = Val(Mid(C, 11, 1))

Select Case C2

Case Is = 1: Letter2 = "عشر"

Case Is = 2: Letter2 = "عشرون"

Case Is = 3: Letter2 = "ثلاثون"

Case Is = 4: Letter2 = "اربعون"

Case Is = 5: Letter2 = "خمسون"

Case Is = 6: Letter2 = "ستون"

Case Is = 7: Letter2 = "سبعون"

Case Is = 8: Letter2 = "ثمانون"

Case Is = 9: Letter2 = "تسعون"

End Select

If Letter1 <> "" And C2 > 1 Then Letter2 = Letter1 + " و" + Letter2

If Letter2 = "" Then Letter2 = Letter1

If C1 = 0 And C2 = 1 Then Letter2 = Letter2 + "ة"

If C1 = 1 And C2 = 1 Then Letter2 = "احدى عشر"

If C1 = 2 And C2 = 1 Then Letter2 = "اثنى عشر"

If C1 > 2 And C2 = 1 Then Letter2 = Letter1 + " " + Letter2

C3 = Val(Mid(C, 10, 1))

Select Case C3

Case Is = 1: Letter3 = "مائة"

Case Is = 2: Letter3 = "مئتان"

Case Is > 2: Letter3 = Left(SHorof(C3), Len(SHorof(C3)) - 1) + "مائة"

End Select

If Letter3 <> "" And Letter2 <> "" Then Letter3 = Letter3 + " و" + Letter2

If Letter3 = "" Then Letter3 = Letter2

C4 = Val(Mid(C, 7, 3))

Select Case C4

Case Is = 1: Letter4 = "الف"

Case Is = 2: Letter4 = "الفان"

Case 3 To 10: Letter4 = SHorof(C4) + " آلاف"

Case Is > 10: Letter4 = SHorof(C4) + " الف"

End Select

If Letter4 <> "" And Letter3 <> "" Then Letter4 = Letter4 + " و" + Letter3

If Letter4 = "" Then Letter4 = Letter3

C5 = Val(Mid(C, 4, 3))

Select Case C5

Case Is = 1: Letter5 = "مليون"

Case Is = 2: Letter5 = "مليونان"

Case 3 To 10: Letter5 = SHorof(C5) + " ملايين"

Case Is > 10: Letter5 = SHorof(C5) + " مليون"

End Select

If Letter5 <> "" And Letter4 <> "" Then Letter5 = Letter5 + " و" + Letter4

If Letter5 = "" Then Letter5 = Letter4

C6 = Val(Mid(C, 1, 3))

Select Case C6

Case Is = 1: Letter6 = "مليار"

Case Is = 2: Letter6 = "ملياران"

Case Is > 2: Letter6 = SHorof(C6) + " مليار"

End Select

If Letter6 <> "" And Letter5 <> "" Then Letter6 = Letter6 + " و" + Letter5

If Letter6 = "" Then Letter6 = Letter5

SHorof = Letter6

End Function

ضع هذا الكود في وحدة نمطيه عامة ثم على نموذج ضع مربع نصين الأول سمه

مقدار_الراتب_رقماً والثاني مقدار_الراتب_نصاً0

وفي حدث بعد التحديث لمربع النص المسمى مقدار_الراتب_رقماً أكتب الكود

التالي:

strN = Horof(مقدار_الراتب_رقماً)

مقدار_الراتب_نصاً = strN

فعندما تكتب الرقم 4552 في الحقل المسمى مقدار_الراتب_رقماً يكون حقل مقدار

الراتب نصاً كالتالي اربعة الآف وخمسمائة وإثنان وخمسون ريال

نفذها لي على المجلد إلي يتحمل من هنا وفي رابط ثاني فوق

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information