ابوخليل قام بنشر الثلاثاء at 20:12 قام بنشر الثلاثاء at 20:12 السلام عليكم الصورة أمامكم هي الجدول الوحيد في المرفق اريد التأشير على مربع الخيار (تجديد) كما يلي : يظهر في الصورة معرفات وتواريخ في سجلات المعرف 1 تواريخ ثلاثة اريد الابقاء على سجل واحد فقط بدون تأشير وهو التاريخ الأكبر ( ويتم التأشير امام السجلين الآخرين ) ومثله في سجلات المعرف 2 والمعرف 6 اما المعرفات 3 ، 4 ، 5 فتبقى كما هي بدون تأشير لأنها سجلات وحيدة احبتي .. افضل التحديث عبر استعلام .. ولا بأس بغيره testData.accdb
تمت الإجابة ابو جودي قام بنشر الثلاثاء at 20:37 تمت الإجابة قام بنشر الثلاثاء at 20:37 وعليكم السلام ورحمة الله تعالى وبركاته اتفضل يا والدى الحبيب و استاذى الجليل و معلمى القدير استاذ @ابوخليل 39 دقائق مضت, ابوخليل said: افضل التحديث عبر استعلام الاستعلام الاول فقط ومنفردا سوف يلبى رغبتك تماما : ينفذ طلبك تماما --------------------------- والاستعلام الثانى: لحذف اى تأشير عن السجل الذي يحمل أحدث تاريخ لكل usrID يمكن استخدامه قبل او بعد الاستعلام الاول كإجراء تصحيح ان اردت لو تم اى تأشير عن طريق الخطأ أو ممكن عمل استعلام تحديث للتأشير على الكل والاستعلام الثانى يقوم بالمهمة المطلوبة مثلا - شغل الاستعلام الثالث اولا للتأشير على الجميع -ثم الاستعلام الثانى لحذف اى تأشير عن السجل الذي يحمل أحدث تاريخ لكل usrID النتيجة : testData -2.accdb 1
ابوخليل قام بنشر الثلاثاء at 20:59 الكاتب قام بنشر الثلاثاء at 20:59 32 دقائق مضت, ابو جودي said: الاستعلام الاول: ينفذ طلبك تماما والاستعلام الثانى: لحذف اى تأشير عن السجل الذي يحمل أحدث تاريخ لكل usrID يمكن استخدامه قبل او بعد الاستعلام الاول كإجراء تصحيح ان اردت لو تم اى تأشير عن طريق الخطأ أو ممكن عمل استعلام تحديث للتأشير على الكل والاستعلام الثانى يقوم بالمهمة المطلوبة تسلم الأنامل .. عاداتك تتحفنا بزيادات واحتياطات .. ما هو انت بذاتك تحفة الاستعلام الأول هو المطلوب والثاني شامل وكامل بارك الله فيك وزادك علما ورفعة . 1
ابو جودي قام بنشر بالامس في 17:26 قام بنشر بالامس في 17:26 في 22/7/2025 at 23:59, ابوخليل said: تسلم الأنامل .. عاداتك تتحفنا بزيادات واحتياطات .. ما هو انت بذاتك تحفة الاستعلام الأول هو المطلوب والثاني شامل وكامل بارك الله فيك وزادك علما ورفعة . الله يسلم حضرتك وبخصوص الزيادة والاحتياط هذا ما تعلمته منكم ومن باقى اساتذتى العظماء بارك الله فيكم جزاكم الله خيـــــــــــرا على دعواتكم الطيبة
mohammed farhat قام بنشر منذ 21 ساعات قام بنشر منذ 21 ساعات السلام عليكم : ما شاء الله كم نتعلم من هذا الحوار الراقي بين استاذة المنتدي و لكي تعم الفائدة هل من الممكن أن يشرح الاستاذ ابو جودي بقليل من التفصيل الكود المستخدم في عمل الاستعلام الاول UPDATE tblEshtrakatTsdeed AS t1 SET t1.jad = True WHERE EXISTS ( SELECT 1 FROM tblEshtrakatTsdeed AS t2 WHERE t2.usrID = t1.usrID AND t2.lstDate > t1.lstDate ); و جزاكم الله خيرا
ابو جودي قام بنشر منذ 9 ساعات قام بنشر منذ 9 ساعات 11 ساعات مضت, mohammed farhat said: السلام عليكم وعليكم السلام ورحمة الله وبركاته وبخصوص شرح جملة الاستعلام الموضوع بيعتمد على مقارنة بين سجلات الجدول نفسه باستخدام دالة EXISTS واستعلام فرعي الاستعلام يقوم بتحديث جدول tblEshtrakatTsdeed وبالتحديد الحقل jad بحيث يتم تعيين قيمته إلى True للسجلات التي تستوفي شرط معينه الشرط يعتمد على مقارنة بين سجلات الجدول نفسه من خلال استعلام فرعي Subquery خلينى أفصل مكونات الاستعلام علشان نبسط الدنيا شوية جزء التحديث : UPDATE UPDATE tblEshtrakatTsdeed AS t1 SET t1.jad = True تم استخدام AS t1 لإعطاء الجدول اسم مستعار :t1 لتسهيل الإشارة إليه داخل الاستعلام خاصة عند مقارنة سجلات الجدول نفسه و يتم تعيين قيمة العمود jad إلى True للسجلات التي تحقق الشرط شرط التحديث WHERE EXISTS ( SELECT 1 FROM tblEshtrakatTsdeed AS t2 WHERE t2.usrID = t1.usrID AND t2.lstDate > t1.lstDate ) هذا الشرط يحدد السجلات في الجدول tblEshtrakatTsdeed (المحدد باسم t1) سيتم تحديثها بناء على وجود سجلات أخرى في نفس الجدول المحدد باسم :t2 والتى تحقق شروط معينة دالة EXISTS: تتحقق مما إذا كان هناك سجل واحد على الأقل في الاستعلام الفرعي يحقق الشرط ليتم تحديث السجل في t1 الاستعلام الفرعي: SELECT 1 FROM tblEshtrakatTsdeed AS t2 WHERE t2.usrID = t1.usrID AND t2.lstDate > t1.lstDate SELECT 1: في استعلامات بها دالة EXISTS بدلا من استرجاع بيانات فعلية يتم إرجاع قيمة ثابتة (1) لأننا نهتم فقط بوجود السجل وليس بمحتواه FROM tblEshtrakatTsdeed AS t2: نفس الجدول tblEshtrakatTsdeed ولكن باسم مستعار مختلف:t2 وذلك حتى نستطيع تمييزه عن t1 الشرط: t2.usrID = t1.usrID: يتطابق معرف المستخدم (usrID) بين السجل في t1 والسجل في t2 هذا يعني أننا نبحث عن سجلات لنفس المستخدم t2.lstDate > t1.lstDate: يتحقق مما إذا كان تاريخ السجل في t2 (الموجود في العمود lstDate) أحدث (أكبر) من تاريخ السجل في t1
mohammed farhat قام بنشر منذ 1 ساعه قام بنشر منذ 1 ساعه جزاكم الله كل خير شرح ممتاز و فهمت المقصود منه - ربنا يبارك لك في علمك و يزيدك من العلم النافع و يوسع لك في رزقك
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.