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

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

قام بنشر

السلام عليكم

لدى جدول يشتمل على الدرجات التى حصل عليها الموظفون بتواريخها

المطلوب

الحصول على الدرجة الأخيرة حسب حقل التاريخ (الدرجة الحالية للموظف)

و هذا تم بحمد الله فى استعلام 2 باستخدام استعلام فرعى

 

و الآن مطلوب الحصول على السجل رقم 2 لكل موظف حسب التواريخ

يعنى الدرجة السابقة

و هو السجل الملون فى الصورة

للموظف رقم 1 على سبيل المثال

 

فكيف يتم ذلك

مع الشكر

 

drgat.rar

fffffdd.png

قام بنشر

استاذ عبد الفتاح حياك الله

هل الدرجات مرتبة بأي شكل الأولى الثانية وهكذا

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

وليس العكس ... هذا بحسب فهمي 

بالتوفيق

  • Like 1
قام بنشر

اخي عبدالفتاح

ايه رايك نسولف معاك شوية

لي ملا حظات 

1. عملت ربط في الاستعلام ربط خارجي ! اي احضار كل الموظفين ! لماذا ؟ لماذا لا يكون ربط داخلي ؟ بالعربي اخترت نوع الربط الثاني مش الاول ! فانا مش شايف حاجة لنوع الربط الثاني ؟ لانك عايز الاسم ؟ ومستحيل ان يكون هناك درجة لموظف مش موجود ! والا ممكن هذا ؟؟؟؟؟؟

2. استخدمت اكبر تاريخ لعرض اخر درجة مع العلم وجود تسلسل ؟ لماذا ؟ فانا شايف ابني على التسلسل اسهل من التاريخ ؟ والا ممكن لا يوجد تسلسل للدرجات او قد يدخل درجات سابقة بتسلسل جديد ؟ مثلا ادخال البيانات تتم من اكثر من مستخدم ولبيانات سابقة قديمة؟؟

 

تحياتي

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

أشكرك أخى رمهان

كلامك مضبوط

باكتمال الجدول

سيكون كل الموظفين على درجة

إذن الربط لا يؤثر

ثانيا

منطقيا آخر درجة للموظف

تكون بآخر تاريخ

أى أحدث تاريخ

هل سيقوم أحد بإدخال درجة أقل بتاريخ أحدث

مستحيل

مثلا موظف حصل على الأولى فى 2012

مستحيل أن يحصل على الثانية و هى درجة أقل فى 2014 مثلا

شكرا لرد

و أكيد اقتراحاتك محل اعتبار

و فى انتظار الرد

تم تعديل بواسطه عبد الفتاح كيرة
قام بنشر (معدل)

حياكم الله 

استاذ عبد الفتاح 

يجب ان يكون هناك جدول للدرجات ويكون مرتبط بجدول الموظفين

قم بإنشاء استعلام 

ضع هذا المعيار تحت اسم الدرجة darganame

[forms]![frm1]![darganame]

وهذا المعيار تحت رقم الموظف empid

[forms]![frm1]![empid]

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

بعدها يعرض البيانات

ستظهر لك مكررة بحسب تكرار الدرجة  ... وهذا اعتقد بسبب عدم وجود جدول مصدر لهذه الدرجات 

بالتوفيق

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

drgat.rar

تم تعديل بواسطه سعيد صواب
  • Like 1
قام بنشر
7 دقائق مضت, عبد الفتاح كيرة said:

أشكرك أخى رمهان

كلامك مضبوط

باكتمال الجدول

سيكون كل الموظفين على درجة

إذن الربط لا يؤثر

ثانيا

منطقيا آخر درجة للموظف

تكون بآخر تاريخ

أى أحدث تاريخ

هل سيقوم أحد بإدخال درجة أقل بتاريخ أحدث

مستحيل

مثلا موظف حصل على الأولى فى 2012

مستحيل أن يحصل على الثانية و هى درجة أقل فى 2014 مثلا

شكرا لرد

و أكيد اقتراحاتك محل اعتبار

و فى انتظار الرد

جميل جدا

اعتقد لم يصل لك ما اريد في النقطة الثانية

اقصد عمود dargaid هو تسلسل للدررجات ؟ هل اعتمد عليه لانه يوجد لدي فكره بالاعتماد عليه ؟ اقصد مثلا ان اكبر تسلسل للدرجة وللموظف هو بمثابة اخر درجة ؟

فمثلا التسلسل 10 هو اعلى تسلسل للموظف 1 ؟ هل اعتمد عليه ؟

  • Like 1
قام بنشر

أخى سعيد

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

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

عندما نعد تقريرا ببيانات الموظفين

يكون من ضمن هذه البيانات

الدرجة الحالية

تاريخها

الدرجة السابقة

تاريخها

و السؤال الإجرائى العملى

 

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

الذى يشتمل على تاريخ درجات كل الموظفين

بمعنى أنه 

قد يوجد بهذا الجدول

خمس أو ست درجات لموظف واحد

منذ بداية تاريخه الوظيفى حتى الآن

نحتاج منها فقط

للدرجتين الأخيرتين

أرجو أن يكون المطلوب واضحا

 

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

 

  • Like 1
قام بنشر

نعم أخ رمهان

لا بأس

فهو رقم يعلو و يزيد بالضرورة مع زيادة الدرجة

و مثله حقل التاريخ

أيضا 

لا يأخذ الموظف درجة جديدة أعلى و يعود تاريخها للوراء

الدرجة تكون أعلى

و التسلسل للدرجة أيضا يزيد

و التاريخ أيضا يصير أحدث

و شكرا

الان, سعيد صواب said:

اعتذر منك استاذ عبد الفتاح 

 لأن السؤال لم يكن واضح من الأساس

 

آسف لذلك

لعله واضح الآن

قام بنشر

اخي عبدالفتاح

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

Expr1: DLookUp("[darganame]","tbldrgat","drgadate=#" & DMax("drgadate","tbldrgat","empid=" & [empid]) & "#")

وبعد كذا نشوف الدرجة الثانية !

 

قام بنشر

ممكن تطبيق على الملف

لأنه تخرج رسالة خطأ

حتى بعد أن عدلت الفاصلة 

إلى فاصلة منقوطة

 

و بالمناسبة

هل استعلام 2 الموجود بالملف لا يعطى الدرجة الأخيرة بصورة صحيحة؟

أجده يعمل جيدا

 

المشكلة فى الدرجة السابقة على الأخيرة

 

وشكرا لصبركم و سعة صدركم

قام بنشر

الصق هذا الاستعلام

SELECT tblDrgat.empId, DLookUp("[darganame]","tbldrgat","drgadate=#" & DMax("drgadate","tbldrgat","empid=" & [empid]) & "#") AS Expr1
FROM tblDrgat
GROUP BY tblDrgat.empId;

 

قام بنشر
2 دقائق مضت, عبد الفتاح كيرة said:

نفس الصورة السابقة

حقل expr1

فراغ

 

هل يعطيك رسالة اثناء فتح الاستعلام

قام بنشر

اوكي 

الحلول كثيرة ! 

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

 

drgat.rar

قام بنشر

وهذه بالاستعلام

وبدوال المجال! 

SELECT tblDrgat.empId, DLookUp("[darganame]","tbldrgat","drgadate=#" & DMax("drgadate","tbldrgat","empid=" & [empid]) & "#") AS 1, DLookUp("[darganame]","tbldrgat","drgadate=#" & DMax("drgadate","tbldrgat","drgadate<#" & DMax("drgadate","tbldrgat"," empid=" & [empid]) & "# and empid=" & [empid]) & "#") AS 2
FROM tblDrgat
GROUP BY tblDrgat.empId;

وهناك افكار اخرى !

وهذه على جدول الموظفين

SELECT جدول1.eid, جدول1.eName, DLookUp("[darganame]","tbldrgat","drgadate=#" & DMax("drgadate","tbldrgat","empid=" & [eid]) & "#") AS 1, DLookUp("[darganame]","tbldrgat","drgadate=#" & DMax("drgadate","tbldrgat","drgadate<#" & DMax("drgadate","tbldrgat"," empid=" & [eid]) & "# and empid=" & [eid]) & "#") AS 2
FROM جدول1;

 

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

شاكر جدا لصبرك معى

و فى هذه اللحظات فتح الله علينا بالحل

و قد كان أيضا عن طريق الاستعلام الفرعى

أهديك و الإخوة هذا الملف

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

و الحمد لله

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

12 دقائق مضت, رمهان said:

وهذه بالاستعلام

وبدوال المجال! 


SELECT tblDrgat.empId, DLookUp("[darganame]","tbldrgat","drgadate=#" & DMax("drgadate","tbldrgat","empid=" & [empid]) & "#") AS 1, DLookUp("[darganame]","tbldrgat","drgadate=#" & DMax("drgadate","tbldrgat","drgadate<#" & DMax("drgadate","tbldrgat"," empid=" & [empid]) & "# and empid=" & [empid]) & "#") AS 2
FROM tblDrgat
GROUP BY tblDrgat.empId;

وهناك افكار اخرى !

وهذه على جدول الموظفين


SELECT جدول1.eid, جدول1.eName, DLookUp("[darganame]","tbldrgat","drgadate=#" & DMax("drgadate","tbldrgat","empid=" & [eid]) & "#") AS 1, DLookUp("[darganame]","tbldrgat","drgadate=#" & DMax("drgadate","tbldrgat","drgadate<#" & DMax("drgadate","tbldrgat"," empid=" & [eid]) & "# and empid=" & [eid]) & "#") AS 2
FROM جدول1;

 

 

Next to Last Record.zip

المشكلة أخى رمهان

أن هذه الاستعلامات تعطى فراغا

ولا أدرى ما السبب

جزاك الله خيرا على تعبك معنا

و أرجو أن تدرس الملف ةو تتحفنا بشرح و توضيح له

تم تعديل بواسطه عبد الفتاح كيرة
قام بنشر
4 دقائق مضت, عبد الفتاح كيرة said:

أقل واجب

تفضل

استعلام

This

 

 

mylasttry.rar

جميل ومشكور

بس انا عايز السجل الثاني فقط ! اي الدرجة الثانية فقط ؟

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

صارت سهلة

سنجعل هذه النتيجة للسجل الثانى و الثالث

استعلام فرعي داخل استعلام رئيس جديد

و نأخذ ال max منه

هل نسيت استعلام رقم 2

الذى تستخلص به الدرجة الأخيرة

واللا أيه رأيك

الاستعلامات الفرعية تقبل حتى 32 مستوى

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

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