المشاركات : 232
المواضيع 31
الإنتساب : Feb 2014
السمعة :
1
الشكر: 84
تم شكره 39 مرات في 34 مشاركات
السلام عليكم ورحمة الله وبركاتة
كل عام وحضراتكم بخير وتقبل الله منا ومنكم الصيام والقيام وصالح الاعمال
كنت عاوز اعرف طريقة حساب رصيد صنف معين بعد اضافة كمية الية عن طريق المشتريات وطرح رصيد منة عن طريق المبيعات ليظهر كمية الصنف الموجودة الفعلية متطابقة بعد الاضافة والخصم منة
المشاركات : 813
المواضيع 24
الإنتساب : Oct 2012
السمعة :
228
الشكر: 1145
تم شكره 2171 مرات في 815 مشاركات
21-05-18, 08:16 PM
(آخر تعديل لهذه المشاركة : 21-05-18, 08:18 PM {2} بواسطة عبدالله الدوسري.)
وعليكم السلام ورحمة الله وبركاتة
وانت بخير وصحة وسلامة
تقبل الله منا ومنكم صالح الأعمال
الفكرة كالتالي :
عند إضافة أصناف في عمليات الشراء , طبعاً الأصناف لها سجلات ثابتة في جدول الأصناف ( رقم الصنف , الاسم , وأي معلومات تخص الصنف )
جدول الأصناف لا يتم تخزين الكميات فية أبداً .......
عند عمليات الشراء تقوم بإضافة سجلات جديدة في جدول يخص المشتريات وسجل المشتريات أكيد فيها رقم للصنف المشترى
تقوم بحساب كل عمليات الشراء لهذا الصنف من جدول المشتريات : بواسطة رقم الصنف
وليكن الناتج : 500 قطعة من هذا الصنف تم شرائها
الآن لديك جدول يخص المبيعات : وفي كل عملية بيع تقوم بإضافة الصنف لعملية البيع وأكيد في سجل المبيعات هناك رقم للصنف
تقوم بحساب كل عمليات البيع لهذا الصنف من جدول المبيعات : بواسطة رقم الصنف
وليكن الناتج : 370 قطعة من هذا الصنف تم بيعها
أصبحت العملية سهلة الآن :
مجموع كمية الصنف من جدول المشتريات - مجموع كمية الصنف من جدول المبيعات = الرصيد المتوفر حالياً
500 - 370 = 130
دع العملية تصبح ديناميكية بهذة الطريقة , لو قمت بحذف عملية بيع تمت , بواسطة هذة الطريقة ستحصل على الناتج الصحيح
إستعلام مجموع الأصناف من المشتريات : SELECT SUM(Quantity) FROM Purchases WHERE ItemNo = 1
إستعلام مجموع الأصناف من المبيعات : SELECT SUM(Quantity) FROM Sales WHERE ItemNo = 1
1 هو رقم الصنف مثلاً
ناتج الإستعلام الأول - ناتج الإستعلام الثاني = الرصيد المتبقي .
أو يكون في إستعلام واحد يقوم بإرجاع النتيجة :
SELECT (SELECT SUM(Quantity) FROM Purchases WHERE ItemNo = 1) - (SELECT SUM(Quantity) FROM Sales WHERE ItemNo = 1) AS RemainingBalance
ستحصل على (سجل واحد يحتوي على عامود واحد) من جملة الإستعلام بإسم : RemainingBalance يحتوي على قيمة الرصيد المتبقي
طبعاً هذة فكرة عامة والإستعلامات يجب أن تكون بطريقة مختلفة قليلاً بسبب أحتمالات عدم وجود سجلات أصلاً , ولكن هذة الفكرة المبدئية