اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

السلام عليكم 

ارجو من خبراء الاكسس مساعدتي في تصميم هذا البرنامج وجزاكم الله خير

مرفق ملف

 لدي في الاستعلام احتياج المرحلة الابتدائية وتم كتابة كود لكن الكود لم يفي بمساحة اكبر حسب الصورة المرفقة 

حيث تظهر رسالة التعبير الذي أدخلته معقد جداً

اتمنى احد يقدر يفيدني في طريقة ما لحد هذه المشكلة 

 

image.png

‏‏برنامج الاحتياج.rar

قام بنشر

السلام عليكم

انا فتحت المرفق ولم اجد فيه ما يشبه الصورة اعلاه

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

هل فهمي صحيح ؟

قام بنشر

اذا ممكن تفتح المرفق وفي الاستعلام

تجد استعلام بإسم احتياج المرحلة الابتدائية

ستجد دالة (اف)في اللازم معلم 

لكن الدالة لم تتحمل أكثر من 15 شرط 

قام بنشر
2 hours ago, ابوخليل said:

السلام عليكم

انا فتحت المرفق ولم اجد فيه ما يشبه الصورة اعلاه

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

هل فهمي صحيح ؟

طبعا واللي احتاجه فعلا 

هو عدد المعلمين بمقانة بعدد الفصول كما هو في الصورة

 

قام بنشر

حياك الله اخي @ابوالسيل 🙂 

استخدم دالة Switch بدل دالة IIF ..

وطريقتها سهلة .. أنا عملت لك نموذج منها .. وأنت كمل الباقي .. 🙂 

وهكذا تكتب :

image.png.8914e635dcb92c2b79eeaa8cc6809b5e.png

Need: Switch([مجموع الفصول]=1;2;[مجموع الفصول]=2;3;[مجموع الفصول]=3;4;[مجموع الفصول]=4;6;[مجموع الفصول]=5;7)

والنتيجة في الاستعلام :

image.png.3871440d4a6efe1a39dc209f69ff732d.png

 

‏‏برنامج الاحتياج.rar

قام بنشر
14 minutes ago, Moosak said:

حياك الله اخي @ابوالسيل 🙂 

استخدم دالة Switch بدل دالة IIF ..

وطريقتها سهلة .. أنا عملت لك نموذج منها .. وأنت كمل الباقي .. 🙂 

وهكذا تكتب :

image.png.8914e635dcb92c2b79eeaa8cc6809b5e.png

Need: Switch([مجموع الفصول]=1;2;[مجموع الفصول]=2;3;[مجموع الفصول]=3;4;[مجموع الفصول]=4;6;[مجموع الفصول]=5;7)

والنتيجة في الاستعلام :

image.png.3871440d4a6efe1a39dc209f69ff732d.png

 

‏‏برنامج الاحتياج.rar 713.36 kB · 1 download

كل الدالتين تظهر فيها نفس المشكلة عندما يتم كتابة اكثر من 14 شرط وتظهر الرسالة التعبير الذي أدخلته معقد جداً

 

احدها اشار لي بأن تكتب في وحدة نمطية لكن لا اعرف كيف يتم ذلك

قام بنشر (معدل)
20 دقائق مضت, Moosak said:

وطريقتها سهلة .. أنا عملت لك نموذج منها .. وأنت كمل الباقي .. 🙂 

توجد طريقة اسهل يا استاذ موسى

نعمل جدول جديد نضع فيه النسب التي اشار اليها ثم نعمل علاقة في الاستعلام

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

الملف مرفق

‏‏برنامج الاحتياج.accdb

تم تعديل بواسطه متقاعد
اخطاء املائية
  • Like 1
  • Thanks 1
قام بنشر
10 hours ago, متقاعد said:

توجد طريقة اسهل يا استاذ موسى

نعمل جدول جديد نضع فيه النسب التي اشار اليها ثم نعمل علاقة في الاستعلام

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

الملف مرفق

‏‏برنامج الاحتياج.accdb 2.46 MB · 10 downloads

 الله يعطيك العافية فكرة بسيطة وجميلة جدا حلت  المشكلة

 لكن في كل الاحوال انا عندي معالجة بيانات فيها شروط كثيرة 

 هل فيه طرق اخرى اقدر اكتب كود بدالة اف او سواتش 

في الاستعلام تتجاوز 14 شرط 

قام بنشر
منذ ساعه, ابوالسيل said:

 هل فيه طرق اخرى اقدر اكتب كود بدالة اف او سواتش 

اعمل وحدة نمطية واستخدم Select Case

واحرص دائما على وجود مفتاح اساسي في الجدول

الملف مرفق وقم بمراجعته لاني كتبته بشكل سريع ولم اراجعه لا نشغالي النتيجة في استعلام qq

تحياتي

 

‏‏برنامج الاحتياج.accdb

قام بنشر
15 minutes ago, متقاعد said:

اعمل وحدة نمطية واستخدم Select Case

واحرص دائما على وجود مفتاح اساسي في الجدول

الملف مرفق وقم بمراجعته لاني كتبته بشكل سريع ولم اراجعه لا نشغالي النتيجة في استعلام qq

تحياتي

 

‏‏برنامج الاحتياج.accdb 2.43 MB · 1 download

جميل جدا وطرق اخرى لتحقيق الاهدف

جزاك الله خير ونفع الله بعلمك

وجاري ان شاء الله تعلم هذه الطرق 

قام بنشر
52 دقائق مضت, ابوالسيل said:

وجاري ان شاء الله تعلم هذه الطرق 

بالتوفيق اخي

على كل حال في حالات كثير لو عرفنا اليه العمل بشكل صحيح نستطيع الوصول للنتيجة بدون الحاجة الى كتابة الكثير من الاكواد او ادخال معلومات يمكن الحصول عليها بشكل الي

على سبيل المثال جدول رواتب الموظفين المدنيين يتكون من 260 درجة للمراتب من 1 الى 15

ولكننا لسنا بحاجة لكتابة هذه الدرجات الـ 260 وانما نكتفي فقط بكتابة ال 15 الاولى منها و 15 اخرى للعلاوة السنوية ويتم توليد البقية بشكل آالي

تحياتي

  • Like 1
قام بنشر

اخيرا للانتهاء من هذا الموضوع

اود ان اشير الى دالة Choose وهي تقوم بارجاع قيمة من عدة قيم بناء الفهرس

ويمكن توضيفها في هذه المثال عن طريق نمطية بسيطة يتم استخدامها في الاستعلام

k = Choose(x, 2, 3, 4, 6, 7, 9, 10, 11, 12, 14, 15, 17, 18, 19, 20, 22, 23, 25, 26, 27, 28, 30, 31, 32, 34, 35, 36, 37, 39, 40, 41, 43, 44, 45, 46, 47, 49, 50, 51, 52)

ويمكن كتابتها على النحو التالي

Public Function std(id As Integer)
Dim rst As DAO.Recordset
Dim x As Integer
Dim k As Integer
Set rst = CurrentDb.OpenRecordset("Select * From [q_1] Where [id]= " & id)
x = rst.Fields("عدد الفصول الفعلي")
k = Choose(x, 2, 3, 4, 6, 7, 9, 10, 11, 12, 14, 15, 17, 18, 19, 20, 22, 23, 25, 26, 27, 28, 30, 31, 32, 34, 35, 36, 37, 39, 40, 41, 43, 44, 45, 46, 47, 49, 50, 51, 52)
std = k
rst.Close
End Function

ولكن لابد من التأكد من امرين

  • صحة ترتيب البيانات في الفهرس للحصول على القيمة الصحيحة
  • اذا كان الفهرس اقل من 1 او اكبر من عدد الاحتمالات المدرجة سوف تعود الدالة بنتيجة فارغ وفي هذا المثال لدينا 40 احتمال وفقا لصورة الجدول في اول مشاركة وبالتالي لايمكن ان يكون الفهرس اكبر من 40

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

الملف مرفق و اكتفي بهذا القدر

تحياتي

 

‏‏برنامج الاحتياج1.accdb

  • Like 1
قام بنشر
17 ساعات مضت, متقاعد said:

توجد طريقة اسهل يا استاذ موسى

نعمل جدول جديد نضع فيه النسب التي اشار اليها ثم نعمل علاقة في الاستعلام

 

تمام .. لهذا سألته ... من اجل عمل جدول للنسب

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

قام بنشر
4 ساعات مضت, ابوخليل said:

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

ليتك تضع الطريقة لتعم الفائدة

5 ساعات مضت, متقاعد said:

توضيفها

الصحيح توظيفها

قالت العامة يا من شرى له من حلاله علة

عملت مصحح املائي ليسهل على الكتابة ولكنه يحتاج الى مصحح

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information