الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن تجميع النسبة المئوية

مغلق
بدأه khaleel في 30 أبريل 2002 · 15 رد · 977 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

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

لو سمحمت يا اخواني لدي سؤال عن تجميع النسبة المئوية في عدد من الحقول في نموذج فرعي بحيث يتم تثبيت كل نسبة في حقل خاص بها ولا تتأثر بزيادة القيمة في الحقل الأخر .

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

والشرح بالتفصيل عن المطلوب موجود مع القاعدة المرفقة :

http://mypage.ayna.com/khaleel_aq/test.zip

شكراً للجميع .

#3

السلام عليكم

نشكرك علي المثال ، و أسجل اعجابي بالحل السهل الممتنع

#4

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

الشكر الجزيل للأخ حارث 77 .

لكن الوصلة لم تعمل لدي . وهل ممكن كتابتها من جديد .

وشكراً لك على المساعدة

#5

انقر على الوصلة بالزر الأيمن واختر حفظ الهدف باسم

وقد جربت الوصلة وهي تعمل بهذه الطريقة .

فإن لم ينفع ذلك اكتب بريدك أرسلها أنا أو أحد الإخوة إليك بإذن الله.

#6

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

الأخ الحارث 77 : لقد عملت الوصلة ونزلت القاعدة . وجزاك الله خيرا.

هذا هو المطلوب بالضبط ، ولكن توجد مشكلة وأتوقع أن تكون صغيرة وهي : أنه عند دخال سجل آخر يقوم باضافة مجموع السجل السابق الى السجل الحالى . بمعنى أنك لو أضفت سجل آخر الى السجل الأول والمسمى باسم محمد يقوم بجمع السجلين ، وأن أوريده أن يجمع كل سجل لوحدة .

وجزيتم خيراً

#7

الملف بعد تصحيح الخطأ:

http://mypage.ayna.com/harith66/Sum222.zip

(انقر بالزر الأيمن واختر حفظ الهدف باسم)

#8

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

شكرا جزيلا ياخ حارث وبارك الله فيك وفي علمك

لقد حلت المشكلة وهذا هو المطلوب بالضبط .

والسلام عليكم

#9

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

الأخوة الأعزاء هل يمكن اكمال المعروف وتوضيح كيفية حل هذه . حيث أنها متعلقة بالسؤال في بداية الموضوع

وشرح المطلوب مرفق مع القاعدة المرفقة

http://mypage.ayna.com/khaleel_aq/test2.zip

وشكراً للجميع

#10

الأخ خليل :

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

#11

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

أهلا بك يا أخ حارث وبجميع الأخوه .

في حقيقة الأمر أنا أعمل قاعده بيانات خاصة بادارة مشاريع خاصة بالعمل و قد انتهيت منها ولم يتبقي لي فيها سوى هاتين الجزئيتين وهما الجزئية الأولى والتى تفضلت مشكوراً بحلها فجزاء الله عنى خيراً أما الجزئية الثانية في موضع السؤال الأخير وسأشرح بالضبط المطلوب .

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

قيمة المشروع 12500 ريال ويتكون الرفع من اربع مراحل في هذا المشروع

المرحلة الأولى : قيمتها كما في المثال 1700 ريال

المرحلة الثانية والى قام المقاول برفعها في 6700 ريال ولكن قيم المستخلص الحقيقي للمرحلة الثانية هو 6700 - 1700 = 5000 ريال فقط على اعتبار أنه تم صرف مبلغ 1700 ريال في المرحلة الأولى

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

9700-(1700+500) = 300 ريال وهكذا

أرجو أن أكون قد وفقت في شرح المطلوب

شاكراً ومقدراً حسن التعاون

والسلام عليكم

#12

اقترح اقتراح قد يفيد نوعا ما

وهو ان تضيف خانة في الجدول الاساسي بمرادك

ثم في النموذج تعمل داله تضيف ماتريد على الجدول وتقوم بعمل تنشيط للنموذج اعتقد انها تعمل وسهله جدا

#13

الأخ خليل :

لدي مثال قد يفيدك ، وقد تعذر علي تحميله في صفحة أين ، لذا ارجو تزويدي بإيميلك .

#14

وهذه طريقة المثال:

أنشئ مربع نص جديد في النموذج Table2 Subform ، واجعل اسم مربع النص هو Lastnum1 واجعل مصدر البيانات فيه هو

=DMax("[num1]";"[table2]";"[nub]=[forms]![Table1]![auto] and [num1]<[forms]![Table1]![Table2 Subform]![num1]")

(مهمة مربع النص هذا أن يعرض آخر مسلسل لنفس الاسم)

ثم أنشئ مربع نص آخر واجعل اسمه LastPrice واجعل مصدر بياناته

=DLookUp("[price]";"[table2]";"[num1]=[forms]![Table1]![Table2 Subform]![Lastnum1]")

(مهمة مربع النص هذا أن يعرض سعر المسلسل المعروض في المربع السابق)

اذهب إلى مربع النص Text4 (المتبقي) واجعل مصدر بياناته :

=[price]-[LastPrice]

ويمكنك أن تخفي مربعي النص Lastnum1 و LastPrice ، ما لم يكن لك بهما حاجة .

وإذا لم تعجبك هذه الطريقة بسبب مربعي النص هذين ، فهناك طريقة أخرى :

اكتب في الوحدة النمطية الخاصة بالنموذج الدالة التالية :

Function Remn()

Dim LastNum, LastPrice

LastNum = DMax("[num1]", "[table2]", "[nub]=[forms]![Table1]![auto] and [num1]<" & Me.num1)

If IsNull(LastNum) Then

Remn = Me.price

Else

LastPrice = DLookup("[price]", "[table2]", "[num1]=" & LastNum)

Remn = Me.price - LastPrice

End If

End Function

ثم اذهب إلى مربع النص في النموذج Table2 Subform واجعل مصدر بياناته :

=Remn()

ملاحظة : أتمنى لو راجع بعض الإخوة هذا الكود للتأكد من صحته .

وأخيرا أظن أن لو اتبعت طريقة الأخ بوب عابد لكان أفضل وأسرع .

#15

المثال (مع الشكر للأخ أشرف للإرشاد إلى هذا الموقع الجديد) :

http://www.pcpages.com/harith77/Rem002.zip

(انقر بالزر الأيمن واختر حفظ الهدف باسم)

#16

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

ما شاء الله عليك يا أخ حارث وجزاك الله عندي خيراً وجعل في موازين حسناتك .

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

شاكراً للجميع حسن التعاون

هذا الموضوع مغلق.

مواضيع مشابهة