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

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

يعني الجدول 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
الرد
تم الشكر بواسطة:
#2
انشاء اللّة

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


الملفات المرفقة
.rar   ضم اعمدة الداتا جريد.rar (الحجم : 228.09 ك ب / التحميلات : 25)
الرد
تم الشكر بواسطة:
#4
هرفقها كل اما اضغط المثال تختفي مع الضغط مش عارف في اية


الملفات المرفقة
.rar   ضبط نظام البيع.rar (الحجم : 833.89 ك ب / التحميلات : 26)
الرد
تم الشكر بواسطة:
#5
اتفضل اخي 
جعل الاسماء او غير ذلك تحت بعض من جداول مختلفة

PHP كود :
SELECT TB1_TYPE FROM TB1 UNION SELECT TB2_TYPE FROM TB2 UNION SELECT TB3_TYPE FROM TB3 
صلى الله على نبينا محمد
اخيكم / محمود صالح
  قال الزهري رحمه الله  
 مــا عُـــبـِد الله بشئ أفضل من العلم 
الرد
تم الشكر بواسطة:
#6
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
الرد
تم الشكر بواسطة:
#7
(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()
الرد
تم الشكر بواسطة:
#8
جواب عليك اخي [b]عبدالله الدوسري [/b]
في الاعلى
صلى الله على نبينا محمد
اخيكم / محمود صالح
  قال الزهري رحمه الله  
 مــا عُـــبـِد الله بشئ أفضل من العلم 
الرد
تم الشكر بواسطة: محمد اسماعيل
#9
وفقكم اللّة جميعا لكل خير وزادكم من علمة وفضلة

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

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


كود :
 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
الرد
تم الشكر بواسطة:
#10
اتفضل اخي ضع كل شرط امام جداوله

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 
صلى الله على نبينا محمد
اخيكم / محمود صالح
  قال الزهري رحمه الله  
 مــا عُـــبـِد الله بشئ أفضل من العلم 
الرد
تم الشكر بواسطة: khodor1985 , محمد اسماعيل



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


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