1)اريد عمل قريد فيو واحد من جدولين بينهم علاقه لاظهارهما معا في نفس القريد فيو
2)ايضا اريد عندما اضغط مثلا كليك على الحقل في القريد فيو تظهر البيانات مباشرة في التكست الموجوده في المشروع
ارفق مثالك مختصر اسرع من عمله من جديد !
وابشر بالمساعدة
دي قاعدة بيانات اكسس مكونه من جدولين
جدول الدكتور ويتكون : جدول الاقسام ويتكون من :
رقم الدكتور number رقم القسم number
اسم الدكتور text اسم القسم text
رقم القسم number
المهم وهناك علاقة بين الجدولين (رقم القسم وطبعا هو مفتاح رئيسي في جدول الاقسام , فرعي في جدول الدكتور (اي يجب تعبئته اولا في جدول الاقسام )
ولدي فورم الدكتور المطلوب عمل قريد فيو فيه
ويحتوي على
Txtid رقم الدكتور
Txtname اسم الدكتور
Txtdept رقم القسم
واريد ايضا اضافه اسم القسم في القريد فيو
يعني القريد فيو يحتوي على رقم الدكتور اسم الدكتور اسم القسم ويفضل الغاء رقم القسم ان امكن
وعندما اضغط كليك او دبل كليك على اي حقل مباشرة البيانات في الحقول تظهر في التكست الموجودة لدي
ماهو الكود المطلوب اضافته في القريد فيو او التكست لست ادري ؟؟؟؟؟كيف
اول شي يجب وضع قريد فيو اخرى لأن القريد فيو الموجوده مربوطة بالجدول بالويزارد
اتفقنا تضع قريد فيو في الفورم ولتكن اسمها Datagridview2
ضع الكود التالي في زر
كود :
Dim dp As New OleDbDataAdapter("SELECT doctor.doc_ID, doctor.doc_name, department.dept_name, department.dept_no FROM department INNER JOIN doctor ON department.dept_no = doctor.dept_no", CONN)
Dim ds As New DataSet
dp.Fill(ds)
DataGridView2.DataSource = ds.Tables(0)
DataGridView2.Columns(3).Visible = False
dp.Dispose()
حتى هنا يعرض المطلوب اللي طلبته في القريد رقم 2
علشان تختار سجل من القريد اللي عملنا ويعرض بيانات السجل في التكستات
ضع الكود التالي كماهو
كود :
Private Sub DataGridView2_CellMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView2.CellMouseClick
If e.RowIndex = -1 Then Exit Sub
Txtid.Text = DataGridView1.Item(0, e.RowIndex).Value
Txtname.Text = DataGridView1.Item(1, e.RowIndex).Value
Txtdept.Text = DataGridView1.Item(2, e.RowIndex).Value
TextBox1.Text = DataGridView1.Item(3, e.RowIndex).Value
End Sub
وخلاص ،، اسمحلي ما اقدر ارفع المثال بعد التعديل لأن الاصدار اللي عندي 2010 ما حيشتغل عندك ....
ماعندك مشكلة ارفعه انا اقدر احوله الى 2008 عندي برنامج يحول
اشكرك جدا اخي
لك تحياتي
الله يوفقك ويوفقنا
لدي طلب اخير بسيط استاذي الفاضل
هل استطيع التحديث في القريد فيو2 بعد عمليه الحفظ والتعديل والحذف لان البيانات لا تتحدث الا عندما اقفل المشروع وادخل مره اخرى اجدها تحدثت
كذلك اني قد مسحت القريد فيو1 لاني لست في حاجه لها
عبدالعزيز2013 كتب :لدي طلب اخير بسيط استاذي الفاضل
هل استطيع التحديث في القريد فيو2 بعد عمليه الحفظ والتعديل والحذف لان البيانات لا تتحدث الا عندما اقفل المشروع وادخل مره اخرى اجدها تحدثت
كذلك اني قد مسحت القريد فيو1 لاني لست في حاجه لها
نعم يمكنك عملها كالتالي :
اعمل صب وليكن اسمه sub showdataingrid
ويتم وضع الكود اللي يعرض البيانات في القريد في الصب
وعند النقر على الزر ضع اسم الصب
وعند الحفظ او التعديل او الحذف ضع اسم الصب بدلاً من تكرار كتابة الكود في اكثر من حدث ،،،، مثال :
كود :
Sub showdataingrid()
Dim dp As New OleDbDataAdapter("SELECT doctor.doc_ID, doctor.doc_name, department.dept_name, department.dept_no FROM department INNER JOIN doctor ON department.dept_no = doctor.dept_no", CONN)
Dim ds As New DataSet
dp.Fill(ds)
DataGridView2.DataSource = ds.Tables(0)
DataGridView2.Columns(3).Visible = False
dp.Dispose()
End Sub
في الزر اللي يعرض البيانات في القريد ضع الكلمة هذي :
ايضاً بعد عملية الحفظ ضع الكلمة هذي وهكذا في اي حدث تريد :
فقط ،،، وذلك لعدم كتابة كود عرض البيانات تكراراً