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

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


لقد قمت بعمل مشروع قواعد بيانات لعرض الجداول داخل القاعدة فى listbox و عند الضغط على اسم الجدول فى ال listbox يفتح محتواة فى DataGridView المشروع كلة تمام بس فى مشكلة صغيرة لم اجد لها حل 
كما تشاهدون الجدولين بكل منهما عمود واحد فقط بخلاف عمود ال id
*الجدول الاول
[attachment=8107]
*الجدول الثانى
[attachment=8102]
لكن عند العمل داخل البرنامج يظهر الصفين من الجدولين بعد اول تغيير
*الضغطة الاولى
[attachment=8103]
البرنامج يعمل تمام
*الضغطة الثانية
[attachment=8104]
نلاحظ ظهور المشكلة
*وعند العودة للجدول الاول
[attachment=8105]
المشكلة لا تزال موجودة
ارجو من الاخوة التعديل على السورس  [attachment=8106] و اعادة رفعة او اخبارى بخطئى
ارجو المساعدة وشكرا



تفضل كلاس الفورم الجديد
PHP كود :
Public Class saud

    Dim str 
As String "Provider=Microsoft.jet.oledb.4.0;Data Source=" Application.StartupPath "\a.mdb"
 
   Dim con As New OleDb.OleDbConnection(str)
 
   Dim ds As DataSet
    Dim da 
As OleDb.OleDbDataAdapter


    Private Sub gd
()
 
       ListBox1.DataSource Nothing
        ListBox1
.Items.Clear()

 
       ds = New DataSet
        da 
= New OleDb.OleDbDataAdapter("select * from tb1,tb2"con)
 
       da.Fill(ds"tb1")
 
       da.Fill(ds"tb2")

 
       For Each dt As DataTable In ds.Tables
            ListBox1
.Items.Add(dt.TableName)
 
       Next

    End Sub

    Private Sub saud_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        gd
()
 
   End Sub

    Private Sub ListBox1_SelectedIndexChanged
(sender As ObjectAs EventArgsHandles ListBox1.SelectedIndexChanged
        dg
.DataSource Nothing
        dg
.Rows.Clear()
 
       Dim d As New DataTable(sender.text)
 
       Dim cm As New OleDb.OleDbCommand(""con)
 
       cm.Parameters.Clear()
 
       cm.CommandText "select * from " d.TableName ""
 
       If con.State ConnectionState.Closed Then con.Open()
 
       d.Load(cm.ExecuteReader)

 
       dg.DataSource d
    End Sub
End 
Class 
المثال مرفق
(01-10-15, 02:28 AM)سعود كتب : [ -> ]


تفضل كلاس الفورم الجديد
PHP كود :
Public Class saud

    Dim str 
As String "Provider=Microsoft.jet.oledb.4.0;Data Source=" Application.StartupPath "\a.mdb"
 
   Dim con As New OleDb.OleDbConnection(str)
 
   Dim ds As DataSet
    Dim da 
As OleDb.OleDbDataAdapter


    Private Sub gd
()
 
       ListBox1.DataSource Nothing
        ListBox1
.Items.Clear()

 
       ds = New DataSet
        da 
= New OleDb.OleDbDataAdapter("select * from tb1,tb2"con)
 
       da.Fill(ds"tb1")
 
       da.Fill(ds"tb2")

 
       For Each dt As DataTable In ds.Tables
            ListBox1
.Items.Add(dt.TableName)
 
       Next

    End Sub

    Private Sub saud_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        gd
()
 
   End Sub

    Private Sub ListBox1_SelectedIndexChanged
(sender As ObjectAs EventArgsHandles ListBox1.SelectedIndexChanged
        dg
.DataSource Nothing
        dg
.Rows.Clear()
 
       Dim d As New DataTable(sender.text)
 
       Dim cm As New OleDb.OleDbCommand(""con)
 
       cm.Parameters.Clear()
 
       cm.CommandText "select * from " d.TableName ""
 
       If con.State ConnectionState.Closed Then con.Open()
 
       d.Load(cm.ExecuteReader)

 
       dg.DataSource d
    End Sub
End 
Class 
المثال مرفق

شكرا اخ سعود لاكنى لا اريد تحديد قاعدة بيانات معينة
اريد عمل برنامج بة open file dialog لفتح قاعدة البيانات و البحث بالجداول ووضعها فى listbox و عند الضغط على عنصر من ال listbox يتم فتحة فى ال data grid view (باختصار اسماء الجداول مجهولة البرنامج يبحث عنها عند اختيار قاعدة البيانات) وهذا ما نفذتة فى المثال المرفق لاكن للاسف نسيت وضع open file dialog
و ظهرت المشكلة الموضحة ارجو ان كان هناك حل توضيحة وشكرا لردك Smile
هذي بسيطة اخي تستطيع فعلها بسهولة.
انظر لهذه المشاركة
(15-10-15, 03:46 AM)سعود كتب : [ -> ]هذي بسيطة اخي تستطيع فعلها بسهولة.
انظر لهذه المشاركة

شكرا اخ سعود
هذا هو طلبى بالضبط Big Grin Heart