تعلم معي خطوة خطوة صنع برنامج لتسيير المخزون و التسويق
#16
السلام عليكم و رمة الله تعالى و بركاته :
هذا الجزء رقم 06 أو الدرس السادس من مشروع انجاز برنامج لتسيير المخزون و التسويق (GSM) .

بعد ما سلف طرحه سوف نبدأ من اليوم إن شاء الله ، التعامل الفعلي مع قواعد البيانات و غيرها برمجيا ، إلى غاية الإنتهاء بحول الله.

عل الفورم FGSM نستخدم الكل من العانصر أو المكونات : sLabel - DBlookupCombobox - sEdit - sBitBtn - sCombobox.
أولا نقوم بوضع 12 sLabel و 4 DBlookupCombobox ، و 4 sEdit ، و sCombobox1 ، و DateTimePicker ، و كذا 12 زرا من نوع sBitBtn كما تشاهدون في الصور المرفقة المسماة img_FGSM .

الآن نأتي للبرمجة لغرض التحكم في قاعدة البيانات من إضافة و تعديل و حذف و استظهار ، و ما إلى ذلك . هنا لابد لنــا أن نفهم ما نود القيام به نظريا أولا ، بما في ذلك علاقة الجداول ببعضها .


طيب الأمر بسيط جدا ، كل ماعلينا هو المتابعة و التركيز :

1- جدول المخزون أو جدول المواد الذي سميناه produit ، يضم قائمة السلع التي بامكاننا شراؤها و بيعها.
ماذا يعني هذا؟ يعني أنه لا يمكنك بيع أو شراء سلعة إلا التي تم السماح بها أو تم تعيينها بجدول produit ، ماذا يترتب عن هذا ؟ يترتب عن هذا عدم تمكين المستخدم من الحرية في تحرير اسم السلعة ، يعني أثناء تحرير الفاتورة (السلع المباعة) في مكان كود و اسم السلعة لا نضع مكون مثل edit الذي يمكن المستعمل من تحرير و كتابة ما يريد (وقد تم فعل هذا حيث وضعنا المكون DBlookupCombobox) .
إذن هناك علاقة وطيدة بين كل من جدول produit و جدول vente ، تتمثل بشكل ظاهر في كل من كود المادة-اسم المادة ، و سوف نربط بينهما عن طريق DBlookupCombobx (نرى ذلك بعد حين) .
2- نفس الشيء مع الكود و الإسم التجاري للزبون ، هناك علاقة بين جدول البيع vente و جدول client ، يعني مثلا أنت لديك زبون يحمل الاسم التجاري (ECS) ، لو تتيح امكانية التحرير لمستعمل البرنامج بالمكون edit او maskedit أو sEdit أو مكون آخر ، يكون احتمال الخطأ في التحرير كأن يكتب ESC بدلا من ECS ، حينها لن تستطيع أن تكون دقيقا و صحيحا في تعاملك مع هذا الزبون لأنه أصبح لك زبونين ECS و ESC ، مع أنهما في الحقيقة زبون واحد ، فلو أن هذا الزبون اشترى عليك في المرة الأولى و لم يسدد التكاليف ، و في المرة الثانية أيضا ، فكم لك عليه من ديون؟ بالتأكيد هو مجموع القيمتين ، فإذا كانت كل قيمة لزبون مختلف ECS و ESC فإنك سوف تقع في خطأ كبير.
3-لن أطيل في هذه الأمور ، نقطة أخيرة تتمثل في عملية الحساب أثناء البيع: يعني نضع بالحسبان أن الكمية في جدول produit هي 00 ، تزيد هذه الكمية أثناء الشراء ، و تنقص أثناء البيع ( يعني يتم حفظ عملية البيع بتفاصيلها ، ثم يتم طرح كمية المنتوج الذي بيع من إجمالي الكمية في جدول produit )
4-بعد ذلك سنتدرج في أمر مهم و هو : كلما اكتشفنا امكانية وقوع الخطأ قمنــا بتجنبه أو وضع قيود مناسبة لتفاديه.



* الآن نأتي إلى المرحلة التنفيدية و التطبيقية:

حدد العنصر DBloockupCombobox1 ، ثم نذهب لخصائص هذا المكون ، هذا المكون سوف يعمل لصالح من ؟ كغيره من كل المكونات الموضوعة على الفورم FGSM خاصة بالجدول vente ، و عليه فإن الخاصية DataSource سوف تأخذ القيمة DataSource2 .
ثم هذا العنصر (نقصد DBlookupCombobox1 ) خاص بأي حقل من الجدول vente ؟ بطبيعة الحال Code_Prod ، إذن نحدد هذه الأخير كقيمة للـخاصية DataField .
ثم هذا العنصر (نقصد DBlookupCombobox1 ) يأتي بقائمة المواد من أين ؟ من الجدول produit إذن:
DataSource=DataSource1
KeyField=Code_Prod . هذا كل شيء و قبل أن نجرب لأن قائمة المواد خالية من الجدول produit ، سوف نعمل نفس الشيء مع كل من DBLookupCombobox2+3+4 علما أن3+4 من جدول الزبائن يعني DataSource=DataSource4.

أخيرا : نذهب للفورم FProduit و نضيف العنصرين DBNavigator و DBGrid و نكتب في الخاصية DataSource=FGSM.DataSource1
لكليهما ، نقوم باضافة مواد مختلفة بملئ الحقول ن و على وجه الخصوص الحقلين:
Code_Prod / Des_Prod ، بعد ذلك نعود إلى الفورم FGSM و سوف نلاحظ أن المواد التي أضيفت في الجدول Produit أصبحت تظهر بالمكون DbLookupCombobox ، حسب اسم كل حقل .
نستطيع فعل نفس الشيء فيما يخص فورم و جدول الزبائن.


و هاهو مشروعنا إلى غاية هذه المرحلة بالمرفقات.
بالتوفيق.

[صورة: 2uesmj6.jpg]

.../ يتبع / ....



الملفات المرفقة
.rar   4_GSM.rar (الحجم : 110.3 ك ب / التحميلات : 2,725)
الرد


الردود في هذا الموضوع
تعلم معي خطوة خطوة صنع برنامج لتسيير المخزون و التسويق - بواسطة nabilkeb - 27-01-2010, 02:37 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 2 ) ضيف كريم