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

اسبدال قيم العمود بكلمات

بدأه ADEL29 في 13 أكتوبر 2013 · 7 رد · 612 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

 

عندي عمود في القاعده يحتوي على القيم  0  و 1

 

اريد استبدال هذه القيم   بكلمات عند الطباعه   مثل عندما اطبع تقرير  بدل  0  اضع كلمه معينه    وبعدل  1  كلمه معينه اخرى  اما في القاعده  نفسها تبقى الارقام كما هي  اي عمود مكون من اصفار و واحدات

#2

السلام عليكم ورحمة الله وبركاته

 

يمكنك ذلك بإذن الله عن طريق استخدام الكلمة Case بفرض لديك عمود اسمه Status يحتوى على 0 أو 1 وتريد عرض كلمة متاح أو غير متاح بناء على هذه القيم

Select status = case

when status=0 then 'no'

when status = 1 then 'yes'

end

from table1

أدعو الله أن يجعل أعمالنا خالصة لوجهه الكريم --- وأن ينفعنا بما علمنا

Dr Sayed Tohamy

Programming Instructor

مدرب برمجة

---------------

EmaSoft2000

-------------------

#3

لسلام عليكم

اخي الحبيب  هل استطيع ان  القاعده تسجل مباشره بدل من القيم 1 و 0  مثلا  yes   و no     مباشره في القاعده  

#4

اذا كنت تريد التسجيل yes و no في القاعده مباشرة بدلا من 0 و 1 سيتطلب منك تغيير نوع بيانات الحقل في الجدول أولاً من bit الي nvarchar وسيتطلب أيضا تغيير جملة الــ insert الموجود طرفك وقت الحفظ واعتقد انك ستقوم باستبدال

الاداه check box الموجوده علي الفورم باداه أخري اسمها combo box لوضع القيم yes and no بداخلها ... عموما هذه العملية ستتطلب تغييرات لكي تستطيع تغيير نمط الحقل والا تستخدم الطريقة التي قال عليها الاخ سيد تهامي

و هي تعتبر الافضل لك عندما تريد طباعة القيم وتغييرها الي كلمات مفهومة 

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 13 أكتوبر 2013 في 09:02

1

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#5
ADEL29 كتب:

لسلام عليكم

اخي الحبيب  هل استطيع ان  القاعده تسجل مباشره بدل من القيم 1 و 0  مثلا  yes   و no     مباشره في القاعده  

تماماً كما قال الأخ محمد تركى بارك الله فيه، فلا يوجد أى مشكلة فى تخزين أى بيانات فى قاعدة البيانات ولكن يتطلب أن تكون أنواع الحقول مناسبة للبيان وكذلك ستغير جملة الإدخال insert

 

أما لو أردت تغيير القيم الحالية من 0 و 1 إلى كلمات أخرى فيمكنك استخدام أمر التعديل update

update table1 set status = case

when status=0 then 'no'

when status = 1 then 'yes'

end

تم تعديل هذه المشاركة بواسطة ema2000_t في 13 أكتوبر 2013 في 14:30

أدعو الله أن يجعل أعمالنا خالصة لوجهه الكريم --- وأن ينفعنا بما علمنا

Dr Sayed Tohamy

Programming Instructor

مدرب برمجة

---------------

EmaSoft2000

-------------------

#6

بارك الله فيك أخي الفاضل

سيد التهامي

 

لكن للتوضيح ان الحقل الذي يكون نوع بياناتة bit تكون القيم المخزنة داخل الجدول هي True أو False لذلك لن نستطيع تغيير هذه القيم الي yes و no الا في حالة واحده فقط وهي اذا غيرنا نوع بيانات الحقل نفسه الي نوع آخر مناسب

وأنا أفضل

أن يظل الحقل كما هو ومن خلال الاجراءات المخزنة نستخدم كما تفضلت باستخدام Case when لحل هذه المسأله وأعتقد ان العضو لجأ الي تفضيل تغيير البيانات نفسها داخل الجدول بدلا من استخدام Case when لانه في اعتقادي لا يعرف

طريقة استخدامها لكن من الافضل ان يحل هذه المسأله بها سواء من خلال Case when أو من خلال انشاء Formula داخل التقرير

 

مثال لتحويل 0 و 1  الي yes و No من خلال Formula باستخدام تقارير الكريستال ريبورت

 

حيث ان CurrentFieldValue هو اسم الحقل المراد تغيير بياناته

IIf(CurrentFieldValue=True, 'Yes', 'No')

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 13 أكتوبر 2013 في 20:00

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#7

جزاكم الله خيرا

#8

السلام عليكم ورحمة الله وبركاته

أخى محمد تركى كلامك صحيح بإذن الله

والاختيارات متاحة أمام الأخ عادل وبارك الله فى الجميع

أدعو الله أن يجعل أعمالنا خالصة لوجهه الكريم --- وأن ينفعنا بما علمنا

Dr Sayed Tohamy

Programming Instructor

مدرب برمجة

---------------

EmaSoft2000

-------------------

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