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

كود لمنع التكرار


ahmedabuzena
إذهب إلى أفضل إجابة Solved by kanory,

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

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

المستأجر اجر مخزن 1 ومخزن 2 فلا استطيع تأجير نفس المخزن لمستأجر اخر إلا لو ترك المستأجر المخزن ففي هذة الحاله اقدر ان اعطيه لمستأجر جديد

مرفق مثال يوضح ما اريد

كل مستأجر امامه اختيارين renting , not renting

اذا كانت renting لا استطيع تكرار المخازن الخاصه به الي عميل اخر

اما اذا كانت not renting فاستطيع اعطاء نفس المخازن للعميل الجديد 

وجزاكم الله خيرا

warehouse3.accdb

رابط هذا التعليق
شارك

3 ساعات مضت, ahmedabuzena said:

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

المستأجر اجر مخزن 1 ومخزن 2 فلا استطيع تأجير نفس المخزن لمستأجر اخر إلا لو ترك المستأجر المخزن ففي هذة الحاله اقدر ان اعطيه لمستأجر جديد

مرفق مثال يوضح ما اريد

كل مستأجر امامه اختيارين renting , not renting

اذا كانت renting لا استطيع تكرار المخازن الخاصه به الي عميل اخر

اما اذا كانت not renting فاستطيع اعطاء نفس المخازن للعميل الجديد 

وجزاكم الله خيرا

 

جرب هذا الكود في حدث بعد التحديث للكمبو بكس

Dim a As String
a = "renting"
 If DCount("[Customer_Name]", "Customer", "[warehouse A] ='" & Me![Combo69] & "' AND [status] ='" & a & "'") > 0 Then
        Cancel = True
        MsgBox "هذا المخزن تم استأجاره", vbCritical, "عملية خاطئة"
ElseIf DCount("[Customer_Name]", "Customer", "[warehouse B] ='" & Me![Combo69] & "' AND [status] ='" & a & "'") > 0 Then
        Cancel = True
        MsgBox "هذا المخزن تم استأجاره", vbCritical, "عملية خاطئة"
ElseIf DCount("[Customer_Name]", "Customer", "[warehouse C] ='" & Me![Combo69] & "' AND [status] ='" & a & "'") > 0 Then
        Cancel = True
        MsgBox "هذا المخزن تم استأجاره", vbCritical, "عملية خاطئة"
ElseIf DCount("[Customer_Name]", "Customer", "[warehouse D] ='" & Me![Combo69] & "' AND [status] ='" & a & "'") > 0 Then
        Cancel = True
        MsgBox "هذا المخزن تم استأجاره", vbCritical, "عملية خاطئة"
ElseIf DCount("[Customer_Name]", "Customer", "[warehouse E] ='" & Me![Combo69] & "' AND [status] ='" & a & "'") > 0 Then
        Cancel = True
        MsgBox "هذا المخزن تم استأجاره", vbCritical, "عملية خاطئة"
    End If

 

  • Like 3
رابط هذا التعليق
شارك

استاذي ومعلمي @kanoryالمحترم

اسمح لي بمداخلة .. لا اعتقد هذا مطلب صاحب المشاركة فالزبون ليس له علاقة بالموضوع وانما المخزن (رغم تحفظي على النموذج)

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

اعتذر على الاطالة

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

33 دقائق مضت, Eng.Qassim said:

استاذي ومعلمي @kanoryالمحترم

اسمح لي بمداخلة .. لا اعتقد هذا مطلب صاحب المشاركة فالزبون ليس له علاقة بالموضوع وانما المخزن (رغم تحفظي على النموذج)

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

اعتذر على الاطالة

هذا يفعله الكود تماما ... 

عند محاولة اسناد المخزن ١ مثلا ل kanory ... وكان هذا المخزن مؤجر لeng.qassim تظهر رسالة تخبرة بانه سبق تاجير المخزن ... 

والافضل من هذا كله .. عند تاجير المخزن١ مثلا يختفى في الكمبوبكس ولا يظهر ابدا الا بعد الاخلاء ... لكن طلب السائل ذلك واجبته 

بارك الله فيك 

وننتظر جواب السائل ...

تم تعديل بواسطه kanory
  • Like 4
رابط هذا التعليق
شارك

22 ساعات مضت, kanory said:

هذا يفعله الكود تماما ... 

عند محاولة اسناد المخزن ١ مثلا ل kanory ... وكان هذا المخزن مؤجر لeng.qassim تظهر رسالة تخبرة بانه سبق تاجير المخزن ... 

والافضل من هذا كله .. عند تاجير المخزن١ مثلا يختفى في الكمبوبكس ولا يظهر ابدا الا بعد الاخلاء ... لكن طلب السائل ذلك واجبته 

بارك الله فيك 

وننتظر جواب السائل ...

السلام عليكم اخي kanory جزاكم الله خيرا على الاهتمام والرد انا نسخت الكود ولكن لم يعمل ممكن اكون نسخته بطريقه خاطئه  

للتوضيح كما تفضل الاستاذ qassim جزاه الله خيرا هو قريب من نظام الفندق

المخازن المؤجره للعميل لا اقدر ان اؤجرها لعميل اخر طالما status=renting

مجرد العميل يترك المخازن وتكون status=not renting فتصبح المخازن حرة واقدر اعطيها لعميل اخر

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

مرفق النموزج بعد لصق الكود لتصحيح النموزج وجزاكم الله خيرا

warehouse31.accdb

رابط هذا التعليق
شارك

23 ساعات مضت, Eng.Qassim said:

استاذي ومعلمي @kanoryالمحترم

اسمح لي بمداخلة .. لا اعتقد هذا مطلب صاحب المشاركة فالزبون ليس له علاقة بالموضوع وانما المخزن (رغم تحفظي على النموذج)

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

اعتذر على الاطالة

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

رابط هذا التعليق
شارك

 

اخي العزيز .. انا قصدت ان النموذج المسمى (العملاء ) هو نموذج الايجار (renting).. نحتاج هنا في راس النموذج الى اسم العميل وبياناته وفي النموذج الفرعي نحتاج لرقم العميل والمخزن (مربع تحرير وسرد) والى الحالة (status) والتي تكون (نعم /لا)..

وحينما نذهب لايجار جديد لزبون معين ونختار مخزن كانت اخر مرة لحالته (نعم) تظهر لنا رسالة بان المخزن مؤجر

رابط هذا التعليق
شارك

1 ساعه مضت, ahmedabuzena said:

السلام عليكم اخي kanory جزاكم الله خيرا على الاهتمام والرد انا نسخت الكود ولكن لم يعمل ممكن اكون نسخته بطريقه خاطئه  

للتوضيح كما تفضل الاستاذ qassim جزاه الله خيرا هو قريب من نظام الفندق

المخازن المؤجره للعميل لا اقدر ان اؤجرها لعميل اخر طالما status=renting

مجرد العميل يترك المخازن وتكون status=not renting فتصبح المخازن حرة واقدر اعطيها لعميل اخر

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

مرفق النموزج بعد لصق الكود لتصحيح النموزج وجزاكم الله خيرا

تفضل جرب >>>>>>>>

 

warehouse31.accdb

  • Like 2
  • Thanks 1
رابط هذا التعليق
شارك

8 ساعات مضت, kanory said:

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

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

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

واذا اخترت حاله العميل not renting يسمح بتاجير المخازن لعميل جديد ولكن اذا غيرت العميل القديم الى renting مرة اخرى يسمح بالتكرار عادي 

شكرا على مساعدتك

Capture.PNG

Capture2.PNG

Capture3.PNG

Capture4.PNG

10 ساعات مضت, Eng.Qassim said:

 

 

اخي العزيز .. انا قصدت ان النموذج المسمى (العملاء ) هو نموذج الايجار (renting).. نحتاج هنا في راس النموذج الى اسم العميل وبياناته وفي النموذج الفرعي نحتاج لرقم العميل والمخزن (مربع تحرير وسرد) والى الحالة (status) والتي تكون (نعم /لا)..

 

وحينما نذهب لايجار جديد لزبون معين ونختار مخزن كانت اخر مرة لحالته (نعم) تظهر لنا رسالة بان المخزن مؤجر

 

اخي العزيز ممكن تنفزها عملي حتى تتضح الصوره جزاكم الله خيرا

رابط هذا التعليق
شارك

في ١٦‏/٩‏/٢٠٢١ at 14:35, kanory said:

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

اذا العميل ترك مخزن وتم تأجيره لعميل اخر لان حالة العميل الاول غير مستأجر فيشتغل النموزج تمام وميش مشكله

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

Capture55.PNG

Capture66.PNG

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information