تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
استعلام من عدة جداول لقاعدة بيانات اكسس
#1
السلام عليكم اخواني

اريد استعلام عن موظف من جدول employees
ومن جدول Absences  يعطيني عدد ايام الغياب بحيث يكون count(empID) ويرجع لي اجمالي عدد ايام الغياب
ومن جدول Perks  يعطيني مجموع الاكراميات بحيث يكون Sum(Perks.Amount) ويعطيني اجمالي المبالغ من جدول الاكراميات
ومن جدول Advance يعطيني مجموع السلفة بحيث يكون sum(Advance.Amount) ويعطيني اجمالي المبالغ من جدول السلفة

وللعلم ان كل الجداول مرتبطة بجدول الموظفين عن طريق empID

وشكراً لكم


توضيح الجداول الاربعة التي قمت بكتابة اسمائها:
employees هو جدول للموظفين
Absences هو جدول لتسجيل الغياب على الموظف
Perks هو جدول الحوافز والاكراميات التي يتم حسابها للموظف ويتم اعطائه فوق راتبه الاساسي
Advance هو جدول يتم تسجيل المبالغ على الموظف والتي تم اعطائه كسلفة على الراتب بحيث يتم خصمها من راتبه اخر الشهر

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


الملفات المرفقة
.rar   db.rar (الحجم : 18.39 ك ب / التحميلات : 24)
الرد }}}
تم الشكر بواسطة:
#2
لاحظ في الاكواد اني لم استخدم جمل الربط مثل right left  و غيرها
أرجو ان يكون في المشروع ماتريده.


الملفات المرفقة
.zip   employees.zip (الحجم : 63.12 ك ب / التحميلات : 50)
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة:
#3
(07-11-23, 08:25 AM)justforit كتب :
لاحظ في الاكواد اني لم استخدم جمل الربط مثل right left  و غيرها
أرجو ان يكون في المشروع ماتريده.

الله يعطيك العافية اخوي ولكن هل في امكانية ان يكون عرض البيانات في داتا جريد واحدة
الرد }}}
تم الشكر بواسطة:
#4
(07-11-23, 09:00 PM)Adel27213 كتب : الله يعطيك العافية اخوي ولكن هل في امكانية ان يكون عرض البيانات في داتا جريد واحدة

الله يعافيك
نعم و بكل تاكيد بشرط ان نجعل استدعاء البيانات بشكل يدوي
دقائق ان شاء الله المثال ارفعه بعد التعديل

المثال معدل مرفق


الملفات المرفقة
.zip   employees.zip (الحجم : 62 ك ب / التحميلات : 55)
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: الحزين اليماني
#5
اضافة بسيطة لاظهار التفاصيل غير الظاهرة


الملفات المرفقة
.zip   employees.zip (الحجم : 63.59 ك ب / التحميلات : 76)
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة:
#6
(07-11-23, 05:17 AM)Adel27213 كتب : السلام عليكم اخواني

اريد استعلام عن موظف من جدول employees
ومن جدول Absences  يعطيني عدد ايام الغياب بحيث يكون count(empID) ويرجع لي اجمالي عدد ايام الغياب
ومن جدول Perks  يعطيني مجموع الاكراميات بحيث يكون Sum(Perks.Amount) ويعطيني اجمالي المبالغ من جدول الاكراميات
ومن جدول Advance يعطيني مجموع السلفة بحيث يكون sum(Advance.Amount) ويعطيني اجمالي المبالغ من جدول السلفة

وللعلم ان كل الجداول مرتبطة بجدول الموظفين عن طريق empID

وشكراً لكم


توضيح الجداول الاربعة التي قمت بكتابة اسمائها:
employees هو جدول للموظفين
Absences هو جدول لتسجيل الغياب على الموظف
Perks هو جدول الحوافز والاكراميات التي يتم حسابها للموظف ويتم اعطائه فوق راتبه الاساسي
Advance هو جدول يتم تسجيل المبالغ على الموظف والتي تم اعطائه كسلفة على الراتب بحيث يتم خصمها من راتبه اخر الشهر

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


كود :
select (select count(empID) from Absences where Absences.empid=employees.empID) as [عدد ايام الغياب],(select Sum(Perks.Amount) from Perks where Perks.empid=employees.empID) as [مجموع الاكراميات],(select sum(Advance.Amount) from Advance where Advance.empid=employees.empID) as [مجموع السلفة] from employees where employees.empID=123
الرد }}}
تم الشكر بواسطة: justforit
#7
(08-11-23, 09:52 PM)Ashraf10 كتب :
كود :
select (select count(empID) from Absences where Absences.empid=employees.empID) as [عدد ايام الغياب],(select Sum(Perks.Amount) from Perks where Perks.empid=employees.empID) as [مجموع الاكراميات],(select sum(Advance.Amount) from Advance where Advance.empid=employees.empID) as [مجموع السلفة] from employees where employees.empID=123

اخانا الكريم كيف نعدل على الكود ان اردنا اظهار اعمدة الجدول الاول
شكر الله لك.
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: Ashraf10
#8
(08-11-23, 10:50 PM)justforit كتب :
(08-11-23, 09:52 PM)Ashraf10 كتب :
كود :
select (select count(empID) from Absences where Absences.empid=employees.empID) as [عدد ايام الغياب],(select Sum(Perks.Amount) from Perks where Perks.empid=employees.empID) as [مجموع الاكراميات],(select sum(Advance.Amount) from Advance where Advance.empid=employees.empID) as [مجموع السلفة] from employees where employees.empID=123

اخانا الكريم كيف نعدل على الكود ان اردنا اظهار اعمدة الجدول الاول
شكر الله لك.

مش فاهم!
تقصد ايه ب(اظهار اعمدة الجدول الاول)
ادا كان اقصدك جدول employees ضع اسماء الاعمده بعد select الاولى زي
كود :
select employees.name as [اسم الموظف],(select count(empID) from Absences where Absences.empid=employees.empID) as [عدد ايام الغياب],(select Sum(Perks.Amount) from Perks where Perks.empid=employees.empID) as [مجموع الاكراميات],(select sum(Advance.Amount) from Advance where Advance.empid=employees.empID) as [مجموع السلفة] from employees where employees.empID=123
الرد }}}
تم الشكر بواسطة: justforit
#9
(08-11-23, 11:09 PM)Ashraf10 كتب : مش فاهم!
تقصد ايه ب(اظهار اعمدة الجدول الاول)
ادا كان اقصدك جدول employees ضع اسماء الاعمده بعد select الاولى زي
كود :
select employees.name as [اسم الموظف],(select count(empID) from Absences where Absences.empid=employees.empID) as [عدد ايام الغياب],(select Sum(Perks.Amount) from Perks where Perks.empid=employees.empID) as [مجموع الاكراميات],(select sum(Advance.Amount) from Advance where Advance.empid=employees.empID) as [مجموع السلفة] from employees where employees.empID=123

سبحان الله
كيف لم انتبه لهذا الكود او هذه الطريقة من قبل.
توفير الى ابعد حد
شكر الله لك و بارك فيك
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: Ashraf10
#10
يا ريت تعدل علي المثال للفائدة العامة
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: