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

القسمة على صفر في التقرير

مغلق
بدأه asder1977 في 6 فبراير 2007 · 12 رد · 1,620 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

كيف يمكن في المثال المرفق اذا اردنا ان نضع 0 بدلا عن خطأ القسمة على صفر

db5.zip

#2

الأخ الفاضل ...

أستخدم:

=IIf([n2],[n1]/[n2],0)

بدلاً من:

=[n1]/[n2]

شكراً

db5.zip

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#3

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

#4

يمكن استخدام التنسيق الشرطي لذلك

أو Conditional Formatting

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

#5
اقتباس
أستخدم:

كود

=IIf([n2],[n1]/[n2],0)

بدلاً من:

كود

=[n1]/[n2]

عزيزي اسامة

هذا الطريقة قد تعطي خطأ اسمه Circular Refrence وخاصة في Access2003 حيث تظهر على شكل اشارة تنبيه خضراء تماما كما يحدث في Excel ويعطي التقرير كلمة Err# بدلا من الحل

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

#6

الأخ الفاضل ... همام

همام ابوعرقوب كتب:
عزيزي اسامة

هذا الطريقة قد تعطي خطأ اسمه Circular Refrence وخاصة في Access2003 حيث تظهر على شكل اشارة تنبيه خضراء تماما كما يحدث في Excel ويعطي التقرير كلمة Err# بدلا من الحل

أرجوا التعديل بالمثال الأساسى المرفق بالموضوع ثم إعادة إرفاقه لتوضيح الخطأ الذى تحدثت عنه

ملحوظة: يعمل عندى على Access 2003 بدون مشاكل

سؤال: لماذا اعد استخدام التكنيك السابق (الذى يحوى أخطاء على حد قولك) فى الإجابه على هذا الموضوع: /index.php?showtopic=120183 ؟؟؟

شكراً

تم تعديل هذه المشاركة بواسطة Eng. Usama El-Mokadem في 8 مارس 2007 في 17:55

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#7

عزيزي الكريم واخي اسامة

بارك الله فيك والله لا يحرمنا من علمك

كان خطأ مني ان اضع ردي في هذا الموضوع والاصل ان اضعه في الموضوع الاخر وهو الحقول الفارغة في التقرير حيث انك وضعت رابطا فيه ياتي الى هنا....

اعتقدت انك تقصد ان يقوم الأخ السائل باستخدام نفس العملية في الحقل نفسه اي كتابة المعادلة الشرطية IIF في حقل No في مثلا وهذا ما دفعني الى قول هذه المعلومة ولكن ليس لانها تخفى عليك لا سمح الله ولكن لان هذا ما حدث معي..... فقررت ان اضعها من باب التذكير فقط

المهم...

اردت ان اكتب تلك المعادلة في حقل No نفسه ولكن التقرير اعطى خطأ هو مرجع دائري وهذا منطقي وهذا ما يحدث في إكسل ايضا... ولهذا عدت ووضعت حقلا آخر هو مربع نص وكتبتها بدلالة No فكانت النتيجة سليمة...

لهذا اعذرني على التسرع وعلى العموم هذا هو الملف به التقرير Data يعتمد على جدول Data لاحظ في التقرير كلمة Err# التي ظهرت في حقل No عند استخدامه نفسه في الدالة...

طبعا كذلك ابقيت على الحقل الاخر غير المنضم الذي يتضمن المعادلة الصحيحة

لذا للحصول على النتيجة الصحيحة اي ظهور "-" بدلا من فراغ اعد لمربع النص No خاصية مصدر عنصر التحكم الى No واليك المرفق

تلميذك همام

وفقك الله

CircularRef.rar

تم تعديل هذه المشاركة بواسطة همام ابوعرقوب في 8 مارس 2007 في 18:07

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

#8

الأخ الفاضل ... انت دائماً على الرحب والسعة

همام ابوعرقوب كتب:
عزيزي الكريم واخي اسامة

بارك الله فيك والله لا يحرمنا من علمك

كان خطأ مني ان اضع ردي في هذا الموضوع والاصل ان اضعه في الموضوع الاخر وهو الحقول الفارغة في التقرير حيث انك وضعت رابطا فيه ياتي الى هنا....

اعتقدت انك تقصد ان يقوم الأخ السائل باستخدام نفس العملية في الحقل نفسه اي كتابة المعادلة الشرطية IIF في حقل No في مثلا وهذا ما دفعني الى قول هذه المعلومة ولكن ليس لانها تخفى عليك لا سمح الله ولكن لان هذا ما حدث معي..... فقررت ان اضعها من باب التذكير فقط

المهم...

اردت ان اكتب تلك المعادلة في حقل No نفسه ولكن التقرير اعطى خطأ هو مرجع دائري وهذا منطقي وهذا ما يحدث في إكسل ايضا... ولهذا عدت ووضعت حقلا آخر هو مربع نص وكتبتها بدلالة No فكانت النتيجة سليمة...

لهذا اعذرني على التسرع وعلى العموم هذا هو الملف به التقرير Data يعتمد على جدول Data لاحظ في التقرير كلمة Err# التي ظهرت في حقل No عند استخدامه نفسه في الدالة...

طبعا كذلك ابقيت على الحقل الاخر غير المنضم الذي يتضمن المعادلة الصحيحة

لذا للحصول على النتيجة الصحيحة اي ظهور "-" بدلا من فراغ اعد لمربع النص No خاصية مصدر عنصر التحكم الى No واليك المرفق

تلميذك همام

وفقك الله

ليست هذه هى المشكلة ، وليس هناك مشكلة فى الأساس باستخدام هذا التكنيك

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

شكراً

CircularRef.zip

تم تعديل هذه المشاركة بواسطة Eng. Usama El-Mokadem في 8 مارس 2007 في 18:24

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#9

لا ياعزيزي اسامة!!!

لقد عدلت اسم الحقل في التقرير ايضا الى Num وهي ليست كلمة محجوزة ... واعطى نفس الخطا وهذا ما كنت اعنيه

اي ان الخطأ ليس في استخدام كلمة محجوزة مثل No لانني في امثلة كثيرة رايت الكلمة المحجوزة Name مستخدمة دون مشاكل...

وقد استخدمت No في مثالي دون مشاكل واعطت نتائج صحيحة...لذا قم بنفسك بتغيير اسم الحقل في التقرير ايضا الى Num وشاهد عودة رسالة الخطأ للظهور...اذن المشكلة ليست في اسم الحقل بحد ذاته ولكن في كتابة معادلة في حقل تتصمن هذه المعادلة اسم هذا الحقل نفسه

انظر الصورة المرفقة حيت تشير جملة Edit Control's Name الى ان الخطأ في ذكر اسم الحقل في المعادلة لذا يجب تغيير اسم الحقل أو أن يتم تغيير المعادلة كليا

اخوك همام

post-96695-1173369528.jpg

تم تعديل هذه المشاركة بواسطة همام ابوعرقوب في 8 مارس 2007 في 19:01

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

#10
همام ابوعرقوب كتب:
لا ياعزيزي اسامة!!!

لقد عدلت اسم الحقل في التقرير ايضا الى Num وهي ليست كلمة محجوزة ... واعطى نفس الخطا وهذا ما كنت اعنيه

اي ان الخطأ ليس في استخدام كلمة محجوزة مثل No لانني في امثلة كثيرة رايت الكلمة المحجوزة Name مستخدمة دون مشاكل...

وقد استخدمت No في مثالي دون مشاكل واعطت نتائج صحيحة...لذا قم بنفسك بتغيير اسم الحقل في التقرير ايضا الى Num وشاهد عودة رسالة الخطأ للظهور...اذن المشكلة ليست في اسم الحقل بحد ذاته ولكن في كتابة معادلة في حقل تتصمن هذه المعادلة اسم هذا الحقل نفسه

انظر الصورة المرفقة حيت تشير جملة Edit Control's Name الى ان الخطأ في ذكر اسم الحقل في المعادلة لذا يجب تغيير اسم الحقل أو أن يتم تغيير المعادلة كليا

اخوك همام

الأخ الفاضل ... همام

اقتباس
عدلت اسم الحقل في التقرير
هذا لا يكفى ، فيجب تغيره فى الجدول وفى التقرير كما فى المثال المرفق فى مشاركتى السابقة CircularRef.zip
اقتباس
غير أسم العمود No لأى أسم أخر
أرجوا أن ترفق مثال به هذا الخطأ حيث الصورة لا تكفى

شكراً

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#11

تفضل اخي

لقد قمت بتغيير اسم الحقل في الجدول أيضا وفي التقرير واستخدمته في المعادلة التي كتبتها في الحقل نفسه

فالمشكلة لم تعد مشكلة كلمات محجوزة!

CircularRef.rar

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

#12
همام ابوعرقوب كتب:
تفضل اخي

لقد قمت بتغيير اسم الحقل في الجدول أيضا وفي التقرير واستخدمته في المعادلة التي كتبتها في الحقل نفسه

فالمشكلة لم تعد مشكلة كلمات محجوزة!

الأخ الفاضل ...

أقصد بتغير أسم الحقل فى التقرير هو تغير أسم الحقل فى جملة IIF ، ولكن أنتبه لا تجعل أسم الحقل فى التقرير مشابه لأسم الحقل فى الجدول ، فلو أسم الحقل فى التقرير والجدول [Num] وأستخدمت العبارة :

=IIf(IsNull([Num]),0,[Num])

فهو سينظر لـ (Num) فى التقرير وليس التى فى الجدول... لذا أجعل الأسم فى التقرير مختلف ولو مثلاً [myNum] كى يستطيع التفرقة بين الأسمين فى الجدول والتقرير فعند ذلك وعند استخدام العبارة :

=IIf(IsNull([Num]),0,[Num])

فلا يوجد سوى (Num) واحدة فى الجدول ، وبالتالى سيعمل بصورة صحيحة كما فى المثال: CircularRef.zip ... أرجوا التجربه والرد بالنتيجة.

post-98027-1173380038.jpg

شكرا

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#13

هذا ما قصدته بالضبط هو ضرورة عدم كتابة دالة كمصدر عنصر تحكم وتكون محتوية على اسم هذا العنصر

اشكرك اخي ما قمت به انا فقط توضيح لحادثة حصلت اثناء القيام بحل مشكلة الأخ السائل وليس جهلا بما يحصل في كل حالة من الحالات التي تفضلت مشكورا بشرحها...

شكرا لك على مجهودك

اخوك همام

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

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

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