24-05-18, 12:45 AM
(16-05-18, 03:43 AM)سعود كتب :بص ياجميلبسم الله الرحمن الرحيممنذ حذفي لمشاركتي الاولى وانا اجهد عقلي و احاول لكي اجد حل مناسب لطلب الاخ ....واول خيط عرفت من خلاله الحل وهي ضمن ردود الاخوة هنا بارك الله فيهم وهي عبارة group by فجربت كود استعلام بسيط وتم المطلوب.
قاعدة بياناتي باسم dbجدول1 باسم tb1جدول2 باسم tb2
محتوى الجدول الاول كما ترون بالصورة التالية:![]()
![]()
و الجدول الاخر:![]()
![]()
عمود n في جدول2 هو المطلوب مجموعه عبر sum بشرط تساوي عمود tb1 بجدول tb2 مع عمود tid بجدول tb1
المهم النتيجة هكذا![]()
والتالي اجراء زر الامرPHP كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Using con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=db.accdb")
' Using da As New OleDb.OleDbDataAdapter("select [tb1.tname],[tb2.n] from tb1,tb2 where [tb2.tb1]=[tb1.tid]", con)
Using da As New OleDb.OleDbDataAdapter("select tb1.tname, sum(tb2.n) from tb1,tb2 where tb2.tb1=tb1.tid group by tname", con)
Using dt As New DataTable
da.Fill(dt)
d.DataSource = dt
d.Columns(0).HeaderText = "الاسم"
d.Columns(1).HeaderText = "عدد الابناء"
End Using
End Using
End Using
End Sub
انا باعمل برنامخ مخزن عشان اضيف فيه الاصناف باستخدام اكسس
عملت جدول اسمه items
فيه الاعدمة التالية
code-date-itemsname-price-lowitems-quantity
العمود
lowitems
ببيخزن الكمية الللي مش ينفع يقل عنها المخزون من الصنف
يعني لو وصلت الكمية ليه يبقي يدي انظار او يعطي رسالة ادذار او يتم عرض العناصر اللي وصلت للحد الادني في داتا جريد فيو
يعني زي minimum
انا كنت باستعمل الجملة دي للاستعلام بشرط
select * from items where lowitems > 50
ودي مش هتنفع لان الشرط ده غلط
يعني في صنف الحد الادني ليه 50 قطعة وصنف 100 وصنف 200 وهكذا
يعني الشرط لازم يكون حسب كل صف
ارجو تكون وضحت شوية
