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

توزع الاشخاص على اماكن العمل

بدأه الحزين اوى في 1 يوليو 2010 · 15 رد · 1,282 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

رجاء مساعدتى فى التالى او اعطائي فكرة كيف يتم ذلك

لدي 5 أماكن مختلفه ه - ع - م - س - د على سبيل المثال

وايضا هناك 70 شخص ويمكن كمان يكونو قابلين للزياده

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

ومن ثم حفظ تلك التوزيع والتبديل فى الاسبوع القادم بحيث لا يكون هناك تكرار لنفس المكان غير بعد ما تكتمل الدورة - مع اتاحه الفرصة للتعديل او اختيار المكان للشخص فى يوم معين حسب رغبته

رجاء سرعه الرد

والاهتمام

#2

الاخ السائل

نرجو وضع مرفق لطلبك

حتى نقوم بمساعدتك

نقول الى الغاليه

أم عهود زهرة الأكسيس بدون منافس

للنجاحات أناس يقدرون معناها ، وللإبداع أناس يحصدونه

لذا نقدّر جهودك وابداعك، فأنتِ أهل للشكر والتقدير ..

فلكِ منا كل الثناء والتقدير

#3

افكار

جدول اشخاص

جدول اماكن

جدول توزيع

رفم الشخص ورقم المكان مفتاج رئيس

استعلام الحاق يستخدم دالة Rnd او توزيع عشوائي

تاخذ كل مرة رقم شخص وغير مكرر

تضاف الى جدول التوزيع ونفس فكرة Rnd للاماكن

يضاف حقل تاريخ التوزيع

يتم الطباعة بين تاريخ اليوم وتاريخ اسبوع قادم

وهكذا

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

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

#4

الاخ همام ممكن مثال للتوضيح اذا امكن ومشكور على الرد والاهتمام

#5

9 حملو الملف ومافيش رد

#6

أخي الكريم صاحب السؤال -أسعدك الله-...

أين هو الملف الذي تتحدث عنه بقولك..

اقتباس
9 حملو الملف ومافيش رد

؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

أستاذي همام...

بالنسبة لهذا الجزء من فكرتك

اقتباس
استعلام الحاق يستخدم دالة Rnd او توزيع عشوائي

أعتقد أن هذا يتنافى مع طلب الأخ الكريم

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

ما فهمته من هذا أن التوزيع يجب أن يكون موجهاً وليس عشوائياً

===============

طيب فكرة عامة أقترحها ..

تكوين مجموعات كل مجموعة مكونة من 14 فرد (5مجموعات*14فرد=70فرد)

ولكل مجموعة كود A-B-C... الخ

مع اضافة حقل لرمز المجموعة في جدول الأشخاص

ومن ثم يتم كتابة الكود المشئول عن تدوير هذه المجموعات على الأماكن

،، وعند دخول شخص/أشخاص جدد يتم تسكينهم على المجموعات

طبتم واهتديتم :)

===================================

إقرأ معي

رابط متجدد لكتاب أقرؤه فشاركني فيه

======

فضائح الرافضة ومخازيهم حين يكتب عنها أحد خصومهم فهذا شيء متوقع ،فإن كتب عنها أحدهم فهو شيء غير مألوف ، وإن كان الكاتب أحد مراجعهم وأخص خواصهم فهذا شيء متناهي الغرابة ، وإن علمت أن الكاتب قد قتل بعد نشر الكتاب فقد حان وقت قراءة الكتاب

الكتاب :

حسين الموسوي - لله تم للتاريخ ، كشف الأسرار وتبرئة الأئمة الأطهار

اضغط على الصورة لتحميل الكتاب

%E1%E1%E5%20%CB%E3%20%E1%E1%CA%C7%D1%ED%CE.jpg

-----------

كتب سابقة

سعد الدين الشاذلي - مذكرات حرب أكنتوبر

#7

اخى لا اعلم مين اللى حذف المرفق وعموما ها هوه

EmpShift.rar

تم تعديل هذه المشاركة بواسطة الحزين اوى في 6 يوليو 2010 في 14:55

#8

اخي ايهاب اشكرك على الاهتمام والملاحظات

انا حذفت بالملف لكن صدقا بالخطا..اردت حذف راد اخر لكني حذفت رد الاخ المحتوي على الملف

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

يعني اسف..

على العموم..

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

ولا استطيع احيانا حتى العمل على المرفق بسبب ذلك..

شكرا اخي ايهاب

1

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

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

#9

فى انتظار المساعدة حتى الان يا اخواتى بالمنتدى

دماغي ولعت من التفكير وشكراً

#10

هو الموضوع صعب يا جماعه للدرجه دي محدش قادر يساعدنى

ولا مافيش نيه للمساعده

#11
الحزين اوى كتب:

اخى لا اعلم مين اللى حذف المرفق وعموما ها هوه

#12

هذا أخي مثال بسيط على توزيع موظفين على مواقع عمل. الموظفون موزعون على مجموعات (كما في مشاركة الأستاذ إيهاب)، والمجموعات توزع على المواقع، بحيث تقضي كل مجموعة أسبوعاً واحداً في الموقع الواحد، ولا تعود إليه إلا بعد انقضاء عدد من الأسابيع يساوي عدد المواقع.

مزيد من المرونة في السماح باختيار موظف لموقع بعينه في تاريخ بعينه يمكن توفيره باستخدام جدول إضافي لهذه الاستثناءات (من باب التوثيق)، لكن الأصل يبقى في التوزيع الآلي، والله أعلم.

Shifts.rar

1
#13

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

جزاك الله خير استاذي احمد مبارك الحيقي على مساعدتك لاعضاء المنتدى +1

وارجو منك شرح هذا الكود الموجود في المثال المرفق من قبلكم

 DoCmd.RunSQL "INSERT INTO tblShifts " & _
                 "SELECT locNo AS sftWeekNo, grpNo AS sftGroup, " & _
                 "IIf(locNo + grpNo <= 5, locNo + grpNo, locNo + grpNo - 5) AS sftLocation, " & _
                 "Null AS sftFirstDayDate FROM tblGroups, tblLocation"

بالذات جملة IIF وما بعدها وما المقصود منها

اسمح لي اخي الحزين اوي على المداخله

تم تعديل هذه المشاركة بواسطة مشارف في 17 يوليو 2010 في 17:51

#14
مشارف كتب:

 DoCmd.RunSQL "INSERT INTO tblShifts " & _
                 "SELECT locNo AS sftWeekNo, grpNo AS sftGroup, " & _
                 "IIf(locNo + grpNo <= 5, locNo + grpNo, locNo + grpNo - 5) AS sftLocation, " & _
                 "Null AS sftFirstDayDate FROM tblGroups, tblLocation"

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

نعم أخي محمد، على الرحب والسعة...

المسألة كلها ترجع إلى تحليل المشكلة، ومن ثم تصميم الحل، لكن دعنا أولاً نتفق على النقاط المبدئية:

المطلوب هو إدخال أربعة حقول؛ رقم الأسبوع، ورقم المجموعة، ورقم الموقع، وتاريخ بداية الأسبوع. الحقل الأخير يتم تحديثه فيما بعد، ولذلك نعين له القيمة الخاصة Null.

الدالة IIf تأخذ ثلاثة معاملات مفصولة بفاصلة؛ المعامل الأول هو شرط يتم اختباره، والثاني هو القيمة التي تعيدها الدالة في حالة كانت نتيجة اختبار الشرط إيجابية True، والثالث هو القيمة التي تعيدها الدالة إذا كانت نتيجة اختبار الشرط سلبية False. وعليه، فإن الدالة التالية:

IIf(expression, true_part, false_part)

تكافئ العبارة التالية:

If expression = True Then
    true_part
Else
    false_part
End If

والآن، لنعد إلى مشكلتنا. لنفترض من باب التسهيل أن لدينا ثلاث مجموعات نريد أن نوزعها على ثلاث مواقع. المجموعات أرقامها 1 و2 و3 في جدول المجموعات، والمواقع أرقامها 1 و2 و3 في جدول المواقع. لا أظنك تذكر درس طرق الربط بين جدولين في دروس SQL السابقة، لكن الذي يحصل إذا استعلمنا من هذين الجدولين بدون ربط بينهما (بدون تحديد علاقة في شرط Where وهو الحاصل في المثال أعلاه)، فإننا نحصل على حاصل الضرب الديكارتي بينهما: كل التشكيلات الممكنة بينهما، كالتالي:

المجموعة الموقع

1 1

1 2

1 3

2 1

2 2

2 3

3 1

3 2

3 3

وهكذا نحصل بدون كود على توزيع شامل. بقي تحديد الأسبوع. لو قمنا بذلك يدوياً، فيمكن أن نقوم بالتالي:

الأسبوع المجموعة الموقع

1 1 1

1 2 2

1 3 3

2 1 2

2 2 3

2 3 1

3 1 3

3 2 1

3 3 2

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

الأسبوع المجموعة الموقع

1 1 2

1 2 3

1 3 1

2 1 3

2 2 1

2 3 2

3 1 1

3 2 2

3 3 3

الملاحظ هنا أن الموقع هو إما مجموع الأسبوع مع المجموعة، أو مجموع الأسبوع مع المجموعة ناقصاً 3 (إذا كان المجموع يزيد عن 3). نستطيع تكوين هذه الأعمدة الثلاثة بالعبارة التالية:

SELECT locNo As weekNo, groupNo, IIf(locNo +groupNo <=3, locNo + groupNo, locNo + groupNo - 3) As location FROM tblGroup, tblLocation

لاحظ أننا استخدمنا رقم الموقع (بدون معالجة بالدالةIIf) كرقم أسبوع، ببساطة لأن ذلك يصلح في مشكلتنا هذه، ويختصر علينا الكثير... استبدل الرقم 5 بالرقم 3، فتحصل على المثال أعلاه.

أرجو أن تتأمل في المسألة قليلاً، فقد يكون الشرح مختصراً. العبرة أنك إن كنت لا تسأل عن وظيفة الدالة IIf تحديداً، فإن الباقي هو عبارة عن منطق الحل، أو طريقة الحل، أو خوارزمية الحل، التي قد تختلف من مبرمج لآخر، وهناك بالتأكيد طرق أخرى (بعضها مباشر أكثر مثل استخدام الكود في تعبئة السجلات)، لكنني أحياناً أحاول العثور على حلول أكثر اختصاراً، وتستثمر إمكانيات الأداة التي نستخدمها (هنا، لغة SQL لأننا في عالم قواعد البيانات على كل حال)...

والله أعلم.

تم تعديل هذه المشاركة بواسطة أحمد مبارك الحيقي في 19 يوليو 2010 في 07:45

#15

تسلم ايدك يا أخونا الغالى أحمد مبارك الحيقي

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

اقوم بتحديد الاماكن يعنى المكان الاول خمس مرات المكان الثانى 3 المكان الثالث 4 وهكذا بمعنى ادق انا هاختار مثلاً 30 شخص يبقا توزعهم كا التالى 5 على المكان الاول 5 المكان التانى 10 الثالت 4الرابع 6 الخامس

يعنى انا اغذى التوزيعه بأختيار الموظفين و تحديد كم مرة بالمكان و تحديد التاريخ والبرنامج يوزع

وشكرا لتعبك اخي مرة اخرى

#16

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

مشكور استاذي احمد مبارك الحيقي على التوضيح والشرح وجزاك الله خير

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

تم تعديل هذه المشاركة بواسطة مشارف في 22 يوليو 2010 في 15:56

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