تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيف يتم البحث في جدولين في DataBase؟
#1
مساء الخير أخواني الكرام ..

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

هذا الكود

(

If TextBox1.Text = "" Then
MsgBox("Please input the ID")
Else
con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\RIT\Desktop\jam3\jam3ya.accdb"
con.Open()
ds.Tables.Add(dt)
ds.Tables.Clear()
da = New OleDbDataAdapter("select * from member Where memberID=" & TextBox1.Text & "", con)
da = New OleDbDataAdapter("select * from gamya Where memberID=" & TextBox1.Text & "", con)
da.Fill(dt)
If dt.Rows.Count > 0 Then
TextBox2.Text = dt.Rows(0).Item("Name")
TextBox3.Text = dt.Rows(0).Item("place")
TextBox4.Text = dt.Rows(0).Item("phone")
TextBox5.Text = dt.Rows(0).Item("work")
ChicqCheckBox.Text = dt.Rows(0).Item("chicq")
TextBox6.Text = dt.Rows(0).Item("sahm_value")
TextBox7.Text = dt.Rows(0).Item("years")
TextBox8.Text = dt.Rows(0).Item("month")
TextBox9.Text = dt.Rows(0).Item("niesba1")
TextBox10.Text = dt.Rows(0).Item("niesba2")
TextBox11.Text = dt.Rows(0).Item("dooor_Order")
TextBox12.Text = dt.Rows(0).Item("date_register")
Else
MsgBox("ID not Found")
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
ChicqCheckBox.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
TextBox11.Text = ""
TextBox12.Text = ""



End If
End If

con.Close()

)

السؤال الثاني:
كيف يمكن اظهر فقط في داتا جرايد فقط للشخص الذي عملت له بحث برقمه الايدي..
يوجد بالصور للتوضيح اكثر..


الملفات المرفقة صورة/صور
       
الرد }}}
تم الشكر بواسطة:
#2
أرفقت البرنامج مفتوح بكامله ارجو مساعدتي بتعديله مع تعليمي بالتعديل والاسباب وأكون شاكرا لكم..


الملفات المرفقة
.rar   jam3.rar (الحجم : 726.3 ك ب / التحميلات : 152)
الرد }}}
تم الشكر بواسطة:
#3
في حدث التشينج "اعتقد الحدث الافتراضي عند الضغط على التكست دبل كليك في وضع التصميم "

)
da = New OleDbDataAdapter("select * from gamya Where memberID=" & TextBox1.Text & "", con)
da.Fill(dt)
If dt.Rows.Count > 0 Then
TextBox2.Text = dt.Rows(0).Item("Name")
TextBox3.Text = dt.Rows(0).Item("place")
TextBox4.Text = dt.Rows(0).Item("phone")
TextBox5.Text = dt.Rows(0).Item("work")
ChicqCheckBox.Text = dt.Rows(0).Item("chicq")
TextBox6.Text = dt.Rows(0).Item("sahm_value")
TextBox7.Text = dt.Rows(0).Item("years")
TextBox8.Text = dt.Rows(0).Item("month")
TextBox9.Text = dt.Rows(0).Item("niesba1")
TextBox10.Text = dt.Rows(0).Item("niesba2")
TextBox11.Text = dt.Rows(0).Item("dooor_Order")
TextBox12.Text = dt.Rows(0).Item("date_register")
Else
MsgBox("ID not Found")
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
ChicqCheckBox.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
TextBox11.Text = ""
TextBox12.Text = ""



End If
لاتنسئ انه لازم يكون حقل الرقم مفتاح اساسي لضمان رجوع صف واحد من النتيجه
ثانياً بالنسبه لسؤالك انك تشتي تجيب النتيجه من اكثر من جدول لابد من وجود حقل اجنبي في الجدول الثاني أو حقل اجنبي في جدولك هذا ..
للتوضيح انا كاتب كتاب اسمه التخلي عن العلاقات داخل قاعدة البيانات فيه مثال ب vb6 اعتقد بيفيدك ..
الرد }}}
تم الشكر بواسطة:
#4
بالنسبه لعرض النتيجه في الداتا جريد فيو
DataGridView.DataSource=dt
حطها بعد If dt.Rows.Count > 0 Then
الرد }}}
تم الشكر بواسطة:
#5
أستاذي الكريم قرأت الكتاب التخلي عن الربط بين الجداول وكما اشرت أنها تأخذ وقتا كثير وكذلك قد أصيب أو أخيب..استفدت كقراءة..وعسى الله أن يوفقك في صالح الامة العربية والاسلامية والناس جمعا..

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

وايضا لم افهم ماذا تقصد الحقول الاجنبية..بارك االله فيك وزادك من العلم بسطة وياريت ايضا توثقها بالفيديو كدرس مرئي سهل المتابعة..
الرد }}}
تم الشكر بواسطة:
#6
كلمة أستاذي كبيره والله .. لساتي بدور أكواد في النت بدري عليها Smile
أوك بقلك ايش معنى حقل اجنبي وحقل اساسي أو بالاصح مفتاح اساسي ومفتاح اجنبي

مفتاح اساسي معناها . غير مسموح بالتكرار -- مثلاً الرقم الوطني لشخص واحد فقط ولا يمكن اعطاء رقم وطني واحد لشخصين .. خلينا نقول رقم الموضف

لنفترض .. هذا الي ندرسه من أول اسبوع واعتقد أنك تعرفه

جدول الموضفين فيه حقل اسمه رقم الاداره ..
بينما نحن نريد اسم الاداره الموجود في جدول الادارات ...
لاحظ ان لدينا الرقم ونحن نبحث عن الاسم
سيكون الاستعلام بالشكل التالي "استعلام اسم الموضف ورقم الاداره "

select emp.emp_name,dep.deptname from emp,dep where dep.dep_no=emp.dep_id and emp.emp_id ='" & textbox1.text & "'"

select emp.emp_name,dep.deptname ---- اضهر اسم الموظف واسم الاداره
from emp,dep ---- من جدول الموظفين والادارات
where dep.dep_no=emp.dep_id --- بشرط ان رقم الاداره يساوي رقم الموظف --- لاحظ هنا ان
emp.dep_id -- مفتاح اجنبي في جدول الموضفين
dep.dep_no --- مفتاح اساسي في جدول الادارات
and - و "يجب تحقق الشرط التالي لهذه الكلمة"
emp.emp_id ='" & textbox1.text & "'" ---------- رقم الموضف يساوي الرقم الموجود في تكست بوكس ون

الاستعلام السابق سيعود لنا بصف واحد من النتيجة من اكثر من جدول
كلي أمل باني أفدتك ..
الرد }}}
تم الشكر بواسطة:
#7
البحث عن قيم في جدولين له عدة طرق.
منها بالاستعلام عن العلاقات المبنية في نفس القاعدة او التي يتم انشاءها بالكود وهذا له دروسه (لكن لم اتعامل معها من قبل)

لكن الطريقة الابسط بالنسبة لي والتي اتعامل معها دائما هي التعامل مع الجدولين بناء على علاقة غير معقدة مثلا جدول الاقسام وجدول الفروع
الجدول الاول وليكن اسمه forums والجدول الاخر اسمه subforums نضع في جدول الفروع عمود رقمي باسم يدل على الجدول الاب مثلا forumid وعند الاستعلام نبحث في هذا العمود مثلا
كود :
"select forums.id,subforums.forumid from forums,subforums where subforums.forumid=forum.id and subforums.forumid=" & "1"
الرد }}}
تم الشكر بواسطة:
#8
http://www.vb4arb.com/vb4/showthread.php...light=JOIN
Abu Ehab : Microsoft Partner  & Systems Developer
 Youtube   Facebook    Twitter   
الرد }}}
تم الشكر بواسطة:



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


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