منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : استعلام من عدة جداول لقاعدة بيانات اكسس
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم اخواني

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

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

وشكراً لكم


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

سيتم رفع قاعدة البيانات اكسس من الجداول وتوضيح الاعمدة
لاحظ في الاكواد اني لم استخدم جمل الربط مثل right left  و غيرها
أرجو ان يكون في المشروع ماتريده.
(07-11-23, 08:25 AM)justforit كتب : [ -> ]
لاحظ في الاكواد اني لم استخدم جمل الربط مثل right left  و غيرها
أرجو ان يكون في المشروع ماتريده.

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

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

المثال معدل مرفق
اضافة بسيطة لاظهار التفاصيل غير الظاهرة
(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
(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

اخانا الكريم كيف نعدل على الكود ان اردنا اظهار اعمدة الجدول الاول
شكر الله لك.
(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
(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

سبحان الله
كيف لم انتبه لهذا الكود او هذه الطريقة من قبل.
توفير الى ابعد حد
شكر الله لك و بارك فيك
يا ريت تعدل علي المثال للفائدة العامة
الصفحات : 1 2