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

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

سؤال

518 إجابة على هذا السؤال .

  • -1

السلام عليكم ....

شرح رائع يا أستاذنا المبتديء ...

سأجرب المثال ... وأتسأل هل التقارير تظهر السعر المتوسط للأصناف .. بمعنى أنه إذا وجد لدينا صنف معين وله أكثر من سعر فهل يعطي السعر المتوسط له .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

اخي الغالي معان

بارك الله فيك وشكراً علي مرورك الطيب

الاخ الغالي صفرواحد

الله يعطيك ألف عافية

طبعاً يمكنك استخراج أي تقارير تريدها من البرنامج

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

نفتح استعلام جديد ونضع بداخلة الجدول المسمي Transaction

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

رقم

تاريخ ووقت

عملة

ترقيم تلقائي

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

44525008uw1.jpg

قم بتشغيل الاستعلام ستجد الداله Avg تقوم باحتساب متوسط سعر الصنف

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

Warehouses_System_up.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

السلام عليكم

جزاك الله كل الخير اخي الكريم محمد فؤاد تركي

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

و عمل جداول المدينين و الدائنين و الصندوق و كيفية الربط بينها

اخوك محمود شديد من القاهرة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

السلام عليكم اخي الكريم محمد فؤاد تركي

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

حضرتك في جدول ال Transaction وضعت حقل لكود الصنف و حقل لاسم الصنف

انا لا اريد وضع حقل لاسم الصنف

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

فما الدالة DlookUp لم تنفع معي

ارجو التوضيح

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

أخي محمد

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

http://www.okail.com/vb/showthread.php?t=12

مع خالص تحياتي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

اخى الفاضل / محمد فؤاد

بعد التحية

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

فلعل المانع خير

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

وبارك الله لك ولكل اعضاء المنتدى الكرام

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

السلام عليكم

اخي الكريم

اظن انك لم تدرك ما اقصده فيما قلته

انت اخي الكريم انشأت حقل بأسم Name (بيان الخامة)

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

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

المطلوب :

عرض اسم الخامة(الصنف) فقط في النموذج الفرعي و عدم حفظها( في جدول Transactions)

ما قمت بفعله انت هو انك حفظت اسم الخامة (الصنف ) في جدول الـ Transaction

ارجو ان اكون اوصلت المعلومة

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

تم تعديل بواسطه Wise
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

يا اخ محمد تركي لو تستخدم الfpspread يكون البرنامج افضل

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

ما هو الfpspread

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

والله لو أعرف انا كمان اية هو الــ fpspread كنت رديت لكن انا حاولت أبحث عن طريق محركات البحث بدلالة هذا الاسم وجدت ان الموضوع له علاقة بالاكسل والــ VB.NETواذا كان الاخ صالح فاضل عنده شيء يفيد البرنامج بهذه الطريقة او يوضع شرح ولو بسيط عن FpSpread لانني لا اعرف عنه شيء

وشكراً

تم تعديل بواسطه محمد فؤاد تركي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

جزاك الله خيرا اخي محمد التركي

دروسك شيقة و مفيدة

خاصة اسلوب تصميم الجداول و الربط بعضها و بعض و كذلك الاستعلامات

نحن في انتظار تكملة موضوع الاكثر من رائع

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

ربنا يعنك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1
الاخوة الزملاء

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

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

أخي الغالي / محمد تركي

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

يسلم عقلك وتسلم يداك برنامج رائع وكنت أحب أن تكمل المشوار من زمن ولكن لا بأس حان الوقت لأن تشمر عن ساعديك يا بطل.

للتنويه فقط : أثناء فتح النمو>ج الخاص بحساب عميل في حالة حدث عدم وجود بيانات تكرار الرسالة عدم وجود بيانات مرتين بسبب عدم وجود Cancel=-1

وأضفت الى الكود On error goto لتحاشي وجود خطأ في الكود

Private Sub Report_NoData(Cancel As Integer)

MsgBox "NO DATA FOUND, vbInformation,MOHAMED TURKI"

Cancel = -1

End Sub

أخي تشكر على المجهود واللهم إجعله في ميزان حسناته ... اللهم آمين آمين آمين

مع أطيب تحياتي لك بالتوفيق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

الله يعطيك ألف عافية يا أخي الغالي كمال النحال

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

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

تم تعديل بواسطه محمد فؤاد تركي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

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

54.bmp

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

أختي الغالية

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

تم تعديل بواسطه محمد فؤاد تركي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

جعل الله ما كتبت في ميزان حسناتك يوم القيامة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

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

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

اخي محمد الف شكر على هذا العمل الذي فيه فائدة للجمبع

واطلب منك المساعدة ببرنامجك

1- فاتورة الشراء

اذا كان عندي موردين ولكل مورد نفس رقم الفاتورة مثلا" 1 فما يقبلها

2- وكذلك رقم السند

3- بالبحث وضعت سعر جدبد للمادة مثلا" اسمنت..... اللسعر الاول 10 السعر الثاني 5

فعند البحث يظهر السعر الاول فقط

ولك التحية

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

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

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

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

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

أولاً : - لكيفية احتساب أو استخراج حساب المورد يجب توافر لدينا عدة جداول رئيسية لاستخراج حساب المورد

أ – جدول فواتير الشراء والذي اسمة بقاعدة البيانات Add_doc

ب – جدول الموردين والذي اسمة بقاعدة البيانات Suppliers

جـ - جدول تسجيل سندات الدفع والذي اسمة بقاعدة البيانات Account_Payable

د – جدول تسجيل حركات الصنف والذي اسمة بقاعدة البيانات Transaction

هذه هي الجداول الرئيسية المطلوبة لاستخراج حساب المورد

ثانياً : - نبدأ في النظر الي شكل العلاقة الان والتي تظهر كيفية ربط جدول الموردين بفواتير الشراء كما في الشكل التالي

40478106ma1.jpg

ثالثاً : - نبدأ الان في تصميم شاشة أو نموذج لتسجيل سندات الدفع ويكون مصدر هذا النموذج الجدول Account_Payable

ليصبح شكل النموذج كما في الشكل التالي

92932056qx1.jpg

رابعاً : - نذهب الي الاستعلامات لكي نقوم بتصميم الاستعلام المناسب لاستخراج هذا التقرير ( حساب المورد) وباستخدام استعلامات التوحيد نستطيع استخراج تقرير من مجموعة الجداول المذكور أعلاه لتصبح الجملة الاستعلامات المستخدمة لاخراج هذه العملية كالتالي

SELECT suppliers.suppliers, "-" AS Account_Payable, add_doc.add_doc, Sum(Transaction.total) AS Depit, 0 AS credit,suppliers.home,suppliers.mobil, suppliers.job,suppliers.address,add_doc.zdate
FROM suppliers INNER JOIN (add_doc INNER JOIN [Transaction] ON add_doc.add_doc = Transaction.add_doc) ON suppliers.suppliers = add_doc.supplier
GROUP BY suppliers.suppliers, "-", add_doc.add_doc,suppliers.home,suppliers.mobil, suppliers.job,suppliers.address,add_doc.zdate
UNION SELECT suppliers.suppliers, Account_Payable.Account_Payable, "-" AS add_doc, 0 AS depit,Account_Payable.LE AS Credit, suppliers.home,suppliers.mobil, suppliers.job,suppliers,Account_Payable.Date
FROM (suppliers INNER JOIN add_doc ON suppliers.suppliers = add_doc.supplier) INNER JOIN Account_Payable ON suppliers.suppliers = Account_Payable.[To Pay];

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

63267189nr3.jpg

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

16617465be8.jpg

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

Private Sub Report_Open(Cancel As Integer)
DoCmd.Maximize
End Sub

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

MsgBox "لاتوجد بيانات للطباعة", vbInformation, "تحذير"

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

90262152jl1.jpg

أولاً : - نقوم بتصميم نموذج يحتوي علي مربع تحرير وسرد ويكون مصدرة جدول الموردين وذلك لعرض اسماء الموردين

ثانياً : - قم بإنشاء زر علي النموذج لعرض التقرير وتحت حدث الضغط علي هذا الزر نقوم بكتابة هذا الكود لعرض التقرير الحالي للمورد المختار من مربع التحرير والسرد

DoCmd.OpenReport "Account_Payable", acViewPreview, , "[ٍSuppliers]='" & Me.Combo1 & "'"

وإذا كنت تريد عرض التقرير بززززوم كبير شويه يمكنك عمل هذا باضافة هذا الكود

DoCmd.RunCommand acCmdZoom100

هناك طريقة جميلة جداً لعرض شريط تقدم قبل اظهار التقرير كما تري بالصورة ويمكنك عمل مثل هذا الشريط من خلال هـــــــــذا الــــــــــرابط

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

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

Private Sub Command2_Click()
If IsNull([Combo1]) Then
MsgBox "يجب عليك أولاً اختيار اسم المورد", vbCritical, "warning"

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

Private Sub Combo0_KeyDown(KeyCode As Integer, Shift As Integer)
KeyCode = 0
End Sub

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

والي لقاء آخر

مرفق البرنامج بعد إجراء آخر تعديل

Warehouses_System_up.rar

-1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

مجهود محترم للغاية ... اشكرك على حسن الأداء

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

السلام عليكم اخي محمد

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • -1

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

واطلب منك المساعدة ببرنامجك

1- فاتورة الشراء

اذا كان عندي موردين ولكل مورد نفس رقم الفاتورة مثلا" 1 فما يقبلها

2- وكذلك رقم السند

3- بالبحث وضعت سعر جدبد للمادة مثلا" اسمنت..... اللسعر الاول 10 السعر الثاني 5

فعند البحث يظهر السعر الاول فقط

ولك الشكر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .