منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[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=26647)



عمل سيلكت بين جدول - larbihamri - 25-09-18

السلام عليكم 
كيف حال الجميع ؟؟
عندي 3 جداول في الداتا بيز (tblA , tblB , tblC) و تكست بوكس و داتا قريد 
التكست بكوس يتم ملأها من جدولين مختلفين tblB و tblC من اجل الاكمال التلقائي (لقد استطعت ان املأه من جدول واحد لكن لم اعرف الطريقة من جدولين )
و الداتا قريد يتم ملأها من tblA
عند  اختيار المطلوب من التكست بوكس تتم عملية البحث و يتم اظهار النتيجة في الداتا قريد


RE: عمل سيلكت بين جدول - elgokr - 25-09-18

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

عفواً اخى larbihamri

انا واعوذ بالله من كلمة انا لم افهم شئ
من قاعدة البيانات المرفقة تماماً

اتمنى التوضيح اكثر لما تريده

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

اولاً فى الـ Sub الخاص بـ filltext
استبدل كود الاستعلام بالكود التالى
كود :
"SELECT T2.prenom, T1.nom FROM tblB as T1 INNER JOIN tblC as T2 ON T1.[المعرف] = T2.[المعرف]"
الان فى نفس الـ Sub استبدل السطر التالى
كود :
datasource.Add(dt.Rows(i).Item(1).ToString)
بالاسطر التالي
كود :
           datasource.Add(dt.Rows(i).Item(0).ToString)
           datasource.Add(dt.Rows(i).Item(1).ToString)
حتى تري الشكل الاختبار عن التجربة
اولاً تعال على جدول tblC تعال فى عمود prenom اجعل بدلاً من القيم 1 و 2 و 3
اجعلهم 11 و 22 و 33 مثلاً

الان اغلق قاعدة البيانات واذهب الى اختبار البرنامج
اذا كتبت فى الـ TextBox 
حرف a سيعرض لك كلمة aaa واذا كتبت رقم 1 سيعرض لك قيمة 11

تحياتى لك
وتمنياتى لك التوفيق



RE: عمل سيلكت بين جدول - larbihamri - 25-09-18

اخي elgokr
بارك الله فيك  ....
لنفترض انه  ليس بالضرورة تكون السجلات متساوية في الداتا بيز يعني لهم نفس المعرف وليس هناك اي علاقة بين الجدولين


RE: عمل سيلكت بين جدول - elgokr - 26-09-18

فى هذه الحالة ستحتاج الى استخدام كود الاستعلام بهذا الشكل

كود :
SELECT prenom FROM tblC UNION SELECT nom FROM tblB

وستجعل كود التالى 
كود :
          datasource.Add(dt.Rows(i).Item(0).ToString)
          datasource.Add(dt.Rows(i).Item(1).ToString)


كما كان مسبقاً لديك وهو 
كود :
datasource.Add(dt.Rows(i).Item(1).ToString)

لكن فى هذه المرة ستقوم تقوم بتغيير رقم 1 الى 0 ليصبح
كود :
datasource.Add(dt.Rows(i).Item(0).ToString)

وبكده يكون الاستعلام كاملاً جميع النتائج فى عمود واحد
مهما اختلف العدد والبيانات لكل جدول

تحياتى لك
وتمنياتى لك التوفيق



RE: عمل سيلكت بين جدول - mero5000 - 26-09-18

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


RE: عمل سيلكت بين جدول - larbihamri - 26-09-18

اساتذتنا ...بارك الله فيكم 
جعله الله في ميزان الحسنات


RE: عمل سيلكت بين جدول - elgokr - 26-09-18

اللهم امين لى ولك وللجميع يارب
تقبل الله منك الدعاء لصالح الجميع

تحياتى لك
وتمنياتى لك التوفيق



RE: عمل سيلكت بين جدول - larbihamri - 27-09-18

اخي elgokr
انت و جميع الساهرين على هذا المنتدى و بدون ان انسى اساتذتي في قسم فجوال بيسيك 6 (امير الزبيدي و السيد الغالي و احمد المنصور و السندباد)
نعمة من عند الله لي و لكل العرب و المسلمين و من رزق نعمة وجب شكر و حمد الله عليها...فالحمد  و الشكر لله


RE: عمل سيلكت بين جدول - elgokr - 27-09-18

الشكر لله والحمد لله
والحمد لله على كل حال

تحياتى لك
وتمنياتى لك التوفيق