السلام عليكم
عندي عمود في القاعده يحتوي على القيم 0 و 1
اريد استبدال هذه القيم بكلمات عند الطباعه مثل عندما اطبع تقرير بدل 0 اضع كلمه معينه وبعدل 1 كلمه معينه اخرى اما في القاعده نفسها تبقى الارقام كما هي اي عمود مكون من اصفار و واحدات
السلام عليكم
عندي عمود في القاعده يحتوي على القيم 0 و 1
اريد استبدال هذه القيم بكلمات عند الطباعه مثل عندما اطبع تقرير بدل 0 اضع كلمه معينه وبعدل 1 كلمه معينه اخرى اما في القاعده نفسها تبقى الارقام كما هي اي عمود مكون من اصفار و واحدات
السلام عليكم ورحمة الله وبركاته
يمكنك ذلك بإذن الله عن طريق استخدام الكلمة 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
-------------------
لسلام عليكم
اخي الحبيب هل استطيع ان القاعده تسجل مباشره بدل من القيم 1 و 0 مثلا yes و no مباشره في القاعده
اذا كنت تريد التسجيل yes و no في القاعده مباشرة بدلا من 0 و 1 سيتطلب منك تغيير نوع بيانات الحقل في الجدول أولاً من bit الي nvarchar وسيتطلب أيضا تغيير جملة الــ insert الموجود طرفك وقت الحفظ واعتقد انك ستقوم باستبدال
الاداه check box الموجوده علي الفورم باداه أخري اسمها combo box لوضع القيم yes and no بداخلها ... عموما هذه العملية ستتطلب تغييرات لكي تستطيع تغيير نمط الحقل والا تستخدم الطريقة التي قال عليها الاخ سيد تهامي
و هي تعتبر الافضل لك عندما تريد طباعة القيم وتغييرها الي كلمات مفهومة
تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 13 أكتوبر 2013 في 09:02


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
-------------------
بارك الله فيك أخي الفاضل
سيد التهامي
لكن للتوضيح ان الحقل الذي يكون نوع بياناتة 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


جزاكم الله خيرا
السلام عليكم ورحمة الله وبركاته
أخى محمد تركى كلامك صحيح بإذن الله
والاختيارات متاحة أمام الأخ عادل وبارك الله فى الجميع
أدعو الله أن يجعل أعمالنا خالصة لوجهه الكريم --- وأن ينفعنا بما علمنا
Dr Sayed Tohamy
Programming Instructor
مدرب برمجة
---------------
EmaSoft2000
-------------------