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

طرح قيمتين فى قاعدة البيانات

بدأه Ayman Soft في 28 أبريل 2013 · 3 رد · 620 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

 

انا اقوم بعمل برنامج مخازن 

 

وقمت بعمل قيمتين لكل صنف فى المخزن  قيمة فعليه وقيمة الحد الادنى 

واثناء عملية البيع اريد ان اقوم بعملية مقارنه الكميه الفعليه بالمخزن مع الحد الادنى 

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

 

رجاء المساعده ...

#2

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

#3

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

 

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

 

Items _balance.rar

أحمد خميس راشد

جمهورية مصر العربية

Bibo_spider@hotmail.com

#4

أولاً:- يجب ان نكون علي علم بمعادلة الحد الادني وهي كالتالي ،،،

 

رصيد الصنف = (اجمالي الكميات الوارده - اجمالي الكميات المنصرفة أو الصادرة) هذه المعادلة الخاصة برصيد الصنف ومن خلال هذه المعادلة يمكننا ان نقوم بتزويد معادلة الحد الادني عليها

هكذا

 

الحد الادني = (اجمالي الكميات الوارده - اجمالي الكميات المنصرفة أو الصادرة) - (الحد الادني)

 

فلو حاولنا تطبيق هذه المعادلة عملي علي الجدول فسنجد اننا سنحتاج في هذه المعادلة جدولين 

 

1- جدول الاصناف

2- جدول العمليات ( الذي يسجل بداخلة حركات الواردات و الصادرات )

3- في بعض البرامج يكون جدول الواردات منفصل وجدول للصادرات منفصل

 

نقوم الان بكتابة الاسكريبت الذي يحقق لنا المطلوب

 

SELECT     dbo.Items.ItemNumber, dbo.Items.ItemName, dbo.Items.Unit, ISNULL(dbo.Items.OpenBalance, 0) AS OB, SUM(ISNULL(dbo.Transactions.QtyIn, 0)) AS Qtyin, 
                      SUM(ISNULL(dbo.Transactions.Qtyout, 0)) AS Qtyout, ISNULL(dbo.Items.OpenBalance, 0) + SUM(ISNULL(dbo.Transactions.QtyIn, 0)) 
                      - SUM(ISNULL(dbo.Transactions.Qtyout, 0)) AS balance, dbo.Items.ItemLimit, (ISNULL(dbo.Items.OpenBalance, 0) + SUM(ISNULL(dbo.Transactions.QtyIn, 0)) 
                      - SUM(ISNULL(dbo.Transactions.Qtyout, 0)) - dbo.Items.ItemLimit) * 1 AS ItemRequest
FROM         dbo.Items LEFT OUTER JOIN
                      dbo.Transactions ON dbo.Items.ItemNumber = dbo.Transactions.ItemNumber AND dbo.Items.ItemGroup = dbo.Transactions.ItemGroup AND 
                      dbo.Items.StoreName = dbo.Transactions.StoreName
GROUP BY dbo.Items.ItemNumber, ISNULL(dbo.Items.OpenBalance, 0), dbo.Items.ItemName, dbo.Items.ItemNumber, dbo.Items.Unit, dbo.Items.ItemLimit, 
                      dbo.Transactions.ItemNumber

 

طبعا بعد ما النتيجة تظهر لنا صحيحة يمكننا ان نستخدمها مثلا في استعلام يظهر للمستخدم علي شكل شاشة Popup تظهر له في كل مرة يفتح فيها البرنامج

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

للعميل

 

post-46243-0-19709300-1367235393_thumb.j

certifiedj.jpg

 

 

Image Hosted by ImageShack.us

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