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

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

قام بنشر

السلام عليكم الإخوة الأفاضل في هذا المنتدى الجميل

في هذا الموضوع أريد استخراج 3 قيم من جدول وفق معايير محددة :

الشرح: كمثال

مثال : من النموذج نختار السنة : 2024/2023

ونفتح التقرير الذي يظهر علامات تقييم الموظفين خلال السنوات المختارة
 

اخترت السنة 2024/2023  فيظهر في التقرير الجزء السفلي:

السنة   2024/2023  (السنة المختارة من النموذج)  وأمامها العلامة التي تحصلها عليه الموظف وكذا ملاحظة المسؤول المباشر  وكذلك ملاحظة الموظف:

 

في الجزء العلوي من التقرير :

السنوات الثلاثة  الأخيرة :

اريد هنا أن تظهر كل سنة والعلامة التي تحصل عليها الموظف في السنة الموافقة:

وهنا : تظهر 3 سنوات فقط التي تسبق السنة التي يتم اختيارها من النموذج:

في مثالنا اخترنا : 2024/2023

السنوات التي تظهر : في هذا الجزء

2021/2020

2022/2021

2023/2022

السنوات التي تكون اقل من السنة التي اخترناها من النموذج frm_imprimer_note_administratif

(السنوات الاقل وتكون موجودة في جدول )

* إن كانت موجودة فعليا في الجدول  3 سنوات أقل من السنة التي اخترناها من النموذج: يتم اظهارها كلها

* إن كانت موجودة فعليا في الجدول  سنتين أو سنة أقل من السنة التي اخترناها من النموذج: يتم اظهارها كلها

* اذا كان عندي سنوات كثيرة اقل من السنة التي اخترتها من النموذج : يتم اختيار  الثلاثة الأخيرة فقط:

شرح : في مثالي أنا اخترت : 2024/2023

في الجدول: يوجد مثلا:

2019/2018

2020/2019

2021/2020

2022/2021

2023/2022

هنا يوجد سنوات كثيرة (5 سنوات) أقل من السنة  ( 2024/2023) التي اخترتها من النمودج :

النتيجة تكون

2021/2020

2022/2021

2023/2022

* إذا كانت لا توجد سنوات أقل من السنة التي اخترتها من النموذج:

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

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

توضيح في موضوعي هذا  : هنا انا سميت السنة بهذه الصيغة: 2024/2023 : وهنا أقصد بها سنة و  هي نفس مفهوم  كمثال: سنة : 2024)

عندما أقول : سنة 2024   : انا سميتها هنا  : سنة 2024/2023

عندما اقول 3 سنوات أقل من سنة : 2024 هي : سنوات 2023 و 2022 و 2021

عندما اقول 3 سنوات اقل من سنة: 2024/2023  هي : سنوات : 2023/2022         و 2022/2021       و 2021/2020

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

الرجاء المساعدة والتوجيه وبارك الله فيكم

BASEK.accdb

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

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

 

SELECT tbl_note_administrative.*, IIf([annet]=[Forms]![frm_imprimer_note_administratif]![annet1],1,2) AS RecordType
FROM tbl_note_administrative
WHERE (((tbl_note_administrative.annet)=[Forms]![frm_imprimer_note_administratif]![annet1] Or (tbl_note_administrative.annet) In (SELECT TOP 3 t.annet
        FROM tbl_note_administrative t
        WHERE t.annet < [Forms]![frm_imprimer_note_administratif]![annet1]
        AND t.situation_special="القيام بالخدمة"
        AND t.situation_poste_travail="موظف"
        ORDER BY t.annet DESC
    )) AND ((tbl_note_administrative.situation_special)="القيام بالخدمة") AND ((tbl_note_administrative.situation_poste_travail)="موظف"))
ORDER BY tbl_note_administrative.annet DESC;

 

تم تعديل بواسطه Foksh
  • Like 1
قام بنشر
6 ساعات مضت, Foksh said:

على حسب ما فهمت , وإن شاء الله يكون قريب من اللي محتاجه .ز جرب الاستعلام التالي مصدر سجلات التقرير

 

SELECT tbl_note_administrative.*, IIf([annet]=[Forms]![frm_imprimer_note_administratif]![annet1],1,2) AS RecordType
FROM tbl_note_administrative
WHERE (((tbl_note_administrative.annet)=[Forms]![frm_imprimer_note_administratif]![annet1] Or (tbl_note_administrative.annet) In (SELECT TOP 3 t.annet
        FROM tbl_note_administrative t
        WHERE t.annet < [Forms]![frm_imprimer_note_administratif]![annet1]
        AND t.situation_special="القيام بالخدمة"
        AND t.situation_poste_travail="موظف"
        ORDER BY t.annet DESC
    )) AND ((tbl_note_administrative.situation_special)="القيام بالخدمة") AND ((tbl_note_administrative.situation_poste_travail)="موظف"))
ORDER BY tbl_note_administrative.annet DESC;

 

مشكور جدا مرة أخرى  أخي على الرد والاهتمام بموضوعي

بعد التجربة أخي @Foksh

نختار  مثلا السنة  2024/2023

الاسم الأول : خالد            الاسم الثاني : العيدوسي

يعطيني النتائج التالية

السنوات التلاثة الأخيرة

السنة                   العلامة

2023/2022            19

2024/2023             18

السنة: 2024/2023      العلامة:    19   

ممتاز                              لاشئ

 

لكن المفروض تكون النتائج كمايلي:

السنة  2024/2023

الاسم الأول : خالد            الاسم الثاني : العيدوسي

السنوات التلاثة الأخيرة

السنة                   العلامة

 2021/2020             15

  2022/2021               16

  2023/2022               19

 

السنة: 2024/2023      العلامة:    18

ممتاز                              لاشئ

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

قام بنشر
3 ساعات مضت, moho58 said:

مشكور جدا مرة أخرى  أخي على الرد والاهتمام بموضوعي

بعد التجربة أخي @Foksh

نختار  مثلا السنة  2024/2023

الاسم الأول : خالد            الاسم الثاني : العيدوسي

يعطيني النتائج التالية

السنوات التلاثة الأخيرة

السنة                   العلامة

2023/2022            19

2024/2023             18

السنة: 2024/2023      العلامة:    19   

ممتاز                              لاشئ

 

لكن المفروض تكون النتائج كمايلي:

السنة  2024/2023

الاسم الأول : خالد            الاسم الثاني : العيدوسي

السنوات التلاثة الأخيرة

السنة                   العلامة

 2021/2020             15

  2022/2021               16

  2023/2022               19

 

السنة: 2024/2023      العلامة:    18

ممتاز                              لاشئ

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

يعني اقتربنا من تحقيق الهدف ،،

  • Like 1
قام بنشر
6 ساعات مضت, Foksh said:

يعني اقتربنا من تحقيق الهدف ،،

ان شاء الله استاذ @Foksh

مرة اخرى . جزاك الله كل الخير 

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

أخي الكريم @moho58 ، بما أنك لم تقرأ الإستعلام جيداً ، ابحث عن كلمة SELECT TOP 3 في الاستعلام الذي ارسلته سابقاً

وفقط غيرها الى SELECT TOP 4

 

وتنتهي مشكلتك بإذن الله :yes:

تم تعديل بواسطه Foksh
قام بنشر
5 ساعات مضت, Foksh said:

أخي الكريم @moho58 ، بما أنك لم تقرأ الإستعلام جيداً ، ابحث عن كلمة SELECT TOP 3 في الاستعلام الذي ارسلته سابقاً

وفقط غيرها الى SELECT TOP 4

 

وتنتهي مشكلتك بإذن الله :yes:

السلام عليكم أخي الكريم @Foksh

ممكن تعديل مثل الصورة الصورة المرفقة إن أمكن تجسيده

وشكرا كثيرا

صورة 3.jpg

قام بنشر

حسناً ، دعنا نتحايل على طريقة عرض القيم كالتالي :-

 

000.png.b00e2e8a7ee7dcc1c41e121c7de95e73.png

 

الملف بعد التعديل :-

BASEK.accdb

  • Like 1
قام بنشر
13 ساعات مضت, Foksh said:

حسناً ، دعنا نتحايل على طريقة عرض القيم كالتالي :-

 

000.png.b00e2e8a7ee7dcc1c41e121c7de95e73.png

 

الملف بعد التعديل :-

BASEK.accdb 528 kB · 6 downloads

اخي @Fokshعمل رائع . هذا هو المطلوب بالضبط

جزاك الله كل الخير. وبارك الله فيك وزادك في العلم

ألف شكر وامتنان 

 

  • Thanks 1
قام بنشر

السلام عليكم الأخ الكريم @Foksh

تحية طيبة ، بعد تجربة على عدد كبير من الموظفين 69 موظف

أصبح يعرض (سنتين فقط )

2023/2022

2022/2021

ولا يعرض سنة 2021/2020

رغم انها موجودة في الجدول  

كما في الصورة

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

صورة5.jpg

BASEK2025.accdb

قام بنشر
19 دقائق مضت, moho58 said:

السلام عليكم الأخ الكريم @Foksh

تحية طيبة ، بعد تجربة على عدد كبير من الموظفين 69 موظف

أصبح يعرض (سنتين فقط )

2023/2022

2022/2021

ولا يعرض سنة 2021/2020

رغم انها موجودة في الجدول  

كما في الصورة

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

صورة5.jpg

BASEK2025.accdb 556 kB · 0 downloads

ولا يهمك ، سألقي نظرة على الملف ونرى نقطة الضعف ، ولكني الآن قد ابتعدت عن الكمبيوتر 😇 .

بأقرب فرصة إن شاء الله 

  • Like 1
قام بنشر
7 دقائق مضت, Foksh said:

ولا يهمك ، سألقي نظرة على الملف ونرى نقطة الضعف ، ولكني الآن قد ابتعدت عن الكمبيوتر 😇 .

بأقرب فرصة إن شاء الله 

ربي يبارك فيك أخي

  • تمت الإجابة
قام بنشر
22 ساعات مضت, Foksh said:

بأقرب فرصة إن شاء الله 

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

SELECT tbl_note_administrative.*, IIf([annet]=[Forms]![frm_imprimer_note_administratif]![annet1],1,2) AS RecordType
FROM tbl_note_administrative
WHERE (((tbl_note_administrative.annet)=[Forms]![frm_imprimer_note_administratif]![annet1] Or (tbl_note_administrative.annet) In (SELECT TOP 2 t.annet                  FROM tbl_note_administrative t                  WHERE t.annet < [Forms]![frm_imprimer_note_administratif]![annet1]                  AND t.situation_special = "القيام بالخدمة"                  AND t.situation_poste_travail = "موظف"         AND t.num = tbl_note_administrative.num                  ORDER BY t.annet DESC          )) AND ((tbl_note_administrative.situation_special)="القيام بالخدمة") AND ((tbl_note_administrative.situation_poste_travail)="موظف"))
ORDER BY tbl_note_administrative.annet DESC;

 

  • Like 1
قام بنشر
منذ ساعه, Foksh said:

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

SELECT tbl_note_administrative.*, IIf([annet]=[Forms]![frm_imprimer_note_administratif]![annet1],1,2) AS RecordType
FROM tbl_note_administrative
WHERE (((tbl_note_administrative.annet)=[Forms]![frm_imprimer_note_administratif]![annet1] Or (tbl_note_administrative.annet) In (SELECT TOP 2 t.annet                  FROM tbl_note_administrative t                  WHERE t.annet < [Forms]![frm_imprimer_note_administratif]![annet1]                  AND t.situation_special = "القيام بالخدمة"                  AND t.situation_poste_travail = "موظف"         AND t.num = tbl_note_administrative.num                  ORDER BY t.annet DESC          )) AND ((tbl_note_administrative.situation_special)="القيام بالخدمة") AND ((tbl_note_administrative.situation_poste_travail)="موظف"))
ORDER BY tbl_note_administrative.annet DESC;

 

بعد التجربة أخي الكريم

روعـــــــة شغال بامتياز وبدون مشاكل

أخي جزاك اللــه كل الخيـــــر و البركـــــــــــــــــات .و ربي يرزقك من حيت لا تحتسب . آميـــــــــــن

ألف شكر وامتنان وتقدير

  • Thanks 1

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

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

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

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

سجل حساب جديد

تسجيل دخول

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

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

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

Important Information