الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

عرض جدولين في data grid

مغلق
بدأه roza_03 في 10 مايو 2005 · 12 رد · 2,668 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

>>مشكلة في جلب البيانات من جدولين(طلب مساعدة)

>>قاعدة البيانات على sql server 2000 و التطبيق على visual basic.net

>>لو كان لدي جدول الموردين الذي يحتوي على رقم المورد(primary key) واسم المورد و عنوانه

>> وجدول اخر يحتوي على رقم المورد(forign key) ورقم الهاتف

>>أي أنه في الجدول الاخر سيتكرر رقم المورد لاحتمال وجود اكثر من رقم هاتف للمورد الواحد ,

>> فالسؤل كيف اسوي العلاقة التي تربط بينهم

>> وكذلك العرض على data grid يكون غير متكرر يعني لكل مورد أرقام الهواتف تكون مع بعض.....

>>مع العلم لمن وضعت في select command أنه يأتي برقم الهاتف مع مساواة رقم المورد في الجدولين يعرض في data grid

>>صف كل مورد مع رقم الهاتف الأول ثم صف اخر بنفس المعلومات لهذا لموردمع الهاتف الثاني وهكذا

>>المطلوب أنه تطلع معلومات المورد الواحد مع أرقام هواتفه في صف واحد

>>ارجو المساعدة بسرعة لأنه مشروع تخرج يجب تسليمة .

#2

انا اقترح عليك تستخدمين

اثنين داتا غريد

الاولى فيها اسماء الموردين

ولما يسوي يختار row معين من الداتاغيرد الاولى

تتعبى الداتا غريد الثانية

بارقام هواتف المورد

هذي فكرة

وحلها موجود عندي

#3
ReD^eYeS كتب:
انا اقترح عليك تستخدمين

اثنين داتا غريد

الاولى فيها اسماء الموردين

ولما يسوي يختار row معين من الداتاغيرد الاولى

تتعبى الداتا غريد الثانية

بارقام هواتف المورد

هذي فكرة

وحلها موجود عندي

أرجو أن تعرض الكود الخاص بالحل ولك جزيل الشكر

#4

هذا مثال هو المثال والداتابيز على اكسس

...........

في الحدث load للفورم

نعبئ الداتا غريد الاولى باسماء الموردين

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim c As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=SAS.mdb"
        Dim con As New OleDb.OleDbConnection(c)
        Try

            con.Open()
            Dim adapt As New OleDb.OleDbDataAdapter("Select * from Vendor", con)
            Dim dt As New DataTable()
            adapt.Fill(dt)
            DataGrid1.SetDataBinding(dt, "")
            con.Close()
        Catch ex As Exception
            MsgBox(ex.Message)
        Finally
            con.Close()
        End Try
        

    End Sub

في الحدث Click للداتاجريد الاولى عندما يختار المستخدم صف معين من الموردين

نكتب هذا الكود

 Private Sub DataGrid1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.Click
        Dim c As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=SAS.mdb"
        Dim con As New OleDb.OleDbConnection(c)
        Try

            Dim id As Integer = DataGrid1.Item(DataGrid1.CurrentRowIndex, 0)
            Dim sql As String = "select telephone from telephone where vid=" & id

            con.Open()
            Dim adapt As New OleDb.OleDbDataAdapter(sql, con)
            Dim dt As New DataTable()
            adapt.Fill(dt)
            DataGrid2.SetDataBinding(dt, "")

        Catch ex As Exception
            MsgBox(ex.Message)
        Finally
            con.Close()
        End Try
       
    End Sub

وهذا المثال مرفق

وبالتوفيق

.............

والله أعلم

WindowsApplication40.zip

#5

الله يعطيك العافية

-waf

#6

بسم الله الرحمن الرحيم

=============

الأخ الكريم ReD^eYeS

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

بحيث يكون فى النهاية أمام كل مورد علامة + إذا قمت بالضغط عليها تظهر سجلات أرقام التليفونات

تقبلوا تحياتى

#7

والله الظاهر ان فيه طريقة

بس انا مااعرفها

حط سؤالك هذا في موضوع منفصل وان شاء الله الاخوان مايقصرون معك

#8

اذا انت مستخدم داتا ست في البرنامج لاستضافة البيانات

اعمل علاقة بين الجدولين في الداتا ست بين الجدولين بواسطة رقم المورد

واربط الداتا ست بالداتا جريد

بهذي الطريقة بتطلع البيانات بداتا جريد وحدة

اي كل موظف وجنبة علاقة + تعرض ارقام الهواتف

(لم افهم المطلوب في اخر 3 اسطر)

لذلك اجبتك على الباقي

#9

السلام عليكم

عملت زي الفكرة اللي قلت عليها وتطلع النتائج صحيحة لكن تطلع رسالة في

(run)

تؤشر على

 Dim bookNo As Integer = DG1.Item(DG1.CurrentRowIndex, 0)

الرسالة موجودة في الملف المرفق ....

مالحل؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

error message.doc

#10

بسم الله الرحمن الرحيم

==============

الأخ الكريم ReD^eYeS جزاك الله خيرا وفتح الله على وعليك وعلى المسلمين أجمعين

الأخ الكريم dr.hi جزاك الله خيرا ولكن هل من الممكن توضيح كيفية إنشاء العلاقة بين جدولين موجودين بنفس الداتا ست حيث لم أستطيع عمل ذلك

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

وجزا الله خيرا كل من يقدم مساعدة لأخيه

تقبلوا تحياتى

#11

ادخل على data set view

وذلك بواسطة الزر الأيمن على اسم الداتا ست ثم اختر الأمر data set view

وسيظهر لك جميع الجداول الموجودة بالداتا ست اختر الجدول المطلوب ثم اختار اداة اتوقع اسمها relation(تلقاها في اخر القائمة)

وحدد اسم الجدول الأساسي والجدول التابع له

ثم احفظ العلاقة

وعند عمل رن للبرنامج يظهر شكل + بجانب الموردين..

اذا في شي اضافي اسأل وان شالله تنحل..

#13

بسم الله الرحمن الرحيم

=============

الأخ الكريم dr.hi

جزاك الله خيرا كثيرا وأتمنى لك التوفيق دائما

تقبلوا تحياتى

هذا الموضوع مغلق.

مواضيع مشابهة