اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

السلام عليكم


بالقاعدة ثلاث صفوف من ثلاث جداول ، ويوجد تقرير واحد باسم "افادة قيد طالب"
أريد استخدام نفس التقرير إذا تم اختيار طالب من الصف الأول أو الثانى أو الثالث
مع ملاحظة أن التقرير حالياً له خاصية  مصدر السجل :tbl_student1
وإذا أردت استخدامه مع الصف الثانى فلابد من تغيير مصدر السجل إلى :tbl_student2
وهذا الموضوع يستدعى نسخ نفس التقرير للصف الثانى  ، ونسخ آخر للصف الثالث
وبفرض أن لدينا 20 مطبوعة  ، فبهذه الطريقة يجب وضع 60 تقرير ، ويعتبر هذا تكرار وإهدار

p_3868lcvah1.jpg

كما أريد إضافة حقل غير منضم مكان النقاط المشار إليها بالسهم ليتغير محتواه حسب الصف ( الأول ، الثانى ، الثالث )

أرفقت بالأسفل المثال أعلاه  ليتم التعديل فيه مباشرة

تحياتى وتقديري لكم جميعاً

db.mdb

قام بنشر

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

سؤال : ما الحكمة من فصل البيانات على ثلاث جداول لها نفس الحقول تقريبا ؟!!!

image.png.94b31311491a9ab9cca5f03035b125ea.png

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

قام بنشر
منذ ساعه, Moosak said:

سؤال : ما الحكمة من فصل البيانات على ثلاث جداول لها نفس الحقول تقريبا ؟!!!

ملحوظة فى محلها .. لكن

القاعدة الأصلية بدأت بالصف الأول ثم تباعاً تم الاحتياج للتصعيد للصف الثانى ثم الثالث

ويوجد أسباب أخرى غير واضحة فى المثال المرفق المفتطع من التطبيق

لكن حضرتك لم ترد على السؤال المذكور فى العنوان :

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

 

قام بنشر
7 دقائق مضت, أحمد العيسى said:

لكن حضرتك لم ترد على السؤال المذكور فى العنوان :

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

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

والإجابة على سؤالك هي : نعم ممكن .. عن طريق الكود .. أو نموذج تختار منه الجدول المطلوب عرضه ..
ولكن دامك مستسلم لفكرة فصل الجداول إلى 3 .. ليش ما تعمل 3 تقارير لها نفس التصميم ولكل واحد مصدر مختلف (الجدول الخاص به)  ؟! ..  هذا يتوافق مع فكرتك 😏

 

2 ساعات مضت, أحمد العيسى said:

كما أريد إضافة حقل غير منضم مكان النقاط المشار إليها بالسهم ليتغير محتواه حسب الصف ( الأول ، الثانى ، الثالث )

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

هلى حسب الجدول أو حسب عمود معين أو أيش ؟؟

قام بنشر
2 ساعات مضت, Moosak said:

ولكن دامك مستسلم لفكرة فصل الجداول إلى 3 .. ليش ما تعمل 3 تقارير لها نفس التصميم ولكل واحد مصدر مختلف (الجدول الخاص به)  ؟! ..  هذا يتوافق مع فكرتك 😏
 

هذا ما فعلته سابقاً (عمل ثلاث تقارير لها نفس المحتوى  للثلاث صفوف ) ، وكنت أريد التطوير بعمل تقرير واحد   .. وهذا هو السؤال الجوهري للموضوع !!

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

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

على حسب الجدول أو حسب عمود معين أو أيش ؟؟

الشرط موجود فى تسمية علوية بكل نموذج

p_3868bceei1.jpg

ومن خلال استخدام دالة ( Function ) فى مديول

=GetWordFromCaption("frm_OnlyYou1"; "txt_Name"; 4)

يتم استخراج كلمة الأول أو الثانى أو الثالث

p_3868kaiad1.jpg

لكن كيف يمكن استخلاص ذلك أولاً من زر النموذج الموجود بالنماذج الثلاثة والذهاب جاهزاً إلى التقرير :

p_3868fsajf1.jpg

قام بنشر (معدل)

مداخلة بسيطة مع الأستاذ موسى ..

بما انك أخي أحمد متمسك بهذا الطريق ، فلم لا تمرر اسم الصف من خلال الوسيط OpenArgs عند فتح التقرير في الزر btnViewer !!

انشئ ليبل وسمه Lbl_Class في التقرير ، واضبط تنسيقه وموضعه كما تريد .

وفي حدث عند الفتح في التقرير يصبح :-

Private Sub Report_Open(Cancel As Integer)
 DoCmd.Maximize
    If Not IsNull(Me.OpenArgs) Then
        Me.Lbl_Class.Caption = Me.OpenArgs
    End If
End Sub

 

وفي حدث النقر في الزر btnViewer سنعدل إجراء بسيط على جملة فتح التقرير لتصبح مثلاً للصف الأول في النموذج frm_OnlyYou1 :-

DoCmd.OpenReport myrep, acPreview, , "onlyyou=true", , "الأول"

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

 

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

db.mdb

تم تعديل بواسطه Foksh
إضافة توضيح...
  • Like 1
قام بنشر

وهذه تصور لفكرة يمكن ضبطها في ملفك ..

image.thumb.gif.939a8a12be544f662c1b3059bb2b210e.gif

 

قبل إرفاق الملف ، ما رأيك بهذه الفكرة ؟؟

قام بنشر

فكرة جميلة بلا شك ( خارج الصندوق)

لكن التطبيق الأصلي يعتبر 3 × 1  و نماذج كل صف تتفرع من شاشة أساسية تخبرك باختيار الصف المطلوب

لكن ماذا  عن هذه الفكرة :

3 ساعات مضت, Foksh said:

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

أتمنى العمل عليها  ، فهى أقرب لهذا التطبيق

قام بنشر

الهدف من هذا الموضوع هو الرغبة فى تعديل كبير على تقليل عدد التقارير التى عندي

كمثال التطبيق الأصلى يحتوي على 142 تقرير قابل للزيادة

والهدف النهائي هو تقليص عددهم إلى الثلث ..

أنا أضع مثال فقط لعرض الفكرة ثم يتم نقل الفكرة فى حال نجاحها للتطبيق الأصلي

أنظر لصور التقارير

p_38685rp1h1.jpg

 

 

قام بنشر

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

 

في الصورة المرفقة لا أعلم آلية عملك وطريقة بنائك للتقارير ، فإن كانت كما في مثالك المرفق السابق تستند الى حقول ثابتة ، فأعتقد انني تقدمت لك بحل يتوافق مع مرفقك وليس مع مشروعك لأنني لا اعلم شكل ولا بنية مشروعك ...

 

في فكرتي اعتمدت على تمرير معامل الصف ومصدر بيانات التقرير عند فتح التقرير الوحيد لـ 3 صفوف ( كل صف في جدول مختلف ) .

  • تمت الإجابة
قام بنشر
34 دقائق مضت, Foksh said:

ولكن إن جئت لعدد الجداول في ملفك المرفق ، هنا عدنا لفكرة الجدول الواحد مع إضافة حقل الصف له لتميز الطلاب بصفوفهم ..

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

قمت بإرفاق المثال بعد إنشاء إستعلام توحيدي يضم الثلاثة الجداول مع إضافة حقل (داخل الإستعلام) بإسم ClassNo يتم فيه إضافة رقم الصف لكل جدول وجعلت هذا الإستعلام هو مصدر بيانات التقرير

ثانيا من زر أمر فتح التقرير لكل نموذج قمت بإضافة معيار رقم الصف لتصفية بيانات التقرير مثلاً في النموذج الأول سيصبح معيار التصفية كالتالي

ClassNo=1 And onlyyou=true

ثالثاً بإستخدام دالة Choose قمت بكتابة رقم الصف في التقرير

لا أعلم إذا كان هذا الحل سيناسب أخونا @أحمد العيسى أم أن هناك مشاكل أخرى ستظهر عنده؟

ملاحظة أخيرة جدول الصف الثالث لم يحتوي على الحقول (Address + Work_father + Telephone) لذلك قمت بإضافتها في الإستعلام مع تعيين قيم فارغة لها

تحياتي

db.mdb

  • Like 2

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

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information