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

الحصول على السجل الثانى فى الترتيب حسب حقل التاريخ


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

السلام عليكم

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

المطلوب

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

و هذا تم بحمد الله فى استعلام 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

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

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

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

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

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

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

اعتقد هذا المرجع استاذ عبدالفتاح

http://www.access-programmers.co.uk/forums/showthread.php?t=150368

لكن هل ممكن ترفع ملفك بعد التطبيق عليه 

بالتوفيق

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

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

أقل واجب

تفضل

استعلام

This

 

 

mylasttry.rar

جميل ومشكور

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

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

صارت سهلة

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

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

و نأخذ ال max منه

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

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

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

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

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information