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

*فورم* برنامج لجمعية خيرية

مغلق
بدأه ابن مسقط في 24 أكتوبر 2001 · 25 رد · 7,551 مشاهدة · في قسم الأرشيف و المواضيع المميزه
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أخواني في الله

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

يوجد في منطقتنا جمعية خيرية لإقراض الناس . ولأجل مساعدة الإدارة فقد قمت بإنشاء برنامج على أكسيس 2000 خاص بهذه الجمعية يساعد على القيام بالأعباء المالية ، ويتكون البرنامج من 6 جداول كالأتي :-

أولاً: جدول المشتركين

رقم المشترك (حقل ترقيم تلقائي)

الاسم (نص)

مقر السكن (نص)

رقم جواز السفر (نص)

هاتف العمل (رقم)

ثانياً: جدول الصندوق

رقم الحساب (ترقيم تلقائي)

رقم المشترك (رقمي)

رقم المجموعة (رقم)

قيمة القسط (عملة)

ثالثاُ: جدول رصيد دائن

رقم الحساب (رقم)

تاريخ (تاريخ)

رصيد دائن (عملة)

رابعاً: جدول رصيد مدين

رقم الحساب (رقم)

تاريخ (تاريخ)

رصيد مدين (عملة)

خامساً: جدول المشرفين

رقم المشرف (ترقيم تلقائي)

اسم المشرف (نص)

تاريخ التعيين (تاريخ)

مقر السكن (نص)

سادساً: جدول المجموعات

رقم المجموعة (ترقيم تلقائي)

اسم المجموعة (نص)

تاريخ الإنشاء (تاريخ)

رقم المشرف (رقم)

وبعد إنشاء البرنامج واجهتني مشكلة عظيمة بالنسبة لي نظراً لقلة خبرتي وهي بلا شك ستكون عندكم بسيطة بإذن الله.

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

1- بعد التوقيع على العقد ودفع المشترك لأول قسط ، تحدد له الجمعيه رقم الإشتراك ودوره على حسب تسلسل المشتركين يحدد دور استلام المشترك للقرض.

2- لا يمكن في أي حال من الأحوال إعطاء المشترك رقماً قبل دفعه لأول قسط.

3- في حالة استلام أحد المشتركين قرضه يتقدم دور المشترك تسلسلياً حتى يصل دوره المحدد لاستلامه القرض ، وذلك عند وصول دوره رقم (1).

4- مع العلم أنه يحق للشخص الواحد أن يشترك بأكثر من إشتراك واحد (على هذا الأساس تم بناء البرنامج).

مثال:-

دور زيد في الصندوق التعاوني (43) واستلم ثلاثة أشخاص قروضهم من الصندوق التعاوني ، بالتالي يصبح دور زيد الجديد (40) ، وهكذا إلى أن يصل دوره إلى الرقم (1) ليحل أجل استلامه للقرض .

وسؤالي هو كيف أستطيع أن أضع حقل يقوم بإعطاء رقم دور للمقترض حسب الآلية المذكور أعلاه ، وطبعاً هذا الحقل أريده أن يظهر في النموذج وكذلك في التقرير أثناء الطباعة؟

أما السؤال الثاني :

فيحق للمشترك أن يطلب كتابياً من إدارة الصندوق التعاوني بخفض القسط ما لم يستلم القرض. وفي هذه الحالة يتم احتساب مقدار القرض وفق التوضيح التالي: ساهم زيد على مدة ستة أشهر بمبلغ قدره (100) ريال شهرياً ، وذلك على أساس فترة تعاقد عشرة أعوام (12000) ريالأ ، طلب زيد خفض القسط بعد ذلك إلى (50) ريال . فإنه يعاد حساب القرض حسب القسط الجديد ، أي (600) ريالاً ويعتبر المشترك كأنه دفع أقساط أكثر مقدماً. إذ أن المشترك قد دفع لصندوق الجمعية مبلغاً قدره: أقساط ستة أشهر= 100 X 6 = 600 ريال عماني.

بعد تخفيض مبلغ القسط ، يتم إعادة حساب عدد الأقساط السابقة = 600 ÷ 50 = 12قسطاً ، أي كأنه دفع 12 قسطاً مقدماً.

ولذا فإنه يحق للمشترك أن لا يدفع شيئاً لمدة ستة أشهر تالية. علماً بأن ذلك لا يؤثر على دور استلامه للقرض.

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

والله الموفق؟

ibnmusqat.gif
#2

الأخ ابن مسقط

إجابة السؤال الأول :

1- في الجدول الذي فيه أسماء المشتركين إما أن تضع حقل نعم/لا أوتضع حقل تاريخ تسجل فيه تاريخ استلام المشترك للقرض وفي النموذج نضع المصدر له عبارة SQL في معيار لحقل التاريخ اكتب Is Null وهكذا ستظهر أسماء المشتركين الذي لم يستلموا القرض فقط .

2- الآن نريد أن يظهر الاسم الذي بعد هذا الاسم هو الأول نضع على نفس الجدول السابق حقل رقمي ونرقم حاليا الأسماء الموجودة يدويا بحيث يكون الشخص المستحق للقرض حاليا هو الأول ثم يليه رقم 2 للثاني وهكذا ونجعل ترتيب ظهور السجلات في النموذج بناء على هذا الحقل .

3- يتبقى علينا أن يكون إعادة الترتيب تلقائيا بمعنى أن لا يضطر المستخدم إلى إعادة الترقيم كلما استلم مشترك قرضا فنعمل استعلام تحديث يقوم بإنقاص رقم 1 من جميع المشركين الذي -شرط في معيار- حقل التاريخ لهم فارغ .

4- في حدث بعد الإدراج أو في غيره من الأحداث المناسبة نضع عبارة :

[اسم حقل ترتيب المشتركين الموجود في النموذج]= Dlast("اسم حقل الترتيب في الجدول";"اسم الجدول")+1

وذلك لوضع ترتيب تلقائي لكل مشترك جديد .

أفضل أن تضع استعلام التحديث واستعلام إعادة الاستعلام للنموذج في حدث زر نقر أمر :

Docmd.runSql("عبارة SQL")

Me.Requery

مع وضع عبارة للتأكد من أن أصغر رقم في الترتيب هو 2 حتى لا يتم إعادة الترتيب فيما لو نقر الزر خطأ .

أما السؤال الثاني فأنا أفضل أن ترسل لي الملف لأعدل عليه وأرسله لك .

لك تحياتي

#3

أستاذي/ أبو حمود

بادىء ذي بدء أشكرك على تكرمك بالرد على أسئلتي.

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

على كل حال فقد قمت بإرسال الملف إلى بريدك للتكرم بإجراء ما تراه مناسباً.

ولك الأجر والثواب عند الله تعالى.

والله الموفق.

ibnmusqat.gif
#4

السلام عليكم

اخي المفترض تحليل النظام عندك برمجيا

على سبيل المثال وبالمختصر المفيد

من هي الجوانب الممكن التعامل معها كدخالات على سبيل المثال

المشتركين

الموظفين

الحسابات

القيود اليومية

السندات بانواعها صرف قبض

فواتير صرف

وغيره

----------------------------------------

اعتبر المشترك وحسب دوره في النظام جدول خاص به ثم تفرع منه جداول اخرى والحاملة للبيانات التي لاتستخدم بكثرة لتجنب بطئ الجهاز

ادخال كل حركة اساسيه البيانات الثابتة فيه فقط

ثم انشاء جدول للحركات وربط الجدولين عن طريق المفتاح الرئيسي

اي ادخالات للمشترك تكون في ملف الحركة او جدول اخر اذا تطلبة الامور وتوسعة مع الاخد في الاعتبار وضع نتغيرات في الملف الرئيسي تقراء جميع التقارير نتيجة الحركة الحاصلة في الملف الحركة

مثال

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

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

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

يكون المشترك باخده للقرضة انشاء حركة سجلات رئيسية وحركية او فرعية وبالتالي اصبح مدين بالمبلغ الذي اخدة في الملف الرئيسي والحركة تنصب في ملفة الحركات العمومي تبع المشتركين

ويكون عندنا رصيد للقرضة في الملف كما ذكرنا مدين وهده نتغيرات تنشا عن طريق الحركة التي طرات من خلال حركة القروض المعطاه للمشتركين

------------------------------------------------

ملف رئيسي المشتركين

ملف حركي للمشتركين مربوط بالمفتاح الرئيسي مع الملف الرئيسي

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

---------------

عند الاستعلام عن الملف الرئيسي تلاحظ جميع الارصدة وغيرها المنشاة نتيجة حركات قد ثبتت ولها اثبات الحركة والمستند

---------------------

كدلك الكلام ينطبق على المستندات الاخرى التي لها نظام مستندي خاص في الجمعية ...

----------------------

اخي هدا ما ستطيعة ارجو ان يفيد ولو قليل

والل من وراء القصد

#5

أخي/ slhslm

عذرا لم أعرف أن أنطق أسمك بالعربي فكتبته كما هو باللغة الإنجليزية.

أشكرك جزيل الشكر على إقتراحاتك ونصائحك.

ان المنهج الذي ذكرته بلاشك يجب أن يتبعه كل مبرمج محترف ولا شك أنه أفادني على الرغم أني مبتدىء.

أخي بارك الله فيك وجزاك كل خير

أسأل الله ان يوفق الجميع لما يحبه ويرضاه.

ولك تحياتي.

ibnmusqat.gif
#6

الأخ ابن مسقط

ارسلت الملف على بريدك .

ولك تحياتي

#7

أستاذي/ أبو حمود

لقد أستلمت الملف وجزاك الله كل خير.

سوف أقوم بمراجعة وإجراء التجارب على الملف

وسوف أفيدك ان شاء الله في أقرب وقت بما يتم التوصل إليه.

ولك أجمل التحية.

ibnmusqat.gif
#8

أستاذي/ أبو حمود

أرجو ان يكون صدرك واسعاً لملاحظاتي ، وهي كالأتي :-

أولا:- تغيير قيمة سهم لمشترك :

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

فهل يمكن إظهار رسالة للمستخدم تنبهه إلى ضرورة أن يكتب التاريخ في حقل "ابتداء من تاريخ" وكذلك مبلغ السهم الجديد في حقل "إلى" في حالة تركه الحقلين فارغين بعد أن يضغط زر "تعديل سهم".

ثانياً:- إستعلام التحديث :

عند تعديل سهم مشترك ، يجري إستعلام تحديث وبدروه يجبرنا على ضغط موافق مرات عديده –(حسب عدد الاشهر التي سيتوزع عليها مبلغ دائن) ، ولا شك أنه غير عملي ، وياحبذا لو تم تحديث الإستعلام بعد أول نقرة على موافق. فهل يمكن حل هذا الإشكال؟

ثالثاً:- ظهور بعض الكسور عند تعديل السهم :

عند تعديل السهم الى عدة أسهم قد تظهر بعض الكسور مثل تعديل السهم من 100 إلى 300 ومجموع اشتراكاته 1000 فستظهر النتيجة 3.333333 للأسف لم أستطيع أن أجد حلاً ، فهل تعلو العين على الحاجب؟

رابعاً:- طباعة تقرير

كيف أستطيع ان أصنع تقرير يحتوي بين جنباته أسم المشترك + رقم دوره + إجمالي رصيد دائن + إجمالي رصيد مدين + أخر قسط قام بدفعه المشترك وتاريخه ؟ بصراحة حاولت أن أعمل التقرير بنفسي فلم أستطع.

والله يوفقك إلى كل ما هو خير تريده ويبعد عنك الشرور ،

ولك مني أعطر التحية.

ibnmusqat.gif
#9

الأخ ابن مسقط

أرسلت الملف على بريدك بعد التعديل .

أولا وثانيا ورابعا تم حلها أما ثالثا فالأمر راجع إليك هل ترغب بإرجاع بقية المبلغ للمشترك أم ماذا ؟ ماهو نظام الصندوق في مثل هذه الحالة ؟

ولك تحياتي

#10

أستاذي/ أبو حمود

الملف الذي أرسلته رائع وأنا أغبطك على هذا العلم الذي تفيض به.

بخصوص ثالثاُ:

نظام جمعيتنا يسمح بإنقاص قيمةالقسط المدفوع من قبل المشترك ولا يوافق على زيادته إلا في ظل ظروف خاصه جداً.

لابأس ان يكون البرنامج مرن بحيث يقبل الحالتين على أن تبقى الزيادة في الصندوق. حسب المثال الأتي :-

زيد قسطه 100 ريال ومجموع أقساطه المدفوعة 1000 ريال، اراد تعديل القسط من 100 ريال إلى 300 ريال، وبالتالي فإن المبلغ سيتوزع على 4 أشهر وفق التالي:

يناير = 300 ريال

فبراير = 300 ريال

مارس = 300 ريال

أبريل = 100 ريال

بخصوص : الفرق بين مجموع رصيد دائن ومجموع رصيد مدين

هل يمكن أن أضع على نموذج [الصندوق] حقل تظهر فيه نتيجة الفرق بين رصيد دائن ورصيد مدين؟

وأخيراً أدعو الله ان يجعل في قلبك نوراً، وفي لسانك نوراً، وفي بصرك نوراً، وفي سمعك نوراً، وعن يمينك نوراً، وعن يسارك نوراً، ومن فوقك نوراً، ومن تحتك نوراً، ومن أمامك نوراً، ومن خلفك نوراً، وان يجعل في نفسك نوراً، أنه سميع مجيب الدعاء.

ولك خالص إحترامي وتقديري.

ibnmusqat.gif
#11

أستاذنا أبوحمود ممكن ترسل لي البرنامج المذكور على الإيميل mmhhee5@hotmail.com لعلي أستفيد منه وألف شكر لك على تعاونكم معنا

#12

الأخ محسن

إذا سمح الأخ ابن مسقط أرسلته لك بعد عمل التعديل الذي طلبه .

ولك تحياتي

#13

أستاذي/ أبوحمود

مسموح وألف مسموح ولادعي أن تستأذن البرنامج من صنعك ، تستطيع أن ترسله إلى من تشاء لكي يستفاد منه بعد التعديل.

لعلك يأستاذي تتفضل بوضع وصله للبرنامج يستطيع من يريد إنزاله منها.

ولك الأجر عند الله تعالي.

ولك خالص تحياتي.

ibnmusqat.gif
#14

أستاذنا أبوحمود وابن مسقط هل من الممكن ترسل لي البرنامج المذكور على الإيميل masterit7@hotmail.com لعلي أستفيد منه وألف شكر لك على تعاونكم معنا

__________________

#15

الأخ محسن محمد والأخ NASSER ALSAIDI

سأضع رابط للبرنامج بعد عمل التعديل فاسمحا لي ببعض الوقت .

الأخ ابن مسقط

نسيت أن أشكرك على دعائك أسأل الله أن يتقبل منك وأن يوفقك ويعينك ويهديك وييسر أمرك ويغفر لك .

وللجميع التحية

#16

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

الأخ ابو حمود خذ من الوقت ما يكفيك

ونحن في الأنتظار بارك الله فيك .

#17

الأخوة

هذا رابط للبرنامج بعد التعديل :

http://mypage.ayna.com/h_h123/Gmeia.zip

وللجميع التحية

#18

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

أستاذي/ أبوحمود

جزاك الله كل خير بلا حساب ، على ما قمت به ،

لقد أصبح البرنامج رائع بعد التعديل الذي أجريته

وسيسهل الأمور الإدارية والمالية للجمعية بفضل الله ثم بفضلك وإخلاصك.

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

وعلى نفس المنهاج قمت بعمل زر على نموذج [الصندوق] يظهر رسالة تحذيرية قبل البدء بحذف أي مشترك وفق الكود التالي :

Private Sub أمر_حذف_مشترك_Click()

If MsgBox("ستقوم الآن بحذف بيانات المشترك :" & vbCrLf _

& [رقم المشترك].Column(1) & vbCrLf _

& "هل أنت متأكد ؟" & vbCrLf _

& " " & vbCrLf _

& "أضغط (نعم) للإستمرار أو (لا) لإلغاء الأمر.", vbQuestion + vbYesNo _

+ vbMsgBoxRight + vbMsgBoxRtlReading, "حذف مشترك") = vbYes Then

DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70

DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

Exit Sub

End If

Cancel = -1

End Sub

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

ومطلبي الأخير (وعذراً لأني أثقلت عليك بطلباتي) ولكنها حاجة المتعلم:

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

ولك خالص تقديري وإحترامي.

ibnmusqat.gif
#19

في مربع الحوار خيارات في صفحة التبويب تحرير/بحث أزل علامة صح من مربع التدقيق تغييرات السجلات .

وبرمجيا ضع قبل سطر الحذف :

Application.SetOption "Confirm Record Changes", False

وللتفصيل أكثر انظر موضوع تغيير خيارات مربع حوار خيارات برمجيا .

في الكود الذي كتبته لا داعي لـ

Exit Sub

و لا

Cancel = -1

بالنسبة لسؤالك الأخير :

1- عندي أغلب الكتب الموجودة في الرياض عن الأكسس خاصة التي تكثر فيها الأكواد .

2- أقوم بتجميع كل فائدة أحصل عليها من أي كتاب أو منتدى أو حل لمشكلة أثناء البرمجة في مستند وورد حتى ولو لم أكن في حاجة إليها في هذا الوقت وأقوم بفهرستها وتنظيمها وكذلك إدراج بعض الملفات داخله كملفات مضغوطة ومشاريع جاهزة وأدوات أكتف أكس وغيرها مع شرح لها .

3- كما قلت يتشابة الفيوجل بيسك مع الأكسس في البرمجة تشابها كبيراً وعليه فقد اشتريت بعض كتب VB المليئة بالأكواد للإستفادة منها .

4- التعليمات التي تأتي مع الأكسس فيها الكثير من الفوائد والشروح .

5- تحميل قواعد البيانات ومشاريع VB ومعرفة طريقة عملها ولدي حاليا المئات منها لم أستطع التفرغ لها .

6- استخدام بعض برامج الترجمة في ترجمة المواقع الإنجليزية الخاصة بالأكسس أو VB للإستفادة منها .

وأهم نقطة أو بداية هي فقرة اثنين فليس من المعقول بل من المستحيل حفظ الآف الطرق والأكواد ، بل قد نستبعد الفكرة نفسها أو نظن أنها غير ممكنة ولكن بالكتابة تجد كل شيء ميسر (أنسخ وألصق وكمل) .

زادك الله علما ووفقك لك بر .

ولك تحياتي

#20

أستاذي/ أبو حمود

جزيت خيرا على ما تقوم به من جهد.

أسأل الله أن يحفظك بالإسلام قائماً، ويحفظك بالإسلام قاعداً ،

ويحفظك بالإسلام راقداً ، ولا يشمت بك عدواً ولا حاسداً .. أللهم آمين

ولك تحياتي.

ibnmusqat.gif
#21

جزاكم الله خيرا يا أهل الخير

فعلا البرنامج الذي وضعتموه بين أيدينا فعلا برنامج خير من عدة وجوه

-1- أنه صار بمقدور الجمعيات الخيرية الإستفادة منه وهو فعل خير

-2- أنه صار بمقدور المبتدئين مثلي الإستفادة منه وهو فعل خير أيضا

-3- أنه يعلم فعل الخير ولهدف الخير

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

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

#22

الأخ ابن مسقط الأخ محسن محمد

حياكم الله وجزاكم الله كل خير .

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

وفق الله الجميع لما يحب ويرضى .

ولكم تحياتي

#23

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

لم استطع انزال البرنامج ،فالوصلة لاتعمل فآمل من الأخ / أبو حمود وضع وضع وصلة اخرى ، مع الشكر

وجزاكم الله خيرا

#24

الاخ الكريم/ 911

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

يشرفني أن أضع في الأتي الوصلة الجديدة لبرنامج "الجمعية الخيرية" لكي يتمكن الجميع من الإستفادة منه ان شاء الله :

إنزال البرنامج

والله الموفق.

ibnmusqat.gif
#25

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

شكراً لكما ، و جزاكما الله خير يابن مسقط أنت و الأخ أبوحمود .

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

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