منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
كيف يتم عرض جدول من قائمة listbox في داتاقريدفيو - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : كيف يتم عرض جدول من قائمة listbox في داتاقريدفيو (/showthread.php?tid=54932)



كيف يتم عرض جدول من قائمة listbox في داتاقريدفيو - ahmedfa71 - 03-09-25

السلام عليكم ورحمة الله وبركاته
لدي قائمة جداول معروضة في listbox أريد عرض الجدول في datagridview
بمجرد الضغط على الجدول المحدد في القائمة

كود :
Sub ImportTableInListBox()
       Dim SchemaTable As DataTable
       Try
           ListBoxTables.Items.Clear()
           con.Open()
           'Get table and view names
           SchemaTable = con.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, Nothing})
           Dim int As Integer
           For int = 0 To SchemaTable.Rows.Count - 1
               If SchemaTable.Rows(int)!TABLE_TYPE.ToString = "TABLE" Then
                   'Add items to list box
                   ListBoxTables.Items.Add(SchemaTable.Rows(int)!TABLE_NAME.ToString())
               End If
           Next
       Catch ex As Exception
           MessageBox.Show(ex.Message.ToString(), "خطأ في جلب المعلومات", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
       End Try
       con.Close()
   End Sub



RE: كيف يتم عرض جدول من قائمة listbox في داتاقريدفيو - مصمم هاوي - 03-09-25

كود :
الفكرة أنه لديك
ListBox
فيه أسماء الجداول الموجودة في قاعدة البيانات
(Access).
واريد لما تضغط على أي جدول في الـ  ListBox، يتم تنفيذ استعلام SELECT * FROM tableName، ونربط النتيجة بالـ DataGridView.

هذه محاولة عن طريق. الجوال وربما توجد بعض الأخطاء
نفرض أن اسم الفورم Form1

Imports System.Data.OleDb

Public Class Form1

   ' الاتصال بقاعدة البيانات ... عدل المسار حسب ما هو عندك

   Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\DB1.accdb;")

   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       ' جلب أسماء الجداول في القاعدة وعرضها في ListBox
       con.Open()
       Dim dt As DataTable = con.GetSchema("Tables")
       For Each row As DataRow In dt.Rows
           If row("TABLE_TYPE").ToString() = "TABLE" Then
               ListBox1.Items.Add(row("TABLE_NAME").ToString())
           End If
       Next
       con.Close()
   End Sub

   Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
       If ListBox1.SelectedItem IsNot Nothing Then
           Dim tableName As String = ListBox1.SelectedItem.ToString()
           Dim da As New OleDbDataAdapter("SELECT * FROM [" & tableName & "]", con)
           Dim ds As New DataSet
           da.Fill(ds)
           DataGridView1.DataSource = ds.Tables(0)
       End If
   End Sub

End Class



RE: كيف يتم عرض جدول من قائمة listbox في داتاقريدفيو - ahmedfa71 - 04-09-25

شكرا لك أخي على الرد لكن الكود لم يشتغل تظهر رسالة الخطأ هذه
System.Data.OleDb.OleDbException: 'Le moteur de base de données Microsoft Access ne peut pas trouver la table ou la requête source « System.Data.DataRowView ». Assurez-vous qu’elle existe et qu’elle est correctement orthographiée.'


RE: كيف يتم عرض جدول من قائمة listbox في داتاقريدفيو - ahmedfa71 - 04-09-25

عفوا الكود يعمل بشكل جيد
بارك الله فيك أخي مصمم هاوي
وياليت تضيف لي عملية الحذف للجدول من قائمة listebox إن أمكن


RE: كيف يتم عرض جدول من قائمة listbox في داتاقريدفيو - مصمم هاوي - 04-09-25

(04-09-25, 01:33 PM)ahmedfa71 كتب : عفوا الكود يعمل بشكل جيد
بارك الله فيك أخي مصمم هاوي
وياليت تضيف لي عملية الحذف للجدول من قائمة listebox إن أمكن

حباً وكرامـة
هذا مثال فيه حذف جدول من القائمـة فقط
وحذف جدول من قاعدة البيانات

[attachment=30123]


RE: كيف يتم عرض جدول من قائمة listbox في داتاقريدفيو - ahmedfa71 - 04-09-25

بارك الله فيك أخي مصمم هاوي