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

نسخة كاملة : ربط جدوليين في قاعدة بيانات اكسس و عرض كل جدول في أداة MSfexgrid
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم..

ارجو المساعدة في كيفية ربط جدوليين موجوديين في قاعدة بيانات اكسس بحيث يمكنني عرض محتوى كل جدول و بشكل منفصل في آداة MSfexgrid.
لقد قمت بتصميم جدوليين في ملف اكسس اسمهما: st-tb, info وارغب بعرض محتوى كل جدول في MSfexgrid بشكل منفصل و بنفس الفورم.
هل يمكن عمل ذلك و ما هي الاكواد الازمة.

شكرا.


المثال مرفق
وهذا الكلاس
كود :
Imports System.Data.OleDb

Public Class Form1
    Dim str As String = "provider=microsoft.ace.oledb.12.0;data source=|datadirectory|\db.accdb"
    Dim con As New OleDbConnection(str)

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        gd()
    End Sub
    Private Sub gd()
        Dim ds1 As New DataSet
        Dim ds2 As New DataSet

        Dim da1 As New OleDbDataAdapter("select tn from tb1", con)
        Dim da2 As New OleDbDataAdapter("select mo from tb2", con)



        ds1.Clear()
        ds2.Clear()
        g1.DataSource = Nothing
        g2.DataSource = Nothing


        da1.Fill(ds1, "tb1")
        da2.Fill(ds2, "tb2")


        g1.DataSource = ds1
        g1.DataMember = "tb1"


        g2.DataSource = ds2
        g2.DataMember = "tb2"

    End Sub
End Class
شكرا لك اخي الكريم...
حاولت ان اتبع نفس الكود مع اجراء التعديل الملائم لكنني فشلت
علما اني استخدم اكسس 2000 وليس اكسس 2010 لا ادري انا كان ذلك يؤثر على الكود البرمجي
علما ان هذا هو الكود الذي اتبعته:
كود :
Imports System.Data
Imports System.Data.OleDb
Public Class basefrm
    Dim constr As String = "provider=microsoft.jet.oledb.4.0;" & _
"Data Source=" & Application.StartupPath & "\wwtp.mdb"
    Dim con As New OleDbConnection(constr)
    Dim dataset1 As New DataSet
    Dim dataset2 As New DataSet



    Private Sub basefrm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        con.Open()
        Dim dataadapter1 As New OleDbDataAdapter("select * from info", con)
        dataset1.Clear()
        infoview.DataSource = Nothing
        dataadapter1.Fill(dataset1, "info")
        Dim dataadapter2 As New OleDbDataAdapter("select * from st-tb", con)
        dataset2.Clear()
        stview.DataSource = Nothing
        dataadapter2.Fill(dataset2, "st-tb")
        con.Close()
        infoview.DataSource = dataset1
        infoview.DataMember = "info"
        stview.DataSource = dataset2
        stview.DataMember = "st-tb"

    End Sub
End Class

على علم ان الجدوليين هما (info, st-tb)

ارجو الاطلاع ان كان هناك اخطاء لم استطع اكتشافها.

شكرا جزيلا.
مدري لكن ما لاحظت خطا
هل فيه رسالة ظهرت لك عن خطا ما؟
الخطأ ظهر تحديدا عند العبارة:
كود :
dataadapter2.Fill(dataset2, "st-tb")
ورسالة الخطا ماهي؟
النص ماهو؟
شكرا لك اخي سعود...
المشكلة انه لم تنجح تسمية الحقول باللغة العربية اي عند محاولة ادخال بيانات لم تنجح العملية! و عند استبدالها باللغة الانكليزية حلت المشكلة.

لكن هل يمكنني التعامل مع اسم الحقل (العمود) باللغة الانكليزية وبنفس الوقت اود انا يظهر اسم الحقل في الفورم باللغة العربية؟
يعني كما في المثال الذي رفعته لي: هناك حقل اسمه mo ولكن اود ان تظهر التسمية "الرقم" على الفورم فكيف يمكن ذلك؟
كنا نستخدم خاصية في vb6 اسمها TextMatrix لم اجدها في دوت نت

الرجاء مساعدتي في هذا الامر.

شكرا.
هذي بسيطة
من خصائص الاداة مثلا شبيكة البيانات فيه خاصية اسمها Headertext
PHP كود :
DataGridView1.Columns(0).HeaderText "الرقم" 

وهكذا