الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تفسير لهذا الـ Error

بدأه نبولي في 27 ديسمبر 2010 · 14 رد · 908 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم احبائي

انا الان اقوم ببرمجة برنامج بسيط مرتبط بقاعدة بيانات

فكرة برنامجي

لدي قاعدة بيانات تحوي اسم الطالب ورقم جواله وكليته ومرحلته ومدينته

المهم ظهر لي هذا الخطأ بالتنفيذ وماقدرت افسره علما اني قاعدة البيانات اكسس سليمة وخزنتها في ملف debug الموجود في مجلد المشروع

اخذت صورة للخطأ ياريت لو في احد يعرف تفسير هذا الخطأ وليش مو راضي يتصل بقاعدة البيانات

الصورة في المرفقات

تحياتي لكم

post-175572-014430600 1293448360_thumb.j

المرفقات
vb.jpg
#2

انت تستخدم قاعدة البيانات من نوع اكسس 2003 أو 2007 ؟

عن عبد الله بن مسعود رضي الله عنه قال: سألت النبي صلى الله عليه وسلم أي العمل أحب إلى الله عز وجل؟ قال: ( الصلاة على وقتها) قال: ثم أي؟ قال: ( بر الوالدين ) قال ثم أي؟ قال: ( الجهاد في سبيل الله )

302889519.gif

رابط المصحف الرقمي الفلاشي بأكثر من روايات - القرآن الكريم

#3

اهلا وسهلا حبيبي الغالي

انا استخدم 2010

#4

اخي العزيز

امتداد قاعدة البيانات اكسس في اوفيس 2010 يختلف عن اوفيس 2003

ف office 2003 امتداد قاعدة البيانات .mdb أما في 2010 غير ذلك

فالحل هو أنك تفتح قاعدة البيانات اكسس 2010 وتعيد حفضها كــ 2003

وإن شاء الله تنحل المشكلة

كذلك مزود قاعدة البيانات microsoft.jet.oledb.4.0 خاص باكسس 2003 وليس اكسس 2007 أو اكسس2010

اذا ما انحلت بلغنا لكي نبحث عن حل للمشكلة

وفقك الله

تم تعديل هذه المشاركة بواسطة muhedeen في 27 ديسمبر 2010 في 15:04

عن عبد الله بن مسعود رضي الله عنه قال: سألت النبي صلى الله عليه وسلم أي العمل أحب إلى الله عز وجل؟ قال: ( الصلاة على وقتها) قال: ثم أي؟ قال: ( بر الوالدين ) قال ثم أي؟ قال: ( الجهاد في سبيل الله )

302889519.gif

رابط المصحف الرقمي الفلاشي بأكثر من روايات - القرآن الكريم

#5

اخي العزيز .. المشكلة الاولى والاساسية هي بالامتداد

امتداد ال2010 هو

accdb.

لا تقم بتغير الملف الى 2003 .. فقط قم بتغير ما بين الــ " " ..

لذلك غير الكود الى "MyData.accdb\" ..

اذا واجهتك مشكلة اخرى تفضل ..

تحياتي العطرة ..

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#6

أخي العزيز سنان محمد صالح

ما ادري هل مزود الاتصال في قاعدة البيانات اكسس 2003 هو نفسه 2007 أو 2010 يعني (microsoft.jet.oledb.4.0)

ياليت أخي توضح لي أيش معنى مزود الاتصال لقاعدة البيانات

يعطيك الف عافية

تحياتي

عن عبد الله بن مسعود رضي الله عنه قال: سألت النبي صلى الله عليه وسلم أي العمل أحب إلى الله عز وجل؟ قال: ( الصلاة على وقتها) قال: ثم أي؟ قال: ( بر الوالدين ) قال ثم أي؟ قال: ( الجهاد في سبيل الله )

302889519.gif

رابط المصحف الرقمي الفلاشي بأكثر من روايات - القرآن الكريم

#7

بالفعل اخي muhedeen

قمت بخزن القاعدة على صيغة 2003

وانحلت المشكلة

تحياتي لك

الاخ سنان

انا جربت طريقتك ولكن نفس المشلكة بقت

والسبب كما ذكر اخي الكريم muhedeen

انه مزود قاعدة البيانات microsoft.jet.oledb.4.0 خاص باكسس 2003 وليس اكسس 2007 أو اكسس2010

اشكركم جدا جدا على تفاعلكم وتلبيتكم لطلبي

رحم الله والديكم جميعا

تم تعديل هذه المشاركة بواسطة نبولي في 27 ديسمبر 2010 في 16:13

#8

يجب تغيير نص الاتصال لأن المزود مختلف كما ذكر الإخوة .

وهنا أفضل المواقع في هذا المجال :

http://www.connectionstrings.com/

تحياتي

1
#9

اخي العزيز من المنطقي ان الاتصال لا يعمل والكود السابق غير صحيح ..

ولكن اردت اخبرك انك تعاملت مع كود كامل خاص بال2003 .. واردت ان انبهك وجب عليك التغيير ..

ولذلك اكيد ان مزود الاتصال لن يعمل بالصورة الصحيحه وعلى ما اعتقد الخطأ الان لديك هو Unrecognized .. يعني قاعدة غير مميزة او نفس الخطأ السابق .. الصراحة لا اتذكر الخطأ ..

على العموم ..

المحهز الصحيح في هذه الحالة هو

myCon = New OleDb.OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0;Data Source=wql.accdb")

هذا نقلته لك نسخ ولصق من برنامج صممته قبل شهرين تقريبا او اكثر .. يحتاج الى اكسسي 2007 .. شاهد ان المجهز رقمه 12.0 ..

ولذلك هذا هو الفرق ..

وبالنسبة لسؤالك عن المجهز او المزود .. هو الوسيط الذي يترجم عملية الاتصال بين قاعدة البيانات وبين البرنامج ..

يعني يقوم كوسيط .. بين موقع ملف القاعده وبين البرنامج .. وهو يتطلب الى الموقع لكي يقوم بالاتصال

ولو انتبهت الى الكود الذي اضفته لك قبل قليل .. كتبته بطريقة اخرى عن طريقتك .. وهذه الطريقة مختصرة اكثر

الفرق هو انني اضفت الاتصال مباشرة مع عنوان الملف ( القاعدة) وانتبه انني لم اقم بتحديد موقع القاعده مجرد وضعت اسمها والبرنامج تلقائيا يحدد الموقع مع ملفات البرنامج ..

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

وانا ضد ( وبقوة) ان تقوم بارجاع الملف ال2003 ..

لو كان هذا الحل .. برأي ارجع اصلا الى VB 6 والقاعدة على 97 .. ما الفرق في هذه الحالة ؟؟

نفس الشئ لا جديد ..

عد الى القاعدة الاصلية وجرب الكود اعلاه .. او على الاقل المزود انسخه وتاكد منه

الان انا الصراحة اتعامل مع 2007 وليس 2010 .. ولذلك 90% انا اعتقد ان المزود متشابه بين الاثنين ولكن انت تأكد من ذلك وقم بالبحث حث اكثر عن هذه النقطة اذا لم تعمل

لانني انصحك باستخدام الحديث كاملا ..

تحياتي العطرة ..

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#10

اشكرك جدا جدا اخي الكريم سنان

واشكر مجهودك

وجاري العمل على الكود الذي ادرجته لي

ولكن اتمنى ان تساعدني في المشكلة الجديدة

الان وكما في الصورة المرفقة

صممت واجهة للبحث في برنامجي

ولكن واجهتني مشكلة واحدة وهي عندما اريد ان اعيد محاولة البحث فقد وضعت الزر (اعادة بحث ) ليعمل reset للحقول حتى اتمكن من البحث مرة ثانية عن اسم مختلف مثلا

المشكلة الان

هي لو اني كتبت جملة وبحثت عنها وطلعت لي نتائج في datagrid اللذي اريده عندما اضغط على زر (اعادة البحث ) ان يمسح القيم الموجودة في datagrid ويرجعها فارغة مثل الاول ؟؟؟

هل قصدي واضح ؟؟

علما اني استخدمت الكود التالي في زر (بحث) لكي يقوم بنقل النتائج لل datagrid

DataGridView1.DataSource = DataSet1
DataGridView1.DataMember = "Table1"

فكيف اقوم بوضع كود في زر ( اعادة البحث ) ليقوم بمسح محتويات datagrid

وشكري لكم جيمعا

post-175572-037765400 1293530737_thumb.j

المرفقات
Untitled-2.jpg

تم تعديل هذه المشاركة بواسطة نبولي في 28 ديسمبر 2010 في 13:06

#11

اخي العزيز حسبما فهمت ان الكود الخاص بالبحث شغال طبيعي ..

اذا كان كذلك .. طريقة الحل بسيطه ان شاءلله ..

وهي جميلة بنفس الوقت واتبعها في برامجي ..

اكتب كود البحث الذي تستعمله في الحدث

TextBox1_TextChange

الخاص بتغير النص داخل صندوق النص الذي ستكتب به النص المراد البحث عنه ..

ومعها شرط بسيط ..

If TextBox1.Text <> "" Then 

كود البحث كاملا .. 


Else 

الكود الذي عن طريقه قمت بادراج البيانات داخل الDataGridView ..

فهمتني ؟؟

اذا قمت بالطريقة صحيح .. ستقوم بالبحث انيا .. كل حرف تكتبه يبحث عنه وكل تغير في الكلمة يبحث عنها تماما كما يحدث في البحث الخاص بالوندوز .. وعندما تقوم بمسح الكلمة وتفريغ صندوق النص يرجع الوضع الى حاله .. اي ان البيانات تعود كاملة ..

ارجو ان يكون هذا طلبك ..

تحياتي العطرة ...

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#12

اهلا اخي الكريم

هذا الكود اللذي استعمله في زر ( بحث )

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Static m As Integer = 0
        If TextBox1.Text = Trim("") Then Exit Sub
        If RadioButton6.Checked = True Then
            ExactSearch()
        ElseIf RadioButton7.Checked = True Then
            GeneralSearch()
        End If
        Conn.Open()
        Dim DataAdapter1 As New OleDbDataAdapter(SQLstr, Conn)
        DataAdapter1.Fill(DataSet1, "Table1")
        Conn.Close()
        TextBox6.DataBindings.Add("Text", DataSet1, "Table1.mobile")
        TextBox2.DataBindings.Add("Text", DataSet1, "Table1.sname")
        TextBox3.DataBindings.Add("Text", DataSet1, "Table1.city")
        TextBox4.DataBindings.Add("Text", DataSet1, "Table1.collage")
        TextBox5.DataBindings.Add("Text", DataSet1, "Table1.class")
        DataGridView1.DataSource = DataSet1
        DataGridView1.DataMember = "Table1"
        Button1.Enabled = False
        If Me.BindingContext(DataSet1, "Table1").Count = 0 Then
            MsgBox("No Result, Please Try Again ")
            Exit Sub
        End If
        Button2.Enabled = True
        Button3.Enabled = True

وايضا هذه الطريقتين الخاصتين بالبحث ( مطابق و عام )

 Public Sub ExactSearch()
        If RadioButton1.Checked = True Then
            SQLstr = "SELECT * FROM Table1 WHERE mobile = '" & TextBox1.Text & "'"
        ElseIf RadioButton2.Checked = True Then
            SQLstr = "SELECT * FROM Table1 WHERE sname = '" & TextBox1.Text & "'"
        ElseIf RadioButton3.Checked = True Then
            SQLstr = "SELECT * FROM Table1 WHERE city = '" & TextBox1.Text & "'"
        ElseIf RadioButton4.Checked = True Then
            SQLstr = "SELECT * FROM Table1 WHERE collage = '" & TextBox1.Text & "'"
        ElseIf RadioButton5.Checked = True Then
            SQLstr = "SELECT * FROM Table1 WHERE class = '" & TextBox1.Text & "'"
        End If
    End Sub
    Public Sub GeneralSearch()
        If RadioButton1.Checked = True Then
            SQLstr = "SELECT * FROM Table1 WHERE mobile LIKE '%" & TextBox1.Text & "%'"
        ElseIf RadioButton2.Checked = True Then
            SQLstr = "SELECT * FROM Table1 WHERE sname LIKE '%" & TextBox1.Text & "%'"
        ElseIf RadioButton3.Checked = True Then
            SQLstr = "SELECT * FROM Table1 WHERE city LIKE '%" & TextBox1.Text & "%'"
        ElseIf RadioButton4.Checked = True Then
            SQLstr = "SELECT * FROM Table1 WHERE collage LIKE '%" & TextBox1.Text & "%'"
        ElseIf RadioButton5.Checked = True Then
            SQLstr = "SELECT * FROM Table1 WHERE class LIKE '%" & TextBox1.Text & "%'"
        End If
    End Sub

وهذا الكود للذي استخدمته في زر ( اعادة البحث) واعتقد اني احتاج تعديل بسيط هنا لكي يقوم بمسح محتويات datagrid كما وضحت لحضرتكم في ردي السابق

 Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
        Button1.Enabled = True
        RadioButton6.Checked = False
        RadioButton7.Checked = False
        TextBox1.Text = ""
        TextBox6.DataBindings.Clear()
        TextBox2.DataBindings.Clear()
        TextBox3.DataBindings.Clear()
        TextBox4.DataBindings.Clear()
        TextBox5.DataBindings.Clear()
    End Sub

تحياتي

#13

اخي العزيز ..

الصراحة الكود الذي ارسلته ( سبب الجول للعين )

لما لا ترسل المشروع على الخاص وانا اعالج هذه النقطة ؟؟

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#14

حبيبي الغالي

تم ارسال المشروع لحضرتكم

تحياتي

تم تعديل هذه المشاركة بواسطة نبولي في 28 ديسمبر 2010 في 17:51

#15

قبل ساعة تقريبا ارسلت لك التعديل ..

جرب الطريقة واخبرني رأيك ...

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

مواضيع مشابهة