تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[ تم الحل ] فتح قاعدة البيانات من خلال أداة OpenFileDialog
#1
السلام عليكم أحبابي 
ممكن مساعدة بسيطة لكود ربط قاعدة بيانات الأكسس بالفيجول من خلال أداة  OpenFileDialog 

لدي هذا كود الإتصال في مكان التعريفات بأعلى الأكواد
 Dim con As New OleDbConnection("provider=Microsoft.Ace.OLEDB.12.0;" & "data source=" & Application.StartupPath & "\ABC.accdb")

ولدي كود فتح OpenFileDialog

 OpenFileDialog1.Filter = "TEXT FILE | *.accdb"
        If OpenFileDialog1.ShowDialog = DialogResult.OK Then
            TextBox23.Text = OpenFileDialog1.FileName
            End If

كيف أدمج الكودين ليتم إختيار قاعدة البيانات من الكمبيوتر لدي
أقصد أني لا أريد أن تكون قاعدة البيانات ثابتة في مكان معين 
الرد
تم الشكر بواسطة:
#2
تفضل اخي الكود جاهز
ان شاء الله
فقط انشيء Setting جديد واجعل اسمه File
كود :
Dim con As New OleDbConnection("provider=Microsoft.Ace.OLEDB.12.0;" & "data source=" & My.Settings.File)
وثم
كود :
       Dim OpenFileDialog1 As New OpenFileDialog
       OpenFileDialog1.Filter = "TEXT FILE | *.accdb"
       If OpenFileDialog1.ShowDialog = DialogResult.OK Then
           My.Settings.File = OpenFileDialog1.FileName
   My.Settings.Save
   End If

هم يسرقون والقانون كتب لنا...
بعض اسهاماتي

الرد
تم الشكر بواسطة: بدري , elgokr , sads
#3
كما اشار اليه اخى DK-x

ولكن للتوضيح هذا السطر
كود :
Dim con As New OleDbConnection("provider=Microsoft.Ace.OLEDB.12.0;" & "data source=" & My.Settings.File)

يضع خارج اى نظاق الحدث حسب طريقتك لكتابة كود الاتصال
وتاتى فى زر اختيار قاعدة البيانات فى حدث الزر واكتب
كود :
       Dim OpenFileDialog1 As New OpenFileDialog
       OpenFileDialog1.Filter = "DB Access FILE | *.accdb"
       If OpenFileDialog1.ShowDialog = DialogResult.OK Then
           My.Settings.File = OpenFileDialog1.FileName
   My.Settings.Save
   End If

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة: بدري , DK-x
#4
أشكركم جميعا على الإجابة 

ولاكن واجهتني مشكلة عند إستخدام Setting فعند تحميل قاعدة البيانات تحفظ مكان مسار القاعدة في ذاكرة البرنامج بإستخدام المتغير وعند القفل وفتح البرنامج يختار المسار الذي إخترته سابقاً تلقائياً وهذه وضيفة [b]Setting[/b]
ولاكن أريد عند تشغيل البرنامج و إختيار الملف مثلا يحتوي على بيانات قديمة مثلاً أريده أن يتحدث يحمل مباشرة داخل DataGridView أي تحديث لمكان القاعدة مباشرة دون غلق وفتح البرنامج
الرد
تم الشكر بواسطة:
#5
بعد ان تضع مسار قاعده البيانات جديد في Setting لا بد من عمل Save مثل
My.Settings.File = OpenFileDialog1.FileName
My.Settings.Save

ثم تغيير DataSource الموجود في الاتصال con عن طريق ConnectionStringBuilder مثل
Dim b As New OleDbConnectionStringBuilder(con.ConnectionString)
b.DataSource = OpenFileDialog1.FileName
con.ConnectionString = b.ConnectionString

وفي النهايه تقوم باعاده استدعاء تعبئه DataGridView
الرد
تم الشكر بواسطة: DK-x , sads , sads
#6
(05-04-19, 12:49 AM)بدري كتب : بعد ان تضع مسار قاعده البيانات جديد في Setting لا بد من عمل Save مثل
My.Settings.File = OpenFileDialog1.FileName
My.Settings.Save

ثم تغيير DataSource الموجود في الاتصال con عن طريق ConnectionStringBuilder مثل
Dim b As New OleDbConnectionStringBuilder(con.ConnectionString)
b.DataSource = OpenFileDialog1.FileName
con.ConnectionString = b.ConnectionString

وفي النهايه تقوم باعاده استدعاء تعبئه DataGridView

أخي هل من توضيح أكثر لم أفهم جيداً وأين أضع الكود التي ذكرته ياريت التوضيح بمثال
الرد
تم الشكر بواسطة:
#7
سبق وقمت بذكر ان يتم وضع هذا الكود خارج نطاق اى حدث
كود :
Dim con As New OleDbConnection("provider=Microsoft.Ace.OLEDB.12.0;" & "data source=" & My.Settings.File)

وسيبقي كما هو مذكور بالاعلى
ولكن فى كود الزر لاختيار قاعدة البيانات ستقوم بتعديل بسيط فقط

ليصبح الكود بهذا الشكل
كود :
      Dim OpenFileDialog1 As New OpenFileDialog
      OpenFileDialog1.Filter = "DB Access FILE | *.accdb"
      If OpenFileDialog1.ShowDialog = DialogResult.OK Then
          My.Settings.File = OpenFileDialog1.FileName
          My.Settings.Save
          con = New OleDbConnection("provider=Microsoft.Ace.OLEDB.12.0;" & "data source=" & OpenFileDialog1.FileName)
      End If

الكود سيكون صالح ويعمل معك على المسار المختار
حتى اتمام اغلاق الفوم او اغلاق البرنامج

وبمجرد اعادة تحميل الفروم سيعود على وضع Settings

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة: sads , بدري
#8
(05-04-19, 01:07 AM)elgokr كتب : سبق وقمت بذكر ان يتم وضع هذا الكود خارج نطاق اى حدث
كود :
Dim con As New OleDbConnection("provider=Microsoft.Ace.OLEDB.12.0;" & "data source=" & My.Settings.File)

وسيبقي كما هو مذكور بالاعلى
ولكن فى كود الزر لاختيار قاعدة البيانات ستقوم بتعديل بسيط فقط

ليصبح الكود بهذا الشكل
كود :
      Dim OpenFileDialog1 As New OpenFileDialog
      OpenFileDialog1.Filter = "DB Access FILE | *.accdb"
      If OpenFileDialog1.ShowDialog = DialogResult.OK Then
          My.Settings.File = OpenFileDialog1.FileName
          My.Settings.Save
          con = New OleDbConnection("provider=Microsoft.Ace.OLEDB.12.0;" & "data source=" & OpenFileDialog1.FileName)
      End If

الكود سيكون صالح ويعمل معك على المسار المختار
حتى اتمام اغلاق الفوم او اغلاق البرنامج

وبمجرد اعادة تحميل الفروم سيعود على وضع Settings

تحياتى لك
وتمنياتى لك التوفيق

أحسنت أخي بارك الله فيك مشكور
الرد
تم الشكر بواسطة: elgokr
#9
(05-04-19, 01:32 AM)sads كتب :
أحسنت أخي بارك الله فيك مشكور


لى ولك وللجميع بامر الله


تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة: sads


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  خطأ في عملية حفظ محتوى datagridview إلى جدول من قاعدة البيانات ahmedfa71 6 65 منذ 6 ساعة مضت
آخر رد: ahmedfa71
Rainbow (تم الحل )احتاج مساعدة حول خطأ system.accessviolationexception was unhandled dametucorazon 5 54 اليوم, 12:47 AM
آخر رد: elgokr
  أريد مثال علي كيفية التعرف علي وجه شخص من خلال فديواو صورة ؟ PeterGhattas082460 3 82 18-04-19, 06:04 AM
آخر رد: محمد كريّم
  [سؤال] كيفية ربط ProgressBar بعملية حفظ البيانات mr_hso 0 34 17-04-19, 11:21 PM
آخر رد: mr_hso
  [VB.NET] اريد كود للطباعة لأي نوع من انواع قواعد البيانات tarek 1 53 14-04-19, 02:53 PM
آخر رد: Rabeea Qbaha
  تم الحل : استعلام من 3 جداول العيدروس 8 90 13-04-19, 12:50 AM
آخر رد: العيدروس
  [ تم الحل ] خطأ عند الضغط على الداتاجريد محمد خيري 5 76 12-04-19, 02:21 AM
آخر رد: elgokr
Rainbow [VB.NET] [تم الحل] عدم تنفيذ امر الا عند تحميل الصفحة DK-x 4 70 11-04-19, 11:23 PM
آخر رد: elgokr
  [كود] [تم الحل] تحريك الكائن DK-x 2 90 11-04-19, 04:01 PM
آخر رد: DK-x
  [ تم الحل ] تعديل على تنسيق التاريخ بالتاكست بكس محمد خيري 9 136 11-04-19, 01:55 PM
آخر رد: elgokr

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم