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

تحويل النصوص إلي أرقام (في النماذج والتقارير)


إذهب إلى أفضل إجابة Solved by Moosak,

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

السلام عليكم

أريد تحويل نص (الأول الإبتدائي) إلي (1) و (الثاني الإبتدائي) إلي (2) و (الثالث الإبتدائي) إلي (3) وهكذا

  ، وتحويل (أول) إلي (1) و(ثاني) إلي (2) وهكذا 

فمثلا لو عندي (الأول الابتدائي / أول ) يتم تحويلها إلي (1/1)   ،  (الثاني الإبتدائي / أول) يتم تحويلها إلي (1/2)

 

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

وعليكم السلام ورحمة الله وبركاته أخي محمود 🙂 

يمكن عمل ذلك بدالة برمجية بكل سهولة ... 

ولكن قبل ذلك وجب معرفة بُـنية قاعدة البيانات لديك لمعرفة كيفية التطبيق الأنسب لها ..

وأفضل حل لعمل ذلك هو إرفاق نموذج ( ملف أكسس ) ببيانات واقعية نفس التي ستعمل عليها .. 🙂 

وهذا يختصر الوقت والجهد والأخذ والرد 😉👌 

تم تعديل بواسطه Moosak
رابط هذا التعليق
شارك

وهذه هي الدالة التي ذكرتها لك بشكل مبدأي :

Public Function ClassAndSectionAsNumber(strClass As String, strSection As String) As String

Dim ClassNumber, SectionNumber

Select Case strClass
    Case Is = "الأول الإبتدائي": ClassNumber = 1
    Case Is = "الثاني الإبتدائي": ClassNumber = 2
    Case Is = "الثالث الإبتدائي": ClassNumber = 3
    Case Is = "الرابع الإبتدائي": ClassNumber = 4
    Case Is = "الخامس الإبتدائي": ClassNumber = 5
    Case Is = "السادس الإبتدائي": ClassNumber = 6
    Case Else: ClassNumber = "Undefined"
End Select

Select Case strSection
    Case Is = "أول": SectionNumber = 1
    Case Is = "ثاني": SectionNumber = 2
    Case Is = "ثالث": SectionNumber = 3
    Case Is = "رابع": SectionNumber = 4
    Case Is = "خامس": SectionNumber = 5
    Case Is = "سادس": SectionNumber = 6
    Case Else: SectionNumber = "Undefined"
End Select

ClassAndSectionAsNumber = "(" & SectionNumber & "/" & ClassNumber & ")"

End Function

ويمكنك تطبيقها بكتابة اسم الدالة ثم الفصل ثم الشعبة وستعطيك النتيجة النهائية هكذا : 🙂 

(1):
ClassAndSectionAsNumber("الثاني الإبتدائي","خامس")
النتيجة: (5/2)

--------------------------------------------------------------------------
أو هكذا : (2)
ClassAndSectionAsNumber(Me.ClassTxt,Me.SectionTxt)

 

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

18 دقائق مضت, Moosak said:

بدالة برمجية

اتفق مع اخي موسى 🙂

ولكن الافضل عمل جدول وادخال هذه البيانات (وغيرها في المستقبل) في حقل ، وحقل آخر للرقم ،

ومن ثم استخدام الاستعلام او دالة لقراءة النصوص وتحويلها لارقام 🙂

 

جعفر

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

6 دقائق مضت, jjafferr said:

ولكن الافضل عمل جدول وادخال هذه البيانات (وغيرها في المستقبل) في حقل ، وحقل آخر للرقم ،

وذلك لتلافي إدخال الأسماء بشكل خاطئ 👍🌹

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

15 دقائق مضت, jjafferr said:

والاهم ان المستخدم ما يرجع للمبرمج لما يريد اضافة او تغيير في النصوص 🙂

 

21 دقائق مضت, jjafferr said:

ولكن الافضل عمل جدول وادخال هذه البيانات (وغيرها في المستقبل) في حقل ، وحقل آخر للرقم ،

اتفق مع اخي جعفر

لذا ذكرت عدة مرات وجوب وجود جدول للقيم الثابتة للبرنامج ووجود نموذج يخدم هذا الجدول

مستخدم البرنامج يتعامل مع النماذج فقط وحتى التقارير يكون التعامل من النماذج او من خلال القوائم في حال وجودها

وجهة نظر غير ملزمة

تحياتي

 

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

20 ساعات مضت, Moosak said:

وهذه هي الدالة التي ذكرتها لك بشكل مبدأي :

Public Function ClassAndSectionAsNumber(strClass As String, strSection As String) As String

Dim ClassNumber, SectionNumber

Select Case strClass
    Case Is = "الأول الإبتدائي": ClassNumber = 1
    Case Is = "الثاني الإبتدائي": ClassNumber = 2
    Case Is = "الثالث الإبتدائي": ClassNumber = 3
    Case Is = "الرابع الإبتدائي": ClassNumber = 4
    Case Is = "الخامس الإبتدائي": ClassNumber = 5
    Case Is = "السادس الإبتدائي": ClassNumber = 6
    Case Else: ClassNumber = "Undefined"
End Select

Select Case strSection
    Case Is = "أول": SectionNumber = 1
    Case Is = "ثاني": SectionNumber = 2
    Case Is = "ثالث": SectionNumber = 3
    Case Is = "رابع": SectionNumber = 4
    Case Is = "خامس": SectionNumber = 5
    Case Is = "سادس": SectionNumber = 6
    Case Else: SectionNumber = "Undefined"
End Select

ClassAndSectionAsNumber = "(" & SectionNumber & "/" & ClassNumber & ")"

End Function

ويمكنك تطبيقها بكتابة اسم الدالة ثم الفصل ثم الشعبة وستعطيك النتيجة النهائية هكذا : 🙂 

(1):
ClassAndSectionAsNumber("الثاني الإبتدائي","خامس")
النتيجة: (5/2)

--------------------------------------------------------------------------
أو هكذا : (2)
ClassAndSectionAsNumber(Me.ClassTxt,Me.SectionTxt)

 

 

20 ساعات مضت, jjafferr said:

اتفق مع اخي موسى 🙂

ولكن الافضل عمل جدول وادخال هذه البيانات (وغيرها في المستقبل) في حقل ، وحقل آخر للرقم ،

ومن ثم استخدام الاستعلام او دالة لقراءة النصوص وتحويلها لارقام 🙂

 

جعفر

 

19 ساعات مضت, rockjone33 said:

حدث عند الفتح او عند التحديث. 

اضافة متغير انتقر 

واكمل وعدل على الشرط اما قيمة او رقم اذاكانت تساوي قيمة الى حقل غير منظم قيمة: 

او حقلين منسدله او قائمة منضمة للتغير لعدة حقول في جدول آخر..  كما اشار..  ☝

او عدل على دالة التفقيط..  🙂

==================================================

اللي يقصده اضافة حقل قائمة منضم جدول بحقلين نص ابتدائي والاخر رقم 60\46.. 🙂 من حقل قائمةاستعلام حدد الحقل غير منظم ولكن لن ينفع مع نموذج مستمر..  

الا استعلام تحديث بشرط IFF يعبي الكل..  🙂

او 

نفس الجدول بحقلين db. rs يحدث من غير الرجوع للبرمجه يزيد نص و يعدل بنص عند التشغيل يحدث..  كده الفانك.. 🙂

السلام عليكم ... بداية أشكركم جزيلاً لمتابعة الموضوع ومشاركته

ثانيا هذه هي قاعدة البيانات المطلوب التطبيق عليها

تحويل النصوص إلي أرقام.rar

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

منذ ساعه, Moosak said:

لم يتم التعديل علي الملف

من فضلك أعد رفع الملف بعد التعديل عليه 

تم تعديل بواسطه محمود أبوسيف
رابط هذا التعليق
شارك

عذرا حصل خطأ مطبعي 😅🖐

 

نزله الآن من جديد من المشاركة السابقة ..

1 ساعه مضت, Moosak said:

الآن صار الموضوع أسهل 🙂 

image.png.5f82aff908feda72a2d1ea7d8f961dda.png

 

تحويل النصوص إلي أرقام.rar 239.76 kB · 0 downloads

 

تم تعديل بواسطه Moosak
رابط هذا التعليق
شارك

10 دقائق مضت, Moosak said:

عذرا حصل خطأ مطبعي 😅🖐

 

نزله الآن من جديد من المشاركة السابقة ..

 

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

ممكن شرح طريقة الحل

وكيفية تطبيقها في التقرير

تم تعديل بواسطه محمود أبوسيف
رابط هذا التعليق
شارك

  • أفضل إجابة

طبعا يمكنك تطبيقها أينما شئت ( نموذج / استعلام / تقرير /..... ) .. الفكرة تكمن في أنك تجعل مصدر بيانات العنصر الذي تريده  سواء كان ( نموذج  ، تقرير )  مصدره يكون استعلام يجمع الجدولين ( جدول الفصول وجدول الصفوف ) وبهذا نستطيع الحصول على الأرقام المقابلة لحقول النصوص لأسماء الفصول أو الصفوف .. وبكود بسيط ( نفس الموجود في مربع نص الفصول بالأرقام ) تجمع الأرقام وتجعلها بين قوسين 🙂  هكذا :

"(" & [FosoolCbo].[column](0) & "/" & [SofoofCbo].[column](0) & ")"

وفي حالة الملف الذي أرفقته .. يجب أن تجعل للتقرير مصدر بيانات ( استعلام  ) يمكنك من خلاله أن تحدد الفصول المطلوب عرضها في التقرير .. وفي التقرير تجمع الأرقام بن قوسين ..

أدري أن الشرح النصي يشتت .. لكن يحتاج أن ترتب برنامجك بالأول .. وتصمم النموذج اللي يفتح التقرير ويحدد الصف اللي تريد تطبعه في التقرير ( وهذا ليس محور حديثنا الآن ) 🙂 

وبعدها نضبط التقرير 🙂 

تم تعديل بواسطه Moosak
  • Like 1
رابط هذا التعليق
شارك

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