تقييم الموضوع :
  • 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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] لدي مشكلة عند قراءة ملف نصي من خلال أداة RichBox , حيث تظهر لي علامات استفهام Mostchar 2 149 07-04-24, 02:51 PM
آخر رد: تركي الحلواني
  [سؤال] أرغب في شريط ضبط الخطوط في أداة RichTextBox والكود كما بالصورة Mostchar 1 128 02-04-24, 01:01 AM
آخر رد: justforit
  هل من الممكن العمل على قاعدة بيانات اكسل على الفيجوال بيسك خالد كامل1 4 141 24-03-24, 02:00 AM
آخر رد: خالد كامل1
  [VB.NET] حل مشكلة الاتصال بقواعد البيانات access loay775 2 168 25-02-24, 06:29 AM
آخر رد: loay775
  كيفية انشاء سكريبت لقاعدة بيانات من خلال الكود heem1986 1 213 20-02-24, 12:00 AM
آخر رد: Kamil
  انشاء قاعدة بيانات من ملف سكربت strongriseman 5 507 17-02-24, 02:57 PM
آخر رد: strongriseman
  سؤال عن عملية حذف سجل من قاعدة البيانات assuhimi 3 261 11-02-24, 08:43 PM
آخر رد: assuhimi
  فلترة datagridview بدون قاعدة بيانات صالح عبدالله 3 314 02-02-24, 04:07 PM
آخر رد: صالح عبدالله
  [VB.NET] التاريخ في أداة أبو سامر لطباعة DataGridView مبرمج صغير 1 17 657 26-01-24, 01:52 AM
آخر رد: مبرمج صغير 1
  [VB.NET] منع تكرار البيانات في عند الادخال مبرمج صغير 1 2 266 24-01-24, 05:18 PM
آخر رد: مبرمج صغير 1

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


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