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

مساعدة بعمل كود الحاق وحذف


Amr Ashraf

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

السلام عليكم

 قمت بعمل نموذج لصرف خامات معينة من المخزن بناء على طلب صرف واضفت كومبوبوكس لاختيار رقم طلب الصرف الذى بموجبه يتم صرف الخامات المطلوب اساتذتى كالتالى :

  •  فى حالة عدم اختيار طلب صرف من الكومبوبوكس تظهر رسالة " يجب اختيار رقم طلب الصرف" وتمنع البرنامج من استكمال صرف الخامات وكأن شيئا لم يكن 
  • "Orders"فى حالة اختيار رقم طلب الصرف وصرف الخامات بناء عليه وعند الضغط على اذن جديد يتم نقل سجل طلب الصرف السابق من جدول  
  • الى جدول اخر new orders
  •  مع العلم حاولت اعمل اول خطوة بالكود التالى  ولكن لم ينفع ويتم خصم الخامات عادى ولكنه لا ينتقل الى اذن جديد فقط لكن الخامات تخصم من الرصيد
  • Private Sub Command10_Click()
    If Me.Combo51 > 0 Then
    DoCmd.GoToRecord , , acNewRec
    Else
    MsgBox "عفوا اختر رقم طلب الصرف"
    End If
    End Sub

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

اسف على الاطالة اخوتى الكرام تفضلو بقبول مودتى 

 

Orders.rar

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

7 دقائق مضت, ابوخليل said:

يبدوا ان طلبك غير واضح

واعتقد   هو السبب  بعد الاستجابة بسرعة

حاول تشرح طلبك بطريقة اخرى

شكرا على ردك ومرورك اخى الكريم واسف على سوء التوضيح سأحاول شرح طلبى بأبسط الطرق على قدر المستطاع كالتالى :

المعروف ان اى مخزن يقوم بصرف الاصناف منه بناء على طلب صرف من جهة الانتاج او التخطيط وبناء عليه يكون مصرح لامين المخزن اخراج الخامات من مخزنه وخصمها من الرصيد وبناء عليه مرفق نموذج مصغر من قاعدة بيانات للمخازن القاعدة المرفقة بها نموذج اسمه Trans_Top هذا النموذج يقوم بصرف الخامات من المخزن لجهة الانتاج ولكنى بحاجة الى اجبار امين المخزن على تحديد رقم مستند طلب الصرف الذى بناء عليه اخذ التصريح لاخراج الخامات من مخزنه وبالتالى قمت بعمل Compobox موجود بنموذج Trans_Top مرتبط بجدول اسمه orders وبه طلبات الصرف كلها  يقوم امين المخزن باختيار منه رقم مستند طلب الصرف السابق الاشارة ايه المطلوب كالتالى :

الطلب الاول : فى حالة عدم تحديد رقم المستند السابق الاشارة اليه من Compobox لا يسمح النموذج بصرف الخامة وتظهر رسالة " برجاء اختيار مستند طلب الصرف " .

الطلب الثانى : الحالة الاخرى بعد اختيار رقم المستند واكمال كافة الخطوات بطريقة صحيحة وعند الضغط على زر اذن جديد الموجود بالنموذج مطلوب نقل سجل طلب الصرف الذى تم اختياره من Compobox الى جدول اخر به طلبات الصرف المنتهية مثال :

قمت بصرف الخامات بناء على طلب الصرف رقم 200 اريد بعد الانتهاء من صرف الخامة وعند الضغط على زر اذن جديد يتم نقل طلب الصرف الذى يحمل رقم 200 من جدول orders الى جدول جديد يحمل اى مسمى به الطلبات التى تم صرفها وذلك حتى لا يتم صرف الخامات اكثر من مرة بناء على نفس طلب الصرف

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

 

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

ما رأيك بطريقة اسهل وافضل  وهي ان تبقى طلبات الصرف في مكانها ويكتفى بوضع علامة على الطلب المصروف وفي الوقت نفسه  لا يظهر ضمن قائمة الاختيار ؟

مسأئل الحذف والالحاق يجب تجنبها في قواعد البيانات الا للضرورات التي لا بد منها

 

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

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

اقصد ان عمليات الداخل والخارج  بجدول مستقل  يشتمل على معرف الصنف فقط 

ليتك تختصر  مثالك وتكتفي مثلا  بثلاثة او اربعة اصناف

ايضا جدول الطلبات  الحقول الموجودة لا تكفي .. اين معرف الصنف ؟

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

فكر معي : اريدك تعمل  من اقصر وافضل الطرق

اقتباس

قمت بعمل نموذج لصرف خامات معينة من المخزن بناء على طلب صرف 

لماذا لا يكون التحكم من نموذج طلب الصرف مباشرة ؟

ولماذا بعد كتابة الطلب تذهب الى مكان آخر  لتنفيذه ؟

 

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

47 دقائق مضت, ابوخليل said:

ما رأيك بطريقة اسهل وافضل  وهي ان تبقى طلبات الصرف في مكانها ويكتفى بوضع علامة على الطلب المصروف وفي الوقت نفسه  لا يظهر ضمن قائمة الاختيار ؟

مسأئل الحذف والالحاق يجب تجنبها في قواعد البيانات الا للضرورات التي لا بد منها

 

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

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

اقصد ان عمليات الداخل والخارج  بجدول مستقل  يشتمل على معرف الصنف فقط 

ليتك تختصر  مثالك وتكتفي مثلا  بثلاثة او اربعة اصناف

ايضا جدول الطلبات  الحقول الموجودة لا تكفي .. اين معرف الصنف ؟

 

15 دقائق مضت, ابوخليل said:

فكر معي : اريدك تعمل  من اقصر وافضل الطرق

لماذا لا يكون التحكم من نموذج طلب الصرف مباشرة ؟

ولماذا بعد كتابة الطلب تذهب الى مكان آخر  لتنفيذه ؟

 

جزاك الله خير على المتابعة اخى الكريم ساشرح لك كيفية العمل فى عجالة 

اولا القاعدة بها  عدة جداول الجدول الاول  Item names وبه معرف الصنف واسمه فقط وهو يعتبر الجدول الاساسى المرتبط بكافة الجداول لانه يعتبر الدليل فى قاعدة البيانات ولا تتم فيه اى حركات سواء اضافة او صرف او اى شئ مجرد اسماء واكواد الاصناف

جداول مساعدة اخرى orient / sections بها اسماء الاقسام واسماء العملاء والموردين ايضا ليس بها اى حركات مجرد دليل للأسماء فقط

الجداول الباقية وهى orders فى هذا الجدول موجود طلبات الصرف التى يصرح لأمين المخزن بناء عليها القيام بعملية الصرف وسأجيب عن تساؤلك  لماذا لا يكون التحكم من نموذج طلب الصرف مباشرة ؟  ولماذا بعد كتابة الطلب تذهب الى مكان آخر  لتنفيذه ؟

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

جدولين مرتبطين بنموذج الصرف وهما Trans_Top و Transactions فى الاول يتم تسجيل معلومات مستند الصرف من حيث التاريخ والجهة المصروف اليها وهكذا فى الجدول الثانى يتم تسجيل المصروفات ويرتبط الجدولين برقم المستند Doc وسبب عملها بهذا الشكل كثرة التقارير المعتمدة عليهم وشكل التقارير المرغوبة وليس بهم اى مشكلة حالياً

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

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

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

 

 

Orders.rar

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

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

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

تم تعديل بواسطه Amr Ashraf
رابط هذا التعليق
شارك

تم التعديل حسب طلبك

وانشاء جدول جديد باسم tblTemp

جرب ووافنا بالنتيجة

الجدول الجديد قابل  للتكرار

ولا يمكنك جعله غير قابل للتكرار / لضوابط ستواجهك لاحقا

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

 

Orders2.rar

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

47 دقائق مضت, ابوخليل said:

تم التعديل حسب طلبك

وانشاء جدول جديد باسم tblTemp

جرب ووافنا بالنتيجة

الجدول الجديد قابل  للتكرار

ولا يمكنك جعله غير قابل للتكرار / لضوابط ستواجهك لاحقا

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

 

Orders2.rar

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

فى حالة عدم اختيار قيمة من Compobox تظهر رسالة "برجاء اختيار طلب صرف" ولكن التأثير يحدث بمعنى انه لو خرج من النموذج بعد هذه الرسالة وفتحه مجددا تكون عملية الصرف تمت بصورة طبيعية كأنه لا يوجد خطأ حيث يتم انشاء سجل فى جدول Trans_Top به التاريخ ورقم الاذن ويتم انشاء سجلات الصرف فى جدول transactions  ويتأثر رصيد الصنف  بمعنى ان عملية الصرف تتم بصورة طبيعية حتى لو لم يختار رقم طلب الصرف

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

اذا سمحت لى استاذى الغالى لدى طلب اخر معذرة على كثرة الطلبات ولكنى أعجبت جدا بالنتيجة لدرجة انى طمعت بالمزيد 

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

معذرة على كثرة الطلبات

تم تعديل بواسطه Amr Ashraf
رابط هذا التعليق
شارك

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

ما رأيك ؟ 

اما النموذج الرئيسي في طلبك الاول فيمكن التحكم به 

بحيث يكون ادراج رقم الاذن  مرتبط بمربع التحرير

انظر المثال

 

Orders3.rar

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

أستاذى الغالى :

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

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

بالنسبة للطلب الثانى لم افهم مقصدك ولم استطع تطبيق المثال أعيد فكرة المطلوب للتأكيد فقط 

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

 

 

تم تعديل بواسطه Amr Ashraf
رابط هذا التعليق
شارك

مربع Doc يتم ادخال الرقم برمجيا

انظر النتيجة في الجدول بعد النقر على زر جديد

وبالنسبة للضوابط التي تريدها ما المانع العمل على ثلاث نماذج  وارد ومنصرف ومرتجع

اذا لاقت لك الفكرة

يمكنك فتح موضوع جديد بخصوص  حصر المنصرفات  بالطلبيات

 

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

17 دقائق مضت, ابوخليل said:

مربع Doc يتم ادخال الرقم برمجيا

انظر النتيجة في الجدول بعد النقر على زر جديد

وبالنسبة للضوابط التي تريدها ما المانع العمل على ثلاث نماذج  وارد ومنصرف ومرتجع

اذا لاقت لك الفكرة

يمكنك فتح موضوع جديد بخصوص  حصر المنصرفات  بالطلبيات

 

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

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

تم تعديل بواسطه Amr Ashraf
رابط هذا التعليق
شارك

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

خالص تحياتي لأستاذي الجليل أبو خليل.. جعلك الله دائما في عوننا وزادك الله من فضله

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

 

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

Orders------edit.rar

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

11 ساعات مضت, عبدالرحمن هاشم said:

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

خالص تحياتي لأستاذي الجليل أبو خليل.. جعلك الله دائما في عوننا وزادك الله من فضله

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

 

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

Orders------edit.rar

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

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

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