تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] تعديل البيانات بعد استخدام جملة UNION
#1
السلام عليكم

اريد كود التعديل علي الصفوف بعد استخدام جملة UNION لضم اعمدة ثلاث جداول

ساعدني احد الاخوة بالموقع باستعلام لضم الاعمدة من ثلاث جداول باستخدام جملة UNION

الجملة خاصة بوضع اعمدة الثلاث جداول اسفل من بعض بمعني

الجدول الاول TB1   الجدول الثاني TB2   الجدول الثالث TB3

الحقول بالجدول الاول ID_TB1,TYPE_TB1 ,COUN_TB1

حقول بالجدول الثاني ID_TB2,TYPE_TB2 ,COUN_TB2
 
حقول بالجدول الثالث ID_TB3,TYPE_TB3 ,COUN_TB3   

كود الاتصال بجملة     UNION   

كود :
Dim cmd As OleDbCommand = New OleDbCommand("SELECT ID_TB1,TYPE_TB1 ,COUN_TB1 FROM tb1 UNION SELECT ID_TB2,TYPE_TB2 ,COUN_TB2 FROM tb2 UNION SELECT ID_TB3,TYPE_TB3 ,COUN_TB3 FROM tb3", con)
       con.Open()
       DataAdapter1 = New OleDbDataAdapter(cmd)
       Dim builder As OleDbCommandBuilder = New OleDbCommandBuilder(DataAdapter1)
       DataSet1 = New DataSet()
       DataAdapter1.Fill(DataSet1, "tb1,tb2,tb3")
       DataGridView1.DataSource = DataSet1
       DataGridView1.DataMember = "tb1,tb2,tb3"
 

كل شيء تمام في اظهار البياانات ولكن لااعرف كيف يكون كود التعديل علي احد الصفوف بعد اختيارة
الرد
تم الشكر بواسطة:
#2
اتعامل مع datagridview عادي
صلى الله على نبينا محمد
اخيكم / محمود صالح
  قال الزهري رحمه الله  
 مــا عُـــبـِد الله بشئ أفضل من العلم 
الرد
تم الشكر بواسطة:
#3
الف شكر علي ردك ومتابعتك معي

اولا انا هعمل ابديت لاي جدول انا مش عارف الصف الي هختارة خاص باي جدول لان الصفوف تجميعة ثلاث جداول

جملة الابديت لابد من وجود اسم الجدول بها 

انا هستخدم 3 تيكست بوكس مثلا للثلاثة خلايا بالصف الواحد

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

كود :
 On Error Resume Next
       con.Open()
       Dim Sav As New OleDb.OleDbCommand
       Sav.Connection = con
       Sav.CommandType = CommandType.Text
       Sav.CommandText = "UPDATE TB1 SET  TYPE_TB1 = '" & _
        product1_add.TextBox1.Text & "' ,COUN_TB1 = '" & _
      product1_add.TextBox2.Text &   "' where ID_TB1 LIKE '" & _
      product1_add.Label8.Text & "'"

       Sav.ExecuteNonQuery()
       DataSet1.Clear()
       DataAdapter1.Fill(DataSet1, "TB1")
       DataGridView1.Refresh()
       conn()
       count()
       If con.State = ConnectionState.Open Then
           con.Close()
       End If
       MsgBox("تم التعديل والحفظ بنجاح")
الرد
تم الشكر بواسطة:
#4
السلام عليكم ورحمة الله وبركاته



التحديث أو الإضافة تتم على جدول واحد لكل عملية مع قاعدة البيانات.

لاحظت أن الجداول الثلاث متشابهه وهذه الطريقة غير صحيحة،
والصحيح أن يتم عمل جدول واحد مع اضافة عمود تخصيص إذا كان لكل جدول غرض مختلف عن الآخر.

الملاحظة الأخرى تسمية الجدول باسم TB أو البعض يسميه Table1 وهذه الطريقة غير صحيحة،
والأمر ينطبق على اسماء الأعمدة وأدوات الفورم والمتغيرات.



بارك الله فيكم



السلام عليكم ورحمة الله وبركاته
الرد
تم الشكر بواسطة:
#5
(02-02-18, 03:28 PM)خالد كتب : السلام عليكم ورحمة الله وبركاته



التحديث أو الإضافة تتم على جدول واحد لكل عملية مع قاعدة البيانات.

لاحظت أن الجداول الثلاث متشابهه وهذه الطريقة غير صحيحة،
والصحيح أن يتم عمل جدول واحد مع اضافة عمود تخصيص إذا كان لكل جدول غرض مختلف عن الآخر.

الملاحظة الأخرى تسمية الجدول باسم TB أو البعض يسميه Table1 وهذه الطريقة غير صحيحة،
والأمر ينطبق على اسماء الأعمدة وأدوات الفورم والمتغيرات.



بارك الله فيكم



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

بارك الله فيك اخي خالد اعزك الله

1- هذا ليس مثال وهذة ليست طريقتي المتبعة في ترتيب الجداول او اسماء الاعمدة ولكنة شيء من قبيل الايضاح لا اكثر
وانا اراعي ماقلت ولكنة ليس مثال الي انة مجرد طريقة لتوضيح طلبي

2- الاعمدة والجداول ليست متشابة وهناك منتجات متعلقة بالاوزان واخري بالاعداد ببرنامجي الحقيقي واقسام مختلفة لمشروعي وهكذا وليست من نفس النوع والا كنت وضعتها معا مادامت نفس الهيكل المحاسبي

وكما قلت في البداية مجرد صورة لما اريد للايضاح فقط وليست مثال

اشكرك علي ردك ومتابعتك لموضوعي

انا حاولت بالطريقة دية لتغا ضي عن اسماء الجداول ولكن لاشيء

كود :
con.Open()
       Dim DataAdapter As New OleDbDataAdapter("SELECT ID_TB1,TYPE_TB1 ,COUN_TB1,LOSS_TB1,RETURN_TB1 FROM tb1 UNION SELECT ID_TB2,TYPE_TB2 ,COUN_TB2,LOSS_TB2,RETURN_TB2 FROM tb2 UNION SELECT ID_TB3,TYPE_TB3 ,COUN_TB3,LOSS_TB3,RETURN_TB3 FROM tb3", con)
       DataSet1.Clear()
             DataAdapter.Fill(DataSet1, "TB1,TB2,TB3")
       DataGridView1.Refresh()
       conn()
       count()
       If con.State = ConnectionState.Open Then
           con.Close()
       End If
       MsgBox("تم التعديل والحفظ بنجاح")
الرد
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم