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

كيف تبني برنامج مخازن ومبيعات بطريقة صحيحة ؟؟

رائج
بدأه محمد فؤاد تركي في 2 مايو 2007 · 518 رد · 527,857 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#426

السلام عليكم اخي الكريم وكتر الله خيرك على المجهود الرائع

عندي سؤالشرح كيفية عمل شجرة treeview

دليل الحسابات

حسابات اساسية مثل موجودات

وحسابات فرعية1مشل موجودات ثابتة

وحسابات اراضي

حساب مثل ارض المعمل

اي اربع اجزاء

انا رفعت اكتر من مثال بس ما استفدت شي لانو

ما فس شرح

اذا ممكن شرح الطريقة

#427

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

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

#428

اخي محمد فؤاد تركي

مجهود رائع وخبرة عالية

اخي العزيز ,,,,,, الاخوة الخبراء في المنتدى

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

مع الشكر والتقدير

احمد

#429

مشكووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووووور

#430
محمد فؤاد تركي كتب:

الاخوة الزملاء

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

كل عام وانتم بخير

استاذي ومعلمي الفاضل كمال النحال

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

ملحوظتك علي العين والراس وتم تدارك الخطأ اصلاحة

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

بسم الله نبدأ

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

فمثلاً

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

هذا الصنف كود رقم 1

ووحدته الكيلو جرام

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

لذلك جائت فكرة الوحدات الفرعية للصنف

أولاً سيتم انشاء جدول جديد لاضافة الوحدات الفرعية كما هو موضح

66176849hm8.jpg

بعد انشاء الجدول والذي سحتوي علي الوحدات الفرعية للاصناف المراد عمل لها وحدات فرعية

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

59083448qx0.jpg

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

27037483ms5.jpg

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

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

اولاً سنحول مربع النص الي قائمة منسدلة والخاص بحقل الوحد في النموذج الفرعي

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

SELECT Names.Number, Names.Name, Names.unit, Names.[unit price], 1 AS Per  FROM [Names] WHERE (((Names.Number)=[Forms]![Trans_in]![Transaction subform].[Form]![كود الصنف])) UNION SELECT Names.Number, Names.Name, SubUnit.SubUnitName,SubUnit.SubUnitSalesPriz, SubUnit.MainbasicUnitM AS Per  FROM [Names] INNER JOIN SubUnit ON Names.Number = SubUnit.ItemCode WHERE (((Names.Number)=[Forms]![Trans_in]![Transaction subform].[Form]![كود الصنف]));

انتهينا الان من جملة الاستعلام

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

55621103zw0.jpg

بعد ذلك سنضع في حدث بعد التحديق لمربع القائمة المنسدلة هذا الكود لتحديث حقل UnitRate والذي سيتم وضع فيه النسب والذي قد وضعناها من قبل داخل جدول الاصناف لكل حدة

Me.UnitRate = Me.unit.Column(4)

والان سننشيء حقلين جديدين داخل جدول الحركات Transaction

حقل اسمة Qty_in-Multi

حقل اسمة nitRate

ومهمة الحقل الاول اظهار الكميه بداخلة بعد عملية التحويل والتي ستظهر برصيد المخازن

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

العملية الحسابية الاولي وهي

هي ضرب الكمية المدخلة بالطن او الشيكارة في نسبتها ليتم تحويلها الي كيلوات ومن ثم اظهارها في رصيد المخازن

Me.Qty_in = Me.UnitRate * Me.Qty_in_Multi

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

Me.Total = Qty_in_Multi * unit_price

والان سنقوم بتزويد الجزء السفلي من النموذج ببعض المعلومات المهمة والتي قد تفيد بالتأكيد المستخدم بامداده بالتقارير الفورية والسريعة بدون الذهاب الي التقارير

مثل عدد بنود الفاتورة

رصيد الصنف الحالي

اجمالي الفاتورة

نسبة الخصم

كما هو موضح بالصورة المرفقة

28184133ob6.jpg

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

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

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

وكما وضحة الاخ الغالي احمد سابقا

سنقوم اولاً انشاء حقل داخل النموذج الفرعي لفاتورة البيع اسمة

Item_Balance

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

Me.item_Balance = DLookup("sum([Qty_in_Multi])-sum([qty_out])", "transaction", "[number]='" & [كود الصنف] & "'")

وهذه الدالة مهمتها جلب اجمالي المدخلات وجلب اجمالي المخرجات من خلال كود الصنف

بعد ذلك ومن خلال عملية حسابية صغيرة داخل حقل الكمية المنصرفة نكتب التالي

If Qty_out > item_Balance Then
MsgBox "الكمية المنصرفة اكبر من الرصيد الحالي", vbCritical + vbOKOnly, "رسالة تحذيرية"
Cancel = -1
Else
Me.Total.SetFocus
End If

وهذه هي النتيجة كما هو موضح بالصورة

25624247rq4.jpg

وبذلك نكون قد تغلبنا علي عدم صرف كميات بالزيادة والالتزام برصيد المخازن

نفس الطريقة الذي اتبعناها في فاتروة البيع سنتبعها في فاتورة الشراء

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

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

مرفق الملف علي آخر تعديل

تابعونا

لله الحمد اموري ماشيه عال العال

ولكنها تلخبطت عند اضافت حقل

Qty_in-Mult

وحقل

UnitRate

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

ماهو الحقل المخصص لكتابة الكميه المشتراة في فاتورة الشراء

هل هو حقل Qty_in-Mult

ام حقل Qty_in ؟؟

واين اضع الاكواد التالية (في اي حقل وتحت اي حدث )

Me.Qty_in = Me.UnitRate * Me.Qty_in_Multi

والكود الثاني

Me.Total = Qty_in_Multi * unit_price

ثم ارجو ان اعرف ماهو الحقل الذي سوف استخدمه

في تقرير رصيد الاصناف وتقرير حركة الصنف

هل حقل

Qty_in-Mult

ام حقل

Qty_in

ولماذا ؟؟

1
#431

لله الحمد اموري ماشيه عال العال

ولكنها تلخبطت عند اضافت حقل

Qty_in-Mult

وحقل

UnitRate

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

ماهو الحقل المخصص لكتابة الكميه المشتراة في فاتورة الشراء

هل هو حقل Qty_in-Mult

ام حقل Qty_in ؟؟

واين اضع الاكواد التالية (في اي حقل وتحت اي حدث )

Me.Qty_in = Me.UnitRate * Me.Qty_in_Multi

والكود الثاني

Me.Total = Qty_in_Multi * unit_price

ثم ارجو ان اعرف ماهو الحقل الذي سوف استخدمه

في تقرير رصيد الاصناف وتقرير حركة الصنف

هل حقل

Qty_in-Mult

ام حقل

Qty_in

ولماذا ؟؟

#432

يسلمو ايديك على هذا العمل ولك +1 إن شاء الله الى امام جعله الله في ميزان حسناتك وزكاة الى يوم الدين تحياتي

1 −1

الحمد لله الذي هدانا

#433

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

انا عندي بدايه البرنامج ال حضرتك عملته وعدلت فيه بعض الاشياء

وكيف يمكني تعديل البرنامج ليحفظ اخر تاريخ للبيع ؟

وياريت الكود تقولي اضعه في اي سطر او بدل ايه

ولك جزيل الشكر

تم تعديل هذه المشاركة بواسطة ozomaz في 23 سبتمبر 2011 في 11:27

▲ -1
#434

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

▲ -1
#435
محمد فؤاد تركي كتب:

طبعاً

هناك طرق كثيرة لجعل هذين الحقلين ترقيم تلقائي و علي سبيل المثال

هذا الكود يقوم بجلب آخر رقم فاتورة قد تم تسجيلة ثم يقوم باضافة الرقم التالي للفاتورة الجديده

Me!AutoNum = Nz(DMax("[Add_doc]", "[Add_doc]"), 0) + 1

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته , وجزاكم الله خير الجزاء استاذنا الفاضل فؤاد ..

لكن لي سؤال من فضلك وطمعاً في المزيد من كرمك .. أين نكتب هذا الكود؟

▲ -1
#436
محمد فؤاد تركي كتب:

طبعاً

هناك طرق كثيرة لجعل هذين الحقلين ترقيم تلقائي و علي سبيل المثال

هذا الكود يقوم بجلب آخر رقم فاتورة قد تم تسجيلة ثم يقوم باضافة الرقم التالي للفاتورة الجديده

Me!AutoNum = Nz(DMax("[Add_doc]", "[Add_doc]"), 0) + 1

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته أستاذنا الفاضل وأخونا الكريم / محمد تركي ..

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

ولي سؤال أتمنى تكرمكم علي بالإجابة :

أين نضع هذا الكود

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

▲ 1
#437
محمد فؤاد تركي كتب:

أخي الغالي

بارك الله بك

اتمني من الله ان يصبح برنامجك افضل من البرنامج الحالي وان تساعد في تطويرة واضافة الجديد دائما

تم تعديل برنامجك

الخطأ كان في مسميات الحقول

لاحظ ====

حقل سعر الوحدة داخل جدولك اسمة Unit price

وفي شاشة الكود كتبتة هكذا Unit_Price

طبعا هذا خطأ

عموما خذ بالك دائما من مسميات الحقول عند كتابتها داخل محرر الفيجوال بيسك وراجع مسميات الحقول مرة اخري بعناية داخل جداولك حتي لا يحدث اخطاء فيما بعد

مرفق ملفك بعد اجراء التعديلات اللازمة علية

بالتوفيق

بسم الله الرحمن الرحيم

أستاذي الفاضل وأخي الكريم / محمد فؤاد - السلام عليكم ورحمة الله وبركاته

لي سؤال أتمنى تكرمك بالإجابة عليه ربنا يحفظك ويوفك .. سؤالي هو :

كيف أصنع أو ما هي الطريقة إذا أردت أن أقوم بحذف أحد الأصناف من فاتورة البيع أو فاتورة الشراء

يعني الزر (حذف) يقوم بحذف الفاتورة بالكامل ..

لكن ماذا لو أردت حذف صنف واحد فقط من الفاتوره؟

أتمنى الإجابة ولكم جزيل الشكر والتقدير وجزاكم الله كل خير

تم تعديل هذه المشاركة بواسطة MonaAli في 21 أكتوبر 2011 في 22:07

▲ 1
#438

بسم الله الرحمن الرحيم

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

يا إخواني ليش ما حدا رضي يرد على موضوعي ويجاوبني على سؤالي؟

▲ -1
#439

مشكور على هذا الجهد الكبير جدا

▲ -1
#440

ربنا يبارك فيك اخي

▲ 1
#441

محمد فؤاد تركي

الله يعطيك الصحة وطول العمر

بارك الله فيك

▲ -1
#442

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

لمحل لان الكثير يطلبون ذلك وسأعمل معك سوياً ان شاء الله

لاني لم استطيع عمله بسبب ضغوط الحياة

وشكراً

▲ -1

مع تحياتي

اخـوكـم bakoraus

#443

السلام عليكم

هل الاكواد المستخدمة هنا تصلح للعمل في بيئة اكسس 2007

عند محاولتي للتطبيق تفشل العملية

ارجو المساعدة

▲ 1
#444

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

1▲ -1
#445

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

انا لم ادرس الاعلامية بتاتا و لكن احاول ان اتابع قدر الامكان

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

و وجدت هذا الرابط لنفس هته الدروس

http://www.3rbco.com/vb/t5655.html

هل من الممكن يا اخواني ان تصلحوا لي ما اقوم به

نحن لا نستعمل العربية و نستعمل كثيرا الفرنسية

و لكم مني جزيل الشكر

اخوكم حافظلاتونسي من تونس

▲ 1
#446
tounsi hafedh كتب:

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

انا لم ادرس الاعلامية بتاتا و لكن احاول ان اتابع قدر الامكان

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

و وجدت هذا الرابط لنفس هته الدروس

http://www.3rbco.com/vb/t5655.html

هل من الممكن يا اخواني ان تصلحوا لي ما اقوم به

نحن لا نستعمل العربية و نستعمل كثيرا الفرنسية

و لكم مني جزيل الشكر

اخوكم حافظلاتونسي من تونس

بصراحة مقدرش اقول الا حرام تعب الـ5 سنين واحد ييجي وينسبه لنفسه ولا حتى كاتب انه منقول ولا اى حاجة بصراحة شئ مستفز بس هنا الاصل وهناك السرقة

بارك الله فى الاخوة المشاركون فى هذا الموضوع فعلا رائع جدا

تم تعديل هذه المشاركة بواسطة moman في 19 يناير 2012 في 18:09

▲ 1
#447

و لا يهمكم اذا ضاع الحق في الدنيا فأكيد سنأخذه في الاخرة

والله المستعان

▲ 1

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#448

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

وأرجو أن يوفقك الله قريبا فى عمل نفس البرنامج بإستخدام الفيجوال بيسك دوت نت وفى إنتظار دروسك فى هذا الموضوع

وفقك الله

▲ 1
#449

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

امكانيات كبيرة جدا بخلاف الاكسس فقد أثقل الخبرة البرمجية وفي نفس الوقت صممت برنامج بداخلة امكانيات وافكار اكثر من رائعة تفوق البرنامج الذي قد صممتة سابقاً بالاكسس كما تشاهد في الصورة أدناه

post-46243-075473100 1327145105_thumb.jp
المرفقات
1.jpg

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 21 يناير 2012 في 14:27

1▲ 1

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#450

السلام عليكم

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

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

a = DLookup("[number]", "names", "[number]='" & Me.Number & "'")

وماذا يعنى الرمز '

ولك منى جزيل الشكر والعرفان

▲ -1

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