كيف يمكن في المثال المرفق اذا اردنا ان نضع 0 بدلا عن خطأ القسمة على صفر
القسمة على صفر في التقرير
Nothing is impossible, the word impossible itself says that: I M - Possible
حل جميل ولكن هل يوجد اي معادلة اذا ظهر اي خطأ ان لا يظهره بالتقرير ويظهر فراغ او 0
مثلا انا عندي هذه المعادلة التي تقوم بايجاد ال avg من الخليات الموجودة
=(Val([3])+Val([4])+Val([6])+Val([7])+Val([8])+Val([21])+Val([23])+Val([140])+Val([150]))/(IIf(Val([3])<>0,1,0)+IIf(Val([4])<>0,1,0)+IIf(Val([6])<>0,1,0)+IIf(Val([7])<>0,1,0)+IIf(Val([8])<>0,1,0)+IIf(Val([21])<>0,1,0)+IIf(Val([23])<>0,1,0)+IIf(Val([140])<>0,1,0)+IIf(Val([150])<>0,1,0))
ويقوم باعطاء نتائج صحيحة ولكن في حالة القسمة على 0 يعطي num#
تم تعديل هذه المشاركة بواسطة asder1977 في 6 فبراير 2007 في 15:50
يمكن استخدام التنسيق الشرطي لذلك
أو Conditional Formatting
وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ
اقتباسأستخدم:كود
=IIf([n2],[n1]/[n2],0)بدلاً من:
كود
=[n1]/[n2]
عزيزي اسامة
هذا الطريقة قد تعطي خطأ اسمه Circular Refrence وخاصة في Access2003 حيث تظهر على شكل اشارة تنبيه خضراء تماما كما يحدث في Excel ويعطي التقرير كلمة Err# بدلا من الحل
وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ
الأخ الفاضل ... همام
همام ابوعرقوب كتب:عزيزي اسامةهذا الطريقة قد تعطي خطأ اسمه Circular Refrence وخاصة في Access2003 حيث تظهر على شكل اشارة تنبيه خضراء تماما كما يحدث في Excel ويعطي التقرير كلمة Err# بدلا من الحل
أرجوا التعديل بالمثال الأساسى المرفق بالموضوع ثم إعادة إرفاقه لتوضيح الخطأ الذى تحدثت عنه
ملحوظة: يعمل عندى على Access 2003 بدون مشاكل
سؤال: لماذا اعد استخدام التكنيك السابق (الذى يحوى أخطاء على حد قولك) فى الإجابه على هذا الموضوع: /index.php?showtopic=120183 ؟؟؟
شكراً
تم تعديل هذه المشاركة بواسطة Eng. Usama El-Mokadem في 8 مارس 2007 في 17:55
Nothing is impossible, the word impossible itself says that: I M - Possible
عزيزي الكريم واخي اسامة
بارك الله فيك والله لا يحرمنا من علمك
كان خطأ مني ان اضع ردي في هذا الموضوع والاصل ان اضعه في الموضوع الاخر وهو الحقول الفارغة في التقرير حيث انك وضعت رابطا فيه ياتي الى هنا....
اعتقدت انك تقصد ان يقوم الأخ السائل باستخدام نفس العملية في الحقل نفسه اي كتابة المعادلة الشرطية IIF في حقل No في مثلا وهذا ما دفعني الى قول هذه المعلومة ولكن ليس لانها تخفى عليك لا سمح الله ولكن لان هذا ما حدث معي..... فقررت ان اضعها من باب التذكير فقط
المهم...
اردت ان اكتب تلك المعادلة في حقل No نفسه ولكن التقرير اعطى خطأ هو مرجع دائري وهذا منطقي وهذا ما يحدث في إكسل ايضا... ولهذا عدت ووضعت حقلا آخر هو مربع نص وكتبتها بدلالة No فكانت النتيجة سليمة...
لهذا اعذرني على التسرع وعلى العموم هذا هو الملف به التقرير Data يعتمد على جدول Data لاحظ في التقرير كلمة Err# التي ظهرت في حقل No عند استخدامه نفسه في الدالة...
طبعا كذلك ابقيت على الحقل الاخر غير المنضم الذي يتضمن المعادلة الصحيحة
لذا للحصول على النتيجة الصحيحة اي ظهور "-" بدلا من فراغ اعد لمربع النص No خاصية مصدر عنصر التحكم الى No واليك المرفق
تلميذك همام
وفقك الله
تم تعديل هذه المشاركة بواسطة همام ابوعرقوب في 8 مارس 2007 في 18:07
وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ
الأخ الفاضل ... انت دائماً على الرحب والسعة
همام ابوعرقوب كتب:عزيزي الكريم واخي اسامةبارك الله فيك والله لا يحرمنا من علمك
كان خطأ مني ان اضع ردي في هذا الموضوع والاصل ان اضعه في الموضوع الاخر وهو الحقول الفارغة في التقرير حيث انك وضعت رابطا فيه ياتي الى هنا....
اعتقدت انك تقصد ان يقوم الأخ السائل باستخدام نفس العملية في الحقل نفسه اي كتابة المعادلة الشرطية IIF في حقل No في مثلا وهذا ما دفعني الى قول هذه المعلومة ولكن ليس لانها تخفى عليك لا سمح الله ولكن لان هذا ما حدث معي..... فقررت ان اضعها من باب التذكير فقط
المهم...
اردت ان اكتب تلك المعادلة في حقل No نفسه ولكن التقرير اعطى خطأ هو مرجع دائري وهذا منطقي وهذا ما يحدث في إكسل ايضا... ولهذا عدت ووضعت حقلا آخر هو مربع نص وكتبتها بدلالة No فكانت النتيجة سليمة...
لهذا اعذرني على التسرع وعلى العموم هذا هو الملف به التقرير Data يعتمد على جدول Data لاحظ في التقرير كلمة Err# التي ظهرت في حقل No عند استخدامه نفسه في الدالة...
طبعا كذلك ابقيت على الحقل الاخر غير المنضم الذي يتضمن المعادلة الصحيحة
لذا للحصول على النتيجة الصحيحة اي ظهور "-" بدلا من فراغ اعد لمربع النص No خاصية مصدر عنصر التحكم الى No واليك المرفق
تلميذك همام
وفقك الله
ليست هذه هى المشكلة ، وليس هناك مشكلة فى الأساس باستخدام هذا التكنيك
المشكلة هى استخدامك كلمة محجوزه No ، فقط قم بتعديل فى الجدول وغير أسم العمود No لأى أسم أخر: Num مثلاً وجرب الناتج
شكراً
تم تعديل هذه المشاركة بواسطة Eng. Usama El-Mokadem في 8 مارس 2007 في 18:24
Nothing is impossible, the word impossible itself says that: I M - Possible
لا ياعزيزي اسامة!!!
لقد عدلت اسم الحقل في التقرير ايضا الى Num وهي ليست كلمة محجوزة ... واعطى نفس الخطا وهذا ما كنت اعنيه
اي ان الخطأ ليس في استخدام كلمة محجوزة مثل No لانني في امثلة كثيرة رايت الكلمة المحجوزة Name مستخدمة دون مشاكل...
وقد استخدمت No في مثالي دون مشاكل واعطت نتائج صحيحة...لذا قم بنفسك بتغيير اسم الحقل في التقرير ايضا الى Num وشاهد عودة رسالة الخطأ للظهور...اذن المشكلة ليست في اسم الحقل بحد ذاته ولكن في كتابة معادلة في حقل تتصمن هذه المعادلة اسم هذا الحقل نفسه
انظر الصورة المرفقة حيت تشير جملة Edit Control's Name الى ان الخطأ في ذكر اسم الحقل في المعادلة لذا يجب تغيير اسم الحقل أو أن يتم تغيير المعادلة كليا
اخوك همام
تم تعديل هذه المشاركة بواسطة همام ابوعرقوب في 8 مارس 2007 في 19:01
وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ
همام ابوعرقوب كتب:لا ياعزيزي اسامة!!!لقد عدلت اسم الحقل في التقرير ايضا الى Num وهي ليست كلمة محجوزة ... واعطى نفس الخطا وهذا ما كنت اعنيه
اي ان الخطأ ليس في استخدام كلمة محجوزة مثل No لانني في امثلة كثيرة رايت الكلمة المحجوزة Name مستخدمة دون مشاكل...
وقد استخدمت No في مثالي دون مشاكل واعطت نتائج صحيحة...لذا قم بنفسك بتغيير اسم الحقل في التقرير ايضا الى Num وشاهد عودة رسالة الخطأ للظهور...اذن المشكلة ليست في اسم الحقل بحد ذاته ولكن في كتابة معادلة في حقل تتصمن هذه المعادلة اسم هذا الحقل نفسه
انظر الصورة المرفقة حيت تشير جملة Edit Control's Name الى ان الخطأ في ذكر اسم الحقل في المعادلة لذا يجب تغيير اسم الحقل أو أن يتم تغيير المعادلة كليا
اخوك همام
الأخ الفاضل ... همام
هذا لا يكفى ، فيجب تغيره فى الجدول وفى التقرير كما فى المثال المرفق فى مشاركتى السابقة CircularRef.zipاقتباسعدلت اسم الحقل في التقرير
أرجوا أن ترفق مثال به هذا الخطأ حيث الصورة لا تكفىاقتباسغير أسم العمود No لأى أسم أخر
شكراً
Nothing is impossible, the word impossible itself says that: I M - Possible
تفضل اخي
لقد قمت بتغيير اسم الحقل في الجدول أيضا وفي التقرير واستخدمته في المعادلة التي كتبتها في الحقل نفسه
فالمشكلة لم تعد مشكلة كلمات محجوزة!
وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ
همام ابوعرقوب كتب:تفضل اخيلقد قمت بتغيير اسم الحقل في الجدول أيضا وفي التقرير واستخدمته في المعادلة التي كتبتها في الحقل نفسه
فالمشكلة لم تعد مشكلة كلمات محجوزة!
الأخ الفاضل ...
أقصد بتغير أسم الحقل فى التقرير هو تغير أسم الحقل فى جملة IIF ، ولكن أنتبه لا تجعل أسم الحقل فى التقرير مشابه لأسم الحقل فى الجدول ، فلو أسم الحقل فى التقرير والجدول [Num] وأستخدمت العبارة :
=IIf(IsNull([Num]),0,[Num])
فهو سينظر لـ (Num) فى التقرير وليس التى فى الجدول... لذا أجعل الأسم فى التقرير مختلف ولو مثلاً [myNum] كى يستطيع التفرقة بين الأسمين فى الجدول والتقرير فعند ذلك وعند استخدام العبارة :
=IIf(IsNull([Num]),0,[Num])
فلا يوجد سوى (Num) واحدة فى الجدول ، وبالتالى سيعمل بصورة صحيحة كما فى المثال: CircularRef.zip ... أرجوا التجربه والرد بالنتيجة.
شكرا
Nothing is impossible, the word impossible itself says that: I M - Possible
هذا ما قصدته بالضبط هو ضرورة عدم كتابة دالة كمصدر عنصر تحكم وتكون محتوية على اسم هذا العنصر
اشكرك اخي ما قمت به انا فقط توضيح لحادثة حصلت اثناء القيام بحل مشكلة الأخ السائل وليس جهلا بما يحصل في كل حالة من الحالات التي تفضلت مشكورا بشرحها...
شكرا لك على مجهودك
اخوك همام
وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ
هذا الموضوع مغلق.

