منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] ضم اعمدة للداتا جريد فيو - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] ضم اعمدة للداتا جريد فيو (/showthread.php?tid=23458)

الصفحات: 1 2


ضم اعمدة للداتا جريد فيو - محمد اسماعيل - 21-01-18

السلام عليكم

عندي اكتر من جدول اريد ضم اعمدة معينة مع بعض في عمود واحد

يعني الجدول tb1   ,tb2  ,tb3

حقول الجدول الاول     tb1_id,tb1_type,tb1_mount,tb1_price

حقول الجدول الثاني     tb2_id,tb2_type,tb2_weight,tb2_price

حقول الجدول  الثالث    tb3_id,tb3_type,tb3_count,tb3_price

اريد وضع اعمدة بحيث تصبح عامود واحد بداتا جريد جديد فما هو الاستعلام

 اريد وضع عمود 1  tb1_type   اضع تجتة tb2_type   وتحتة   tb3_type

 اريد وضع عمود 2 tb1_price   اضع تجتة tb2_price   وتحتة tb3_price


RE: ضم اعمدة للداتا جريد فيو - محمد اسماعيل - 21-01-18

انشاء اللّة

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


RE: ضم اعمدة للداتا جريد فيو - محمد اسماعيل - 21-01-18

المثال جاهز انشاء اللّة  بس استعجلت في كتابتة هو الاصناف غير كدة بس دة حاجة بسرعة


RE: ضم اعمدة للداتا جريد فيو - محمد اسماعيل - 21-01-18

هرفقها كل اما اضغط المثال تختفي مع الضغط مش عارف في اية


RE: ضم اعمدة للداتا جريد فيو - محمود صالح - 21-01-18

اتفضل اخي 
جعل الاسماء او غير ذلك تحت بعض من جداول مختلفة

PHP كود :
SELECT TB1_TYPE FROM TB1 UNION SELECT TB2_TYPE FROM TB2 UNION SELECT TB3_TYPE FROM TB3 



RE: ضم اعمدة للداتا جريد فيو - عبدالله الدوسري - 21-01-18

SELECT tb1_id, tb1_type, tb1_mount, tb1_price
FROM tb1
UNION ALL
SELECT tb2_id, tb2_type, tb2_weight, tb2_price
FROM tb2
UNION ALL
SELECT tb3_id, tb3_type, tb3_count, tb3_price
FROM tb3


RE: ضم اعمدة للداتا جريد فيو - محمد اسماعيل - 21-01-18

(21-01-18, 03:31 PM)محمود صالح كتب : اتفضل اخي 
جعل الاسماء او غير ذلك تحت بعض من جداول مختلفة

PHP كود :
SELECT TB1_TYPE FROM TB1 UNION SELECT TB2_TYPE FROM TB2 UNION SELECT TB3_TYPE FROM TB3 

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


كود :
Dim cmd As OleDbCommand = New OleDbCommand("SELECT tb1_type FROM tb1 UNION SELECT tb2_type FROM tb2 UNION SELECT tb3_name 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"
       con.Close()

(21-01-18, 03:41 PM)عبدالله الدوسري كتب : SELECT tb1_id, tb1_type, tb1_mount, tb1_price
FROM tb1
UNION ALL
SELECT tb2_id, tb2_type, tb2_weight, tb2_price
FROM tb2
UNION ALL
SELECT tb3_id, tb3_type, tb3_count, tb3_price
FROM tb3

جزاك اللّة خيرا

الحمد للّةتم الوصول للمطلوب بالكود التالي

الكود كامل لعل احد غيري يستفيد منة


كود :
Dim cmd As OleDbCommand = New OleDbCommand("SELECT tb1_type ,tb1_price FROM tb1 UNION SELECT tb2_type,tb2_price FROM tb2 UNION SELECT tb3_name,tb3_price 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"
       con.Close()



RE: ضم اعمدة للداتا جريد فيو - محمود صالح - 21-01-18

جواب عليك اخي [b]عبدالله الدوسري [/b]
في الاعلى


RE: ضم اعمدة للداتا جريد فيو - محمد اسماعيل - 21-01-18

وفقكم اللّة جميعا لكل خير وزادكم من علمة وفضلة

ممكن كود البحث والفلترة داخل الجدول الجديد

انا حاولت بالطريقة دية ولكن لاشيء


كود :
 On Error Resume Next
       If IsNumeric(TextBox1.Text) = False Then

           Dim DataAdapter As New OleDbDataAdapter("SELECT tb1_type ,tb1_price FROM tb1 UNION SELECT tb2_type,tb2_price FROM tb2 UNION SELECT tb3_name,tb3_price FROM tb3 WHERE tb1_type  LIKE '%" & Trim$(TextBox1.Text) & "%' or tb2_type like '%" & Trim$(TextBox1.Text) & "%'", con)
           con.Open()

           DataSet1.Clear()

           DataAdapter.Fill(DataSet1, "tb1,tb2,tb3")

           If Me.BindingContext(DataSet1, "tb1,tb2,tb3").Count = 0 Then
               DataSet1.Clear()
               DataAdapter1.Fill(DataSet1, "tb1,tb2,tb3")
               con.Close()
               count()

               MsgBox("لم يتم العثور على شيء", 48 + MsgBoxStyle.MsgBoxRight, "البحث") : Exit Sub
           Else
               DataSet1.Clear()
               DataAdapter.Fill(DataSet1, "tb1,tb2,tb3")
               con.Close()
               count()

               Exit Sub

           End If
       End If



RE: ضم اعمدة للداتا جريد فيو - محمود صالح - 21-01-18

اتفضل اخي ضع كل شرط امام جداوله

PHP كود :
       Dim DataAdapter As New OleDbDataAdapter("SELECT tb1_type ,tb1_price FROM tb1 WHERE tb1_type  LIKE '%" Trim$(TextBox1.Text) & "%' UNION SELECT tb2_type,tb2_price FROM tb2 WHERE tb2_type like '%" Trim$(TextBox1.Text) & "%' UNION SELECT tb3_name,tb3_price FROM tb3"con
كود كامل بعد التعديل
PHP كود :
On Error Resume Next
       
If IsNumeric(TextBox1.Text) = False Then

        Dim DataAdapter 
As New OleDbDataAdapter("SELECT tb1_type ,tb1_price FROM tb1 WHERE tb1_type  LIKE '%" Trim$(TextBox1.Text) & "%' UNION SELECT tb2_type,tb2_price FROM tb2 WHERE tb2_type like '%" Trim$(TextBox1.Text) & "%' UNION SELECT tb3_name,tb3_price FROM tb3"con)
 
          con.Open()

 
          DataSet1.Clear()

 
          DataAdapter.Fill(DataSet1"tb1,tb2,tb3")

 
          If Me.BindingContext(DataSet1"tb1,tb2,tb3").Count 0 Then
               DataSet1
.Clear()
 
              DataAdapter1.Fill(DataSet1"tb1,tb2,tb3")
 
              con.Close()
 
              count()

 
              MsgBox("لم يتم العثور على شيء"48 MsgBoxStyle.MsgBoxRight"البحث") : Exit Sub
           
Else
 
              DataSet1.Clear()
 
              DataAdapter.Fill(DataSet1"tb1,tb2,tb3")
 
              con.Close()
 
              count()

 
              Exit Sub

           End 
If
 
      End If