منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : تم الحل : استعلام من 3 جداول
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم.
اخواني بقاعدة البيانات أكسس لدي 3 جداول
الجدول Table1 و به حقل رقمي Id1 و 2 حقلين نصوص Firstname1 و Lastname1
الجدول Table2 و به حقل رقمي Id2 و 2 حقلين نصوص Firstname2 و Lastname2
الجدول Table3 و به حقل رقمي Id3 و 2 حقلين نصوص Firstname3 و Lastname3
كيف سيتم الاستعلام بحيث أظهر الأسماء من الجداول الثلاثة على الداتاجريد بالفورم 1
بارك الله فيكم
كود :
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       conn.open()
       cmd = New OleDbCommand("Select * from Table", conn)
       Da = New OleDbDataAdapter()
       Da.SelectCommand = cmd
       dt = New DataTable()
       Da.Fill(dt)
       DataGridView1.DataSource = dt
   End Sub
وعليكم السلام ورحمة الله وبركاته

هل يوجد عامل مشترك بينهم
واذا لا فعل عدد البيانات بكل جدول متساوى

وهذا اذا كنت تريد عرض البيانات بهذا الشكل بالداتا جريد كاعمدة
كود :
Id1 Firstname1 Lastname1 Id2 Firstname2 Lastname2 Id3 Firstname3 Lastname3

واذا كان المطلوب هو فقط عمل الاعمدة بهذا الشكل
كود :
Id Firstname Lastname

وتكون جميع النتائج اسفل هذه الاعمدة
فكل ما عليك عمل 3 استعلام وترحل كل استعلام الى DT1 و DT2 و DT3
ومن خلال For تقوم بعمل ادراج للبانات لكل DT للداتا جريد وليس تعبئتها من خلال داتا سورس

بنائاً لما ستقوم بتحديده
لما تريده تماماً ساضع لك الكود

تحياتى لك
وتمنياتى لك التوفيق
الله يجازيك خير و ينعم عليك . أخي
لا توجد أي علاقة بين الجداول الثلاثة و جميع الجداول متساوية في حقول البيانات
البيانات افضل ان تكون هكذا لو سمحت

كود :
Id Firstname Lastname
بخصوص هذا الامر فاجعل الاستعلام بهذا الشكل
كود :
SELECT * FROM Table1 UNION ALL SELECT * FROM  Table2 UNION ALL SELECT * FROM  Table3

ولحل مشكلة الترقيم فى عمود ID
بنهاية كود بعد كود تعبئة الداتا جريد قم باستخدام هذا الكود
كود :
       For ii As Integer = 0 To DataGridView1.RowCount - 1
           ii += 1
           DataGridView1.Rows(ii).Cells(0).Value = ii
       Next

وبكده يكون الاستعلام عبارة عن 3 اعمدة
والترقيم تسلسلى من 1 وما اعلى

تحياتى لك
وتمنياتى لك التوفيق
الف شكر اخي elgokr ربنا يبارك فيك و يزيدك من فضله يا رب .الاستعلام يشتغل زي الفل و يجلب كل البيانات على الداتاكريد .فقط اخي elgokr هو صحيح الجداول الثلاثة فيها نفس عدد الحقول بالضبط الجدول 1 فيه 10 حقول و الجدول2 فيه 10 حقول و الجدول3 فيه 10 حقول و انا اريد ان يظهر على الداتاجريد فقط زي ما ذكرت Firstname و Lastname لا اريد اظهار كافة الحقول ال 10 بارك الله فيك وارجو المعذرة اخي
الشكر لله والحمد لله
والحمد لله على كل حال

بخصوص عدد القيم داخل الجدول متسواي
لا يهم هنا بما انك تقوم بادراج البيانات فى نفس العمود

لكن متى يتم الاستفادة اذا كان القيم متساوية
فقط اذا كنت تريد جعل الداتا جريد تحتوى على 9 اعمدة بدلاً من 3
اى ان يكون البيانات بجانب بعضها البعض

بخصوص الجزء الاخير لطلبك
لم افهم بعد اتمنى التوضيح اكثر لما تريده
حتى افيدك بالمطلوب

تحياتى لك
وتمنياتى لك التوفيق
بارك الله فيك. بمعنى اخي لو الجدول 1 فيه id  و Firstname  و Lastname و الهاتف و العنوان واسم الأب واسم الام و الجنسية
و الجدول2 فيه Id  و Firstname  و Lastname و الهاتف و العنوان واسم الاب و اسم الام و الجنسية
و الجدول 3  فيه Id و Firstname  و Lastname و الهاتف و العنوان واسم الاب و اسم الام و الجنسية
اريد ان يظهر على الداتاجريد فقط Id  و Firstname  و Lastname من الجداول الثلاثة
بارك الله فيك
اجعل كود الاستعلام بهذ الشكل
كود :
SELECT id1 AS `My ID`,Firstname1 AS `First Name`, Lastname1 AS `Last Name` FROM Table1 UNION ALL SELECT id2, Firstname2, Lastname2 FROM  Table2 UNION ALL SELECT id3, Firstname3, Lastname3 FROM  Table3
وبكده سيتم عرض الـ 3 اعمدة فقط وهم
My ID والمقصود بها ID
First Name والمقصود بها Firstname
Last Name والمقصود بها Lastname
فقط عدل المسميات مثل Lastname1 و Lastname2 و Lastname3
حسب المسميات لديك بكل جدول
تحياتى لك
وتمنياتى لك التوفيق
الله يبارك فيك يا طيب .فعلا شغل بمستوى عالي جزاك الله كل الخير و اعطاك ما تتمنى اخي elgokr هذا ما طلبته بعد اذنك 10/10