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

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

قام بنشر (معدل)

السلام عليكم اخوانى الكرام

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

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


image.png.6ce1c98ca5b9b0a662f412642995680f.png

image.png.885f5192155a36d4686d90857f95dc55.png

 

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

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


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

test.rar

تم تعديل بواسطه محمد مدحت
نسيت التوضيح
قام بنشر (معدل)

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

P3.png

المشكلة بتكمن فى زر الحفظ 
مش انشاء باركود 

 

7 دقائق مضت, ناقل said:

قمت باضافة صنف جديد وانشأت له بركود ... ولم تظهر الرسالة ؟؟؟؟؟

 

 

1.png

2.png

المشكلة بتكون فى زر حفظ 
مش انشاء باركود 

تم تعديل بواسطه محمد مدحت
قام بنشر

طيب المشكلة ممكن يكون سببها ايه طيب 

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

قام بنشر
7 ساعات مضت, Eng.Qassim said:

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

عملت On Error Resume Next فاختفت الرسالة

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

قام بنشر
7 ساعات مضت, محمد مدحت said:

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

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

هناك ملاحظة مهمة لاستاذنا القدير @ابوخليل...كلما امكنك التقليل من عدد الجداول كلما امكنك السيطرة على الاخطاء

قام بنشر

السلام عليكم 🙂

 

في 4‏/5‏/2022 at 06:42, محمد مدحت said:

طيب المشكلة ممكن يكون سببها ايه طيب 

 

علاقة الجدولين عندك:

image.png.c6e5bc48819a28c50b1b6c09581efb45.png

.

1. تفرض ان جميع بيانات الحقل ProductBarcode يجب ان تكون موجودة مسبقا في الحقل Items_Code ،

2. ولكنك لم تفرض تغيير/تحديث بيانات الحقل ProductBarcode عندما تتغير/تتحدث بيانات الحقل Items_Code ،

3. ولم تفرض حذف بيانات الحقل ProductBarcode عندما تحذف بيانات الحقل Items_Code ،

 

لذلك ، فلما يكون عندك سجل في الجدول inventory Transaction ، ولا توجد بيانات في الحقل ProductBarcode :

أ. فهذا لا يعني ان الحقل ProductBarcode لا توجد به قيمة ، بل ان قيمته Null او لا شيء (وهي قيمة في وجهة نظر قاعدة البيانات) ،

ب. ولما تُدخل سجل جديد في الجدول  Items ، وتترك الحقل item_code بدون قيمة  (بل ان قيمته Null او لا شيء في وجهة نظر قاعدة البيانات) ،

ج. وبسبب علاقة الجدولين ، تتم مقارنة بيانات الحقلين ، ويكونان متساويين ، ويكون هناك ارتباط بينهم ،

د. فقيمة هذا الحقل لا يمكن تغييرها في اي من الجدولين ، لأنك لم تطلب ذلك في العلاقات (انظر رقم 2 اعلاه) (جرب واعمل سجل فارغ في الجدولين ، وبدون اي قيمة في الحقلين ، ثم حاول تغيير قيمة productBarcode او قيمة Item_Code ، فستحصل على نفس رسالة الخطأ التي كانت تأتيك سابقا.

 

اذن الحل:

اولا: عدم ترك اي سجل في الجدولين، تكون قيمة الحقلين اعلاه فارغة 🙂

ثانيا:  الحل الآخر هو تغيير نوع العلاقة ، بحيث تسمح لتغيير/تحديث بيانات الحقلين:

image.png.d552ad681a6bcfe8b48cbdc07cf32848.png

.

وبهذه الطريقة ، سيمكنك مواصلة العمل في برنامجك كما هو ، ولكن انتبه ، وبسبب العلاقة الجديدة ، فلما تُدخل قيمة في الحقل الفارغ items_code ، فستقوم بتعبئة جميع الحقول الفارغة في ProductBarcode ، وهذه كارثة !!

image.png.b4c4bce65e901dd6906e8d7bec5099f7.png

.

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

 

هذا بالنسبة للعلاقة ، والآن فلنرى لماذا تكون لدينا حقول فارغة :

الكود خلف زر الحفظ هو السبب ، فلم تكن تحفظ رقم الباركود مع السجل ،

لهذا السبب ، يجب حذف زر "انشاء باركود" ، وضم كوده الى كود الحفظ ، ليصبح كود زر الحفظ كالتالي:

Private Sub P4_Click()
[Items_Code] = DLookup("[باركود]", "barcodeOnSName", "[Items_ID]=[Item_Supplier_ID]")
DoCmd.RunCommand acCmdSaveRecord  '<== احفظ البيانات فقط
'DoCmd.Save				<== هذا الامر معناه احفظ تصميم النموذج، وليس حفظ البيانات
'DoCmd.RefreshRecord    <== يمكن استعمال هذا الامر للحفظ ، ولكنه يحفظ البيانات ، ثم يقرأها من الجدول مرة اخرى ، لهذا السبب يحدث وميض في النموذج
Ms$ = "تم التسجيل الصنف بنجاح"
Ti$ = "رسالة تنبيه اضافة صنف جديد"
Re = MsgBox(Ms$, 64, Ti$)
End Sub

 

جعفر

 

image.png

image.png

  • Like 4
  • Thanks 1
قام بنشر
في 5‏/5‏/2022 at 06:42, jjafferr said:

السلام عليكم 🙂

 

 

علاقة الجدولين عندك:

image.png.c6e5bc48819a28c50b1b6c09581efb45.png

.

1. تفرض ان جميع بيانات الحقل ProductBarcode يجب ان تكون موجودة مسبقا في الحقل Items_Code ،

2. ولكنك لم تفرض تغيير/تحديث بيانات الحقل ProductBarcode عندما تتغير/تتحدث بيانات الحقل Items_Code ،

3. ولم تفرض حذف بيانات الحقل ProductBarcode عندما تحذف بيانات الحقل Items_Code ،

 

لذلك ، فلما يكون عندك سجل في الجدول inventory Transaction ، ولا توجد بيانات في الحقل ProductBarcode :

أ. فهذا لا يعني ان الحقل ProductBarcode لا توجد به قيمة ، بل ان قيمته Null او لا شيء (وهي قيمة في وجهة نظر قاعدة البيانات) ،

ب. ولما تُدخل سجل جديد في الجدول  Items ، وتترك الحقل item_code بدون قيمة  (بل ان قيمته Null او لا شيء في وجهة نظر قاعدة البيانات) ،

ج. وبسبب علاقة الجدولين ، تتم مقارنة بيانات الحقلين ، ويكونان متساويين ، ويكون هناك ارتباط بينهم ،

د. فقيمة هذا الحقل لا يمكن تغييرها في اي من الجدولين ، لأنك لم تطلب ذلك في العلاقات (انظر رقم 2 اعلاه) (جرب واعمل سجل فارغ في الجدولين ، وبدون اي قيمة في الحقلين ، ثم حاول تغيير قيمة productBarcode او قيمة Item_Code ، فستحصل على نفس رسالة الخطأ التي كانت تأتيك سابقا.

 

اذن الحل:

اولا: عدم ترك اي سجل في الجدولين، تكون قيمة الحقلين اعلاه فارغة 🙂

ثانيا:  الحل الآخر هو تغيير نوع العلاقة ، بحيث تسمح لتغيير/تحديث بيانات الحقلين:

image.png.d552ad681a6bcfe8b48cbdc07cf32848.png

.

وبهذه الطريقة ، سيمكنك مواصلة العمل في برنامجك كما هو ، ولكن انتبه ، وبسبب العلاقة الجديدة ، فلما تُدخل قيمة في الحقل الفارغ items_code ، فستقوم بتعبئة جميع الحقول الفارغة في ProductBarcode ، وهذه كارثة !!

image.png.b4c4bce65e901dd6906e8d7bec5099f7.png

.

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

 

هذا بالنسبة للعلاقة ، والآن فلنرى لماذا تكون لدينا حقول فارغة :

الكود خلف زر الحفظ هو السبب ، فلم تكن تحفظ رقم الباركود مع السجل ،

لهذا السبب ، يجب حذف زر "انشاء باركود" ، وضم كوده الى كود الحفظ ، ليصبح كود زر الحفظ كالتالي:

Private Sub P4_Click()
[Items_Code] = DLookup("[باركود]", "barcodeOnSName", "[Items_ID]=[Item_Supplier_ID]")
DoCmd.RunCommand acCmdSaveRecord  '<== احفظ البيانات فقط
'DoCmd.Save				<== هذا الامر معناه احفظ تصميم النموذج، وليس حفظ البيانات
'DoCmd.RefreshRecord    <== يمكن استعمال هذا الامر للحفظ ، ولكنه يحفظ البيانات ، ثم يقرأها من الجدول مرة اخرى ، لهذا السبب يحدث وميض في النموذج
Ms$ = "تم التسجيل الصنف بنجاح"
Ti$ = "رسالة تنبيه اضافة صنف جديد"
Re = MsgBox(Ms$, 64, Ti$)
End Sub

 

جعفر

 

image.png

image.png

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

 

في 5‏/5‏/2022 at 00:33, Eng.Qassim said:

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

هناك ملاحظة مهمة لاستاذنا القدير @ابوخليل...كلما امكنك التقليل من عدد الجداول كلما امكنك السيطرة على الاخطاء

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

قام بنشر
6 ساعات مضت, محمد مدحت said:

هل اعمل حقل كود الصنف ProductBarcode  و items_code  مطلوب

نعم هي الطريقة الافضل ، 

والكود اللي وضعته لك يضع الباركود من ضمن الحفظ ، وعليه يجب عليك ان تخفي الزر الخاص بالباركود 🙂

 

جعفر

 

  • Like 2
قام بنشر
18 ساعات مضت, jjafferr said:

نعم هي الطريقة الافضل ، 

والكود اللي وضعته لك يضع الباركود من ضمن الحفظ ، وعليه يجب عليك ان تخفي الزر الخاص بالباركود 🙂

 

جعفر

 

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

قام بنشر

السلام عليكم

استاذ @محمد مدحت:fff: اهلا بيك

مبدئيا بدون زعيق  :yes: قبل أى شئ 

انا مررت على القاعدة والموضوع مرور الكرام  بصراحة 

من فضلك جرب المرفق او تمام قول الحمد لله

ولو لا قدر الله مش تمام سامحنى :biggrin: لان انا الى الان لم افهم اى شئ :yes:

 

 

test(2).zip

قام بنشر
في 9‏/5‏/2022 at 05:25, ابو جودي said:

السلام عليكم

استاذ @محمد مدحت:fff: اهلا بيك

مبدئيا بدون زعيق  :yes: قبل أى شئ 

انا مررت على القاعدة والموضوع مرور الكرام  بصراحة 

من فضلك جرب المرفق او تمام قول الحمد لله

ولو لا قدر الله مش تمام سامحنى :biggrin: لان انا الى الان لم افهم اى شئ :yes:

 

 

test(2).zip 206.92 kB · 8 downloads

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

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

2 - المودر مش بيكون عامل كود للصنف بتاعه وهنا يتاتى دور انشاء باركود وانا عامله مركب عباره عن انه بياخد نتيجة لكودالمورد و كود اللون و كود التصنيف وكود الحركه وبكده ينشء باركود متغير 
علشان كده مكنتش اقدر انفذ توجيه استاذنا @jjafferr
بانى الغى زر الباركود اخلى وظيفته مع زر الحفظ 
وعليه فكرت انى الغى كود التحديث كما اشار استاذنا وكود الحفظ يتم تعديله 
بس تفضلت حضرتك اتستاذنا @ابو جودي 
بذكر الكود فى المثال وايضا تعديل العلاقة بس كمان ذكر استاذنا جعفر ان ده هيسبب مشكلة والصراحه مكنتش فاهم مقصده فى النقطه دى المشكلة هتكون ايه 
اعذر جهلى استاذنا فا انا لسه بحبى :biggrin::biggrin:
فهل ان اطرح ما توصلت اليه وتورشدونى استاذتى لايه الصح 

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

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

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

test16-5.rar

قام بنشر
في 17‏/5‏/2022 at 00:24, محمد مدحت said:

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

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

2 - المودر مش بيكون عامل كود للصنف بتاعه وهنا يتاتى دور انشاء باركود وانا عامله مركب عباره عن انه بياخد نتيجة لكودالمورد و كود اللون و كود التصنيف وكود الحركه وبكده ينشء باركود متغير 
علشان كده مكنتش اقدر انفذ توجيه استاذنا @jjafferr
بانى الغى زر الباركود اخلى وظيفته مع زر الحفظ 
وعليه فكرت انى الغى كود التحديث كما اشار استاذنا وكود الحفظ يتم تعديله 
بس تفضلت حضرتك اتستاذنا @ابو جودي 
بذكر الكود فى المثال وايضا تعديل العلاقة بس كمان ذكر استاذنا جعفر ان ده هيسبب مشكلة والصراحه مكنتش فاهم مقصده فى النقطه دى المشكلة هتكون ايه 
اعذر جهلى استاذنا فا انا لسه بحبى :biggrin::biggrin:
فهل ان اطرح ما توصلت اليه وتورشدونى استاذتى لايه الصح 

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

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

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

test16-5.rar 163.35 kB · 5 downloads

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

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.

×
×
  • اضف...

Important Information