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

نسخة كاملة : احتاج مساعدة في القريد فيو
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
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
في الزر اللي يعرض البيانات في القريد ضع الكلمة هذي :

كود :
showdataingrid
ايضاً بعد عملية الحفظ ضع الكلمة هذي وهكذا في اي حدث تريد :

كود :
showdataingrid
فقط ،،، وذلك لعدم كتابة كود عرض البيانات تكراراً