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

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


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

الموضوع

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

   دلة تجمع عدد الاخوات تلقائيا فى الاستعلام مثال اذا كان اسم ولى الامر مكرر مرتين يكون عدد الاخوات 2 وإذا كان اسم ولى الامر مكرر ثلاث مرات يكون عدد الاخوات 3 وهكذا

·  ودلة اخرى اذا كان اسم ولى الامر مكرر اكثر من مره فى النموذج يضع عليه علامة صح تلقائيا وإذا كان غير مكرر تظل خانة الاختيار كما هى دون تدخل من المستخدم

· ودلة عند تكرار اسم ولى الامر ياخذ نفس الرقم تلقائيا

مثال اذا كان كود ولى الامر 1 وعنده ثلاث ابناء بالمدرسة يتم تكرار رقم 1 ثلاث مرات تلقائيا فى سجلات ولى الامر  واذا كان كود ولى الامر رقم 2 وعنده اربع ابناء بالمدرسة يتم تكرار رقم 2 اربع مرات تلقائيا فى سجلات ولى الامر  وهكذا
هل من مساعد لتنفيذ هذه الفكرة والاهم فى تنفبذها ان تسجل النتائج فى استعلام ليتم عمل التقارير منه

ولى الامر.rar

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

وفقك الله أستاذ حمدي

أقترح حسب ما تعلمنا في قواعد كيفية بناء قاعدة بيانات قوية

* أن يتم إنشاء جدول لأولياء الأمور فيه (رقم واسم ولي الأمر وعنوانه وعدد الأبناء حقل محسوب وأي بيانات مطلوبة عن ولي الأمر)

* وجدول آخر للطلاب به (رقم الطالب ورقم ولي الأمر (حقل ربط بين الجدولين) واسم الطالب الأول فقط وفصله وأي بيانات تخص الطالب)

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

وتعرض بيانات الطلاب أسفل نموذج أولياء الأمور في النموذج الفرعي

كل عام أنتم بخير

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

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

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

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

ليس من الضروري فصل جدول اولياء الامور عن الطالب 

يمكن ادراج بيانات ضمن بيانات جدول تسجيل الطلاب

وتسجيل كل الطلاب بصورة عادية جدا جدا

لكل طاب سجل جديد وبعد زلك يمكن فرز الطلاب

باستخدام الية الفرز علي حسب ولي الام(نظلل اسم ولي الامر ونختار  من قائمة كلك يمين عبارة يتضمن)

وبزلك يجلب لنا التقرر كل الطلاب المسجلين ضمن ولي الامر

وهنا يمكن حساب عددهم بتجميع ال كود الطاب sum

لاحظ المرفق

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

لاحظ المرفق

لكن يحتاج لبعض العمل

ونصيحتي لك لاتزحم البرنامج بالشاشات والجداول

وشكر

والله الموفق

معاذ الزين

السودان

واتساب 00249127976617

ibnjabalapp@gmail.com

راسلني يا الظابط

الظابط.png

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

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

2 - نموذج حسابات منفصل وتقارير منفصله وايصال دفع بالمدفوع والمتبقى لعدد الابناء

3- فصل ولى الامر الذى له عدد ابناء  للبحث عنه بالاسم او بالرقم ليظهر عدد الابناء ببيانتهم
غير امو كثيرة جدا والحمد لله تقريبا خلصت منها 95 % وعند الانتهاء من القاعدة سوف يتم عرضها واشكرك على المدخله ولك تحياتى

 

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

في الاول غيرت نموذجك من نوع سبلايت الى نموذج مستمر

وفي حدث الحالي كتبت هذا الكود

Private Sub Form_Current()
On Error Resume Next
        Me.Text11 = Me.اسم_ولى_الامر
        Me.Text72 = Me.رقم_الملف
End Sub

واضفت مربعين نصيين في اعلى النموذج  مع زر واحد

2017-06-22_155100.png.a3c3f4f208ac27080aa0ce4405ba246f.png

وفي خلف الزر كتبت هذا

Private Sub Command74_Click()
On Error Resume Next ' للعبور على الاخطاء
    Me.Command74.Enabled = False ' انبل زر الحدث لكي لا يتم الضغط على الزر مرتين
    Dim AddCul As String ' متغير لاضافة حقل
    Dim WeliAmmir As String ' متغير للتحديث حقل ولي امر
    Dim MyDcount As Integer ' متغير لتعداد السجلات
    Dim MiRic As Integer ' متغير لكي يكون معنا في كل سجل
    Dim WeliAmir As Integer ' متغير لتعداد اسم ولي الامر المكرر
    Dim delCol As String ' متغير لحذف الحقل المضاف في الاول
    Me.RecordSource = "" ' مصدر النموذج يساوي لا شيء لكي نقدر نضيف سجل الى جدول (جدول أ ) باس ( اسم ولى امر)
    AddCul = "ALTER TABLE [جدول أ] ADD [اسم ولى الامر] text(100)" ' اضافة حقل من نوع تيكست الى جدول أ و مسموح ل 100 حروف
    DoCmd.SetWarnings False ' ايقاف التحذيرات
    DoCmd.RunSQL (AddCul) ' تشغيل اضافة حقل
    MyDcount = DCount("[رقم الملف]", "[جدول أ]") ' تعداد رقم الملف في جدول أ
    weliammeir = "UPDATE [جدول أ] INNER JOIN [الاسماء المكررة 1] ON [جدول أ].[رقم الملف] = [الاسماء المكررة 1].[رقم الملف] SET [جدول أ].[اسم ولى الامر] = [الاسماء المكررة 1]![اسم ولى الامر] WHERE ((([جدول أ].[رقم الملف])=[الاسماء المكررة 1]![رقم الملف]));"
   ' تحديث حقل المضاف في جدول أ باسماء الي في حقل استعلام مكررة 1 بشرط ان يكون رقم الملف بيكون متساوى
    Me.Refresh  ' تحديث النموذج
    DoCmd.RunSQL (weliammeir) ' تشغيل التحديث الحقل
    Me.RecordSource = "جدول أ" ' مصدر النموذج يساوي جدول أ
    Me.Refresh ' تحديث النموذج
            Me.اسم_ولى_الامر.SetFocus ' اكتيف اي تحديد اسم ولي امر
        DoCmd.GoToRecord , , acFirst ' الى سجل الاول
    For MiRic = 1 To MyDcount ' من سجل الاول الى اخر سجل
    If Len(DLookup("[كود ولى الامر]", "[جدول أ]", "[اسم ولى الامر]='" & Me.Text11 & "'") & "") = 0 Then
    '  اذا كود ولي امر الحالي ما بها اي بيانات اي عدد المسافة المستخدمة بيكون صفر
            Me.كود_ولى_الامر = Nz(DMax("[كود ولى الامر]", "[جدول أ]"), 0) + 1
            ' كود ولي الامر الحالي بيكون يساوي اكبر رقم من كود ولي الامر في جدول أ زائد واحد واذا ما بها اي رقم كود ولي الامر يساوي صفر زائد واحد
        Else ' اذا ما طبق شرط الاعلاه
            Me.كود_ولى_الامر = DLookup("[كود ولى الامر]", "[جدول أ]", "[اسم ولى الامر]='" & Me.Text11 & "'")
        ' كود ولي الامر يساوي بحث عن كود ولي الامر في جدول أ بشرط ان يكون اسم ولي الامر بيكون يساوي مع الاسم في مربع نصي باسم تيكست 11 في اعلا النموذج
    End If ' انهاء الشرط
    WeliAmir = DCount("[اسم ولى الامر]", "[جدول أ]", "[اسم ولى الامر]='" & Me.Text11 & "'")
    ' تعداد اسم ولي الامر في جدول أ بشرط ان يكون اسم الولي امر يساوي اسم اللي في مربع نصي باسم تيكست 11 اللي في اعلى النموذج
        If WeliAmir > 1 Then ' اذا كان العداد الاعلى بيكون اكبر من 1
                Me.له_اخوات = True ' له اخوات يساوي ترو اي صح اي عنده اخوات
                    Else ' واذا ما طبع الشرط الاعلاه
                Me.له_اخوات = False ' له اخوات يساوي فالس اي الغاء الصح امامه اي ليس له اخوات
        End If ' انهاء الشرط
            Me.عدد_الاخوات = WeliAmir ' عدد الاخوات في النموذج يساوي العداد الاعلى
            DoCmd.GoToRecord , , acNext ' الى سجل التالي
        Next MiRic  ' كن معنا مع السجل التالي وسيكون مع كل سجل يعمل هذا من فور ماي ريك الى اخر سجل
        Me.RecordSource = "" ' من جديد مصدر النموذج خلي بيكون لا شيء لكي نقدر ان نعمل الخطوة التالية
        Me.Requery ' تحديث
    delCol = "ALTER TABLE  [جدول أ] DROP COLUMN [اسم ولى الامر]" ' حذف حقل اسم ولى الامر في جدول أ
    DoCmd.RunSQL (delCol) ' تشغيل الحذف
        Me.RecordSource = "الاسماء المكررة 1" ' مصدر النموذج بيكون استعلام اللي باسم الاسماء المكررة 1
    DoCmd.SetWarnings True ' تشغيل التحذيرات
    Me.Command74.Enabled = True ' انبل الزر الحدث يساوي نعم
End Sub

وفي حدث عند الفتح النموذج كتبت هذا لكي يكون مصدر النموذج بيكون استعلام اسماء المكررة 1

Private Sub Form_Open(Cancel As Integer)
        Me.RecordSource = "الاسماء المكررة 1"
End Sub

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

ولى الامر.rar

تم تعديل بواسطه Shivan Rekany
  • Like 2
رابط هذا التعليق
شارك

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

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

ما شاء الله

كود ولا أروع أستاذ @Shivan Rekany

بالتوفيق للجميع

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

وربما يراها من لا يعرف قدرها غير مفيدة

ولا ضير في ذلك فقديما قالوا ( الإنسان عدو ما ي*** )

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

عيدكم سعيد

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

10 ساعات مضت, حمدى الظابط said:

تم الحل + 1

والحمدلله

9 ساعات مضت, ebnjabalapp said:

مشكور اخ شفان

نحن في الخدمة ان شاء الله بقدر مستطاعنا

8 ساعات مضت, أ / محمد صالح said:

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

عيدكم سعيد

وكل عام وانتم بالف خير وعيد سعيد

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

في ١٧‏/٦‏/٢٠١٧ at 00:02, أ / محمد صالح said:

وفقك الله أستاذ حمدي

أقترح حسب ما تعلمنا في قواعد كيفية بناء قاعدة بيانات قوية

* أن يتم إنشاء جدول لأولياء الأمور فيه (رقم واسم ولي الأمر وعنوانه وعدد الأبناء حقل محسوب وأي بيانات مطلوبة عن ولي الأمر)

* وجدول آخر للطلاب به (رقم الطالب ورقم ولي الأمر (حقل ربط بين الجدولين) واسم الطالب الأول فقط وفصله وأي بيانات تخص الطالب)

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

وتعرض بيانات الطلاب أسفل نموذج أولياء الأمور في النموذج الفرعي

كل عام أنتم بخير

ربما لم تصل الفكرة المطروحة في هذا الرد إلى الأذهان

فقمت على عجالة بهذا التصميم المبدئي لقاعدة بيانات المصروفات

ربما يفيدك هذا التخطيط لنفس الأغراض وأكثر

 

 

mas_المصروفات.rar

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

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

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

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