الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

استعلام تحديث update

مغلق
بدأه المبرمج2003 في 17 يناير 2005 · 8 رد · 739 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

يا اخوان لدي جملة UPDATE استعلام تحديث شكلها معقدة شوي :angry: :angry: ويمكن ما تجي بس قلت اجرب وتساعدوني

طبعا المرفق موضح في المطلوب

هذي الجملة في استعلام التحديث

UPDATE tab 
SET MARK = "ممتاز"
WHERE NUMBER BETWEEN 90 AND 100;

وزي ما هو واضح لما تشغل الاستعلام يوم بوضع ممتاز كما هي في المكان الصحيح في الجدول لكن المشكلة

انا ابغى اطور الكويري بحيث يقوم بوضع ممتاز عندما تكون ال mark من 90 إلى 100 زي ما هي موجودة وكذلك جيد جدا عندما تكون ال mark من 80 إلى 89 وكذلك جيد عندما تكون ال mark من 70 إلى 79 ووووو الخ

جربت هذي وما نفعت

UPDATE tab

 SET MARK = "ممتاز"
WHERE NUMBER BETWEEN 90 AND 100;

 SET MARK = "جيد جدا"
WHERE NUMBER BETWEEN 80 AND 89;

 SET MARK = "جيد "
WHERE NUMBER BETWEEN 70 AND 79;

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

ريح من الزفرات تعصف في الحشى &&& و ورائها مطر من العبرات

ابو حسن

#2

هذا الملف المرفق في المشكلة

a.rar

ريح من الزفرات تعصف في الحشى &&& و ورائها مطر من العبرات

ابو حسن

#3

تفضل اخي المبرمج, إن شاءالله يكون هذا المطلوب

a.rar

#4

بارك الله فيك يا اخي الكريم ؛؛؛؛

انا ابيها في كويري واحد فقط

لنفرض اني عندي 100 كلمة غير ممتاز و جيد جدا ووووووووو الخ كيف اعملها

هل اعمل 100 كويري ؟!!!

المثال اللي وضعته هنا مجرد مثال لكي تصل الفكرة

ولكن الجواب اريده في كويري واحد فقط بارك الله فيك

ريح من الزفرات تعصف في الحشى &&& و ورائها مطر من العبرات

ابو حسن

#5

أخي الكريم ،،، ما رأيك بإستخدام قاعدة ( IIF ) بهذه الطريقة :

IIf(([number]>90);("ممتاز");IIf(([number]>85);("جيدجداً");(IIf(([number]>70);("جيد");(IIf(([number]>50);("ضعيف");(IIf(([number]<50);("راسب")))))))))

تضع هذا الكود في في الاستعلام في مكان ( تحديث إلى ) ... في حقل ( mark ) .

أي سوف يكون الاستعلام هكذا :

UPDATE tab SET tab.mark = IIf(([number]>90),("ممتاز"),IIf(([number]>85),("جيدجداً"),(IIf(([number]>70),("جيد"),(IIf(([number]>50),("ضعيف"),(IIf(([number]<50),("راسب")))))))));

غير الدرجات كما يحلو لك ,,, كي تتوافق مع متطلباتك .

تصفح المثال ،،، عسى أن يفي بالغرض ...

تحياتي : أبو عقيل

a.rar

المسلم من سلم الناس من لسانه ويده

#6

اخي مسلم muslim-es لا اجد كلمة اجمل والطف من كلمة

شكرا ؛؛؛؛

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

بارك الله فيك

ريح من الزفرات تعصف في الحشى &&& و ورائها مطر من العبرات

ابو حسن

#7

أيضاً هذا الكود يقوم بالمهمة :

Dim StrSQlUpdate As String
StrSQlUpdate = "Update tab set mark='ممتاز'"
StrSQlUpdate = StrSQlUpdate & " where number Between 90 And 100"
DoCmd.SetWarnings False
DoCmd.RunSQL StrSQlUpdate

StrSQlUpdate = "Update tab set mark='جيد جداً'"
StrSQlUpdate = StrSQlUpdate & " where number Between 80 And 89"
DoCmd.RunSQL StrSQlUpdate

StrSQlUpdate = "Update tab set mark='جيد'"
StrSQlUpdate = StrSQlUpdate & " where number Between 70 And 79"
DoCmd.RunSQL StrSQlUpdate

تم تعديل هذه المشاركة بواسطة أحمد الحربي في 19 يناير 2005 في 05:54

#8

حياك الله أخي الكريم ،،، بالتوفيق إن شاء الله ...

تحياتي : أبو عقيل

المسلم من سلم الناس من لسانه ويده

#9

وكذلك اخي احمد الحربي اشكرك من خالص قلبي

الحلول كثير لكن كنت اريدها كما عملها اخي مسلم من الكويري والحمد لله

انتهت المشكلة وتغلبنا على تحدي الاوراكل

ريح من الزفرات تعصف في الحشى &&& و ورائها مطر من العبرات

ابو حسن

هذا الموضوع مغلق.

مواضيع مشابهة