منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
استعلام من عدة جداول لقاعدة بيانات اكسس - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : استعلام من عدة جداول لقاعدة بيانات اكسس (/showthread.php?tid=47450)

الصفحات: 1 2


استعلام من عدة جداول لقاعدة بيانات اكسس - Adel27213 - 07-11-23

السلام عليكم اخواني

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

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

وشكراً لكم


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

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


RE: استعلام من عدة جداول لقاعدة بيانات اكسس - justforit - 07-11-23

لاحظ في الاكواد اني لم استخدم جمل الربط مثل right left  و غيرها
أرجو ان يكون في المشروع ماتريده.



RE: استعلام من عدة جداول لقاعدة بيانات اكسس - Adel27213 - 07-11-23

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

الله يعطيك العافية اخوي ولكن هل في امكانية ان يكون عرض البيانات في داتا جريد واحدة


RE: استعلام من عدة جداول لقاعدة بيانات اكسس - justforit - 07-11-23

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

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

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



RE: استعلام من عدة جداول لقاعدة بيانات اكسس - justforit - 08-11-23

اضافة بسيطة لاظهار التفاصيل غير الظاهرة



RE: استعلام من عدة جداول لقاعدة بيانات اكسس - Ashraf10 - 08-11-23

(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



RE: استعلام من عدة جداول لقاعدة بيانات اكسس - justforit - 08-11-23

(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

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


RE: استعلام من عدة جداول لقاعدة بيانات اكسس - Ashraf10 - 08-11-23

(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



RE: استعلام من عدة جداول لقاعدة بيانات اكسس - justforit - 08-11-23

(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

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


RE: استعلام من عدة جداول لقاعدة بيانات اكسس - atefkhalf2004 - 08-11-23

يا ريت تعدل علي المثال للفائدة العامة