السلام عليكم احبتى فى الله
معى مشكلة اتمنى حلها سريعا لان واقف شغلى وتسليم البرنامج وبارك الله فيكم
لدى جدولين الاول عباره عن مجموعه من الصناف بكمياتها والثانى عباره عن اذن للتحويل اصناف اخرى للجدول رقم 1 ..اريد ان وجد كود الصنف يضيف عليه الكميه المحوله وان لم يجده يضيف صنف جديد الى الجدول الاول مع الكميه وبار كود ه الموجود فى الفورم الثانى وهكذا وهذا مثال فى المرفقات
ولكم منى جزيل الشكر
قاعدة البيانات لم تفتح انا افترضت ان العمود المسؤول عن كود الصنف اسمه colname وهو من نوع نصي موجود داخل الجدول CODE_22 في حال كان من نوع رقمي حول المتغير a الى النوع المناسب مثلا double او ما تراه مناسبا
لا داعي لاكتب كود الحفظ وكود التعديل لانهن موجودات من قبل في البرنامج
كود :
Dim da As New OleDbDataAdapter
Dim dt As New DataTable
dt.Clear()
Dim a As String = PRO_CODE.Text
da = New OleDbDataAdapter("select colname from CODE_22 where colname='" & a & "'", con4)
da.Fill(dt)
If dt.Rows.Count > 0 Then
'هنا نكتب كود التعديل على الصنف اذ انه موجود من قبل
Else
'هنا نكتب كود اضافة الصنف لانه غير موجود من قبل
End If
Dim query As String = "MERGE Table1 AS t
USING Table2 AS s
ON (t.ProductID = s.ProductID)
WHEN MATCHED THEN
UPDATE SET t.Quantity = t.Quantity + s.Quantity
WHEN NOT MATCHED THEN
INSERT (ProductID, Quantity)
VALUES (s.ProductID, s.Quantity);"
Dim cmd As New SqlCommand(query, connection)
cmd.ExecuteNonQuery()
في هذا المثال، يتم دمج Table1 و Table2 باستخدام العمود ProductID. إذا تم العثور على قيمة ProductID المطابقة في الجدول الأول Table1، يتم تحديث كمية المنتج بقيمة الكمية المضافة في الجدول الثاني Table2. وإذا لم يتم العثور على قيمة ProductID المطابقة، يتم إدخال السجل الجديد إلى جدول الأول Table1.
لاحظ أنه يجب تعيين قيمة الاتصال connection قبل تنفيذ الاستعلام. كما يجب تغيير اسماء الجداول والأعمدة لتناسب تركيبة البيانات الخاصة بك.