29-05-18, 04:08 PM
(29-05-18, 02:27 PM)atefkhalf2004 كتب : شكرا لك علي الفكرة الجيدة
وهي
اغمل حلقة تكرارية احصل فيها غلي الرصيد عقب كل ادخال او اخراج ويوضع ذلك في جدول ويعتبر هذا هو كارت الصنف
وهذه العملية سو ف تتأخذ وقت طويل جدا
ولكن شفت مرة استعلام واحد يحضر الرصيد عقب كل عملية ويكون الناتج كما وضعته في المشاركة الاولي
ان شاء الله سوف تصل اليه
ان شاء الله سوف نصل معا
الشكر لله
بالعكس انا قمت بشرحها
فى ثانياً / ثالثاً
تعال نطبق عملى بالكود على الملف المرفق لك مسبقاً
كود الاضافة الافتراضي
كود :
INSERT INTO adraseed (itcod, invsun, invqu, purqu, it_balance, invprc, invdate, purprc, makas) VALUES ('1302','شاحن اصلي 3','0','10',((SELECT LAST(it_balance) FROM adraseed WHERE itcod = 1302)+10-0),'60','29/05/2018','35','ش ص 3')مع اخد بالاعتبار الجزء التالى فى كود الاضافة
كود :
((SELECT LAST(it_balance) FROM adraseed WHERE itcod = 1302)+10-0)وهو كود الاستعلام الذى يتم عمله قبل كود الاضافة بالبرمجة
يارب الجزء ده يكون مبسط وواضح
طيب الطريقة دى قمت بإنشاء 2 كود مرة للاستعلام والاخر للاضافة
كيف اعمل كود واحد يكون هو ملخط كل ده
فى الوقت ده هيكون قاعدة البيانات مختلفة
ويجب ان يكون فى عدد 2 جدول
الاول خاص بالمنتجات ( جميع المنتجات بالمخازن بدون تكرار برقم كود غير مكرر )
الثاني وهو نفس الجدول الذى تتعامل معه بدون اى اختلاف من ثم تطبق الكود التالى
كود :
INSERT INTO adraseed (itcod, invsun, invqu, purqu, it_balance, invprc, invdate, purprc, makas) SELECT itcod, invsun, (0) as invqu, (10) as purqu, (it_balance + 10 - 0) as it_balance, (60) as invprc, ('29/05/2018') as invdate, (35) as purprc, ('ش ص 3') as makas FROM NameTable WHERE itcod = 1302فكرة الكود ده التالى
انه بيعمل اضافة بناءاً على رقم كود المنتج المدخل فى Form
مع البيانات التالية وهى (كمية الشراء - كمية البيع - سعر الشراء - سعر البيع - تاريخ الفاتورة)
بحيث ان ما تم ذكر اسمائهم من الطبيعي غير موجدين فى جدول المنتجات لكن فقط فى جدول حركة المحزن
طيب نوضح اكتر كل جزء بالكود ليعم الفائدة على الجميع
الجزء الاول من الكود:
كود :
INSERT INTO adraseed (itcod, invsun, invqu, purqu, it_balance, invprc, invdate, purprc, makas)هنا عبارة عن كود الاضافة عادى لكن بدون
كود :
VALUES ('قيم الاضافة')وتم استبداله بهذا الجزء من الكود وهو
الجزء الثانى من الكود:
كود :
SELECT itcod, invsun, (0) as invqu, (10) as purqu, (it_balance + 10 - 0) as it_balance, (60) as invprc, ('29/05/2018') as invdate, (35) as purprc, ('ش ص 3') as makas FROM NameTable WHERE itcod = 1302وهنا هو عملية استعلام لجلب بيانات المنتج من جدول المنتجات بنائاً على رقم المنتج المدخل فى Form
مع التوضيح التالى
كود :
SELECT itcod, invsun,اول جزء الاستعلام هو جلب نتائج المنتج افتراضياً مع اخز بالاعتبار الترتيب لكود الاضافة وتشابه الاسماء
ومن حيث كلاً من ما يشابه التالى
كود :
(0) as invqu, (10) as purquوهو عملية ادراج اعمدة غير موجودة فى جدول المنتج
مثل كمية الشراء - كمية البيع - تاريخ الفاتورة - .... الخ
عند التعديل على الجزء ده هيكون مكان كل من رقم 0 و 10 والتاريخ
هو textbox لكل جزء فى الفورم
وبخصوص هذا الجزء
كود :
(it_balance + 10 - 0) as it_balanceهو قيمة الرصيد وهو موجود فى جدول المنتجات كما هو موجود فى جدول حركة المخازن
لكن بسبب التلاعب فيه فتم تعريفه على انه عمود غير موجود ى جدول المنتجات
حيث ان انا قمت بجلب يمة الرصيد من جدول المنتج من ثم قمت بعملية الجمع والطرح لعملية البيع والشراء
ليخرج صافي رصيد المخزن ليتم اضافته فى رصيد حركة المخازن
اتمنى حتى الان ان يكون الشرح مبسط وتفصيلى ودقيق بدون اى متاهة
الجزء الخاص بـ
كود :
FROM NameTableوهنا مكان NameTable هو اسم جدول المنتجات
ويبقي فى النهاية
الخزء الخاص بـ
كود :
WHERE itcod = 1302وهنا هو فلتر لرقم المنتج المدرج بنائاً على Form لاضافة حركة مخازن
الشروحات التى تمت كلها فى هذا الموضوع
اخز مجهود وتركيز كبير حتى لا اخطاء فى جزء وكى اتمكن من تسيط الامور ى الشرح
واسف اذا كان فى اخطاء فى الكتابة او نواثص احرف بسبب لوحة المفاتيح لدى
تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]
ساهم دائماً فى
لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله
▼ شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]
ساهم دائماً فى
لكل من يقوم بالمساهمةفى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله
▼ شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية

