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

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

اخواني الافضال انا الان لدي تيكست بوكس اريد عمل Auto Complete له مع قاعده بيانات اكسس

ياريت لو تدلوني على الطريقه

مع العلم إن اسم الجدول t_factor  و اسم الحقل الى اريد الاكمال منه factor_name

بالله عليكم تساعدوني لاني محتاج الحل

وشكرا لكم
السلام عليكم و رحمة الله و بركاته
إليك الكود
كود :
        TextBox1.AutoCompleteMode = AutoCompleteMode.Append
        TextBox1.AutoCompleteSource = AutoCompleteSource.CustomSource
        For Each r as datarow In t_factor.Rows
            TextBox1.AutoCompleteCustomSource.Add(r("factor_name"))
        Next

تكتب هذا الكود في حدث loadForm أو في حدث GotFocus لصندوق النص
بالتوفيق إن شاء الله تعالى
السلام عليكم و رحمة الله و بركاته
(26-09-13, 11:00 PM)-تركي قرمزلي كتب : [ -> ]السلام عليكم و رحمة الله و بركاته
إليك الكود
كود :
        TextBox1.AutoCompleteMode = AutoCompleteMode.Append
        TextBox1.AutoCompleteSource = AutoCompleteSource.CustomSource
        For Each r as datarow In t_factor.Rows
            TextBox1.AutoCompleteCustomSource.Add(r("factor_name"))
        Next

تكتب هذا الكود في حدث loadForm أو في حدث GotFocus لصندوق النص
بالتوفيق إن شاء الله تعالى
السلام عليكم و رحمة الله و بركاته



جزاك الله خيرا اخي الفاضل على المساعده بارك الله فك

ولكن انا اسف اعزرني فانا لازلت مبتدئ حتى الان 

انا وضعت الكود الكامل بهذا الشكل


كود :
  Dim saveinto2 As New OleDb.OleDbCommand
        Dim constr2 As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & Application.StartupPath & "\db.mdb"
        Dim conn2 As New OleDb.OleDbConnection(constr2)
        Dim DataSet12 As New DataSet
        Dim SQLstr2 As String
        SQLstr2 = "SELECT * From t_factor "
        conn2.Open()
        Dim dataadapter12 As New OleDb.OleDbDataAdapter(SQLstr2, conn2)
        
        TextBox1.AutoCompleteMode = AutoCompleteMode.Append
        TextBox1.AutoCompleteSource = AutoCompleteSource.CustomSource
        For Each r As DataRow In t_factor.Rows
            TextBox1.AutoCompleteCustomSource.Add(r("factor_name"))
        Next


ولكن لم يعمل وظهر لي هذا الخطأ

 
كود :
't_factor' is not declared. It may be inaccessible due to its protection level. 



ياريت بالله عليك ،، فضلاً لا أمراً تساعدني فى الكود كله لإظهار النتيجه المطلوبه

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

Dim dataadapter12 As New OleDb.OleDbDataAdapter(SQLstr2, conn2)


أضف السطرين التاليين
كود :
Dim t_Factor as new datatable
dataadapter12.fill(T_Factor)

بالتوفيق إن شاء الله تعالى

السلام عليكم و رحمة الله و بركاته
(27-09-13, 02:24 PM)تركي قرمزلي كتب : [ -> ]السلام عليكم و رحمة الله و بركاته
بعد السطر

Dim dataadapter12 As New OleDb.OleDbDataAdapter(SQLstr2, conn2)


أضف السطرين التاليين
كود :
Dim t_Factor as new datatable
dataadapter12.fill(T_Factor)

بالتوفيق إن شاء الله تعالى

السلام عليكم و رحمة الله و بركاته


بارك الله فيك على المساعده ,,

بعد التجربة 

إختفى الخطأ السابق ,, ولكن عندما قمت بعمل عرض للبرنامج و جيت اجرب النتيجه 

ظهر لي الخطأ التالي


كود :
Conversion from type 'DBNull' to type 'String' is not valid.

فى السطر التالي


كود :
  TextBox1.AutoCompleteCustomSource.Add(r("factor_name"))



مع العلم أن هذا هو الكود الكامل بعد التعديل هو الاتي


   
كود :
    Dim saveinto2 As New OleDb.OleDbCommand
        Dim constr2 As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & Application.StartupPath & "\db.mdb"
        Dim conn2 As New OleDb.OleDbConnection(constr2)
        Dim DataSet12 As New DataSet
        Dim SQLstr2 As String
        SQLstr2 = "SELECT * From t_factor "
        conn2.Open()
        Dim dataadapter12 As New OleDb.OleDbDataAdapter(SQLstr2, conn2)
        Dim t_Factor As New DataTable
        dataadapter12.Fill(t_Factor)


        TextBox1.AutoCompleteMode = AutoCompleteMode.Append
        TextBox1.AutoCompleteSource = AutoCompleteSource.CustomSource
        For Each r As DataRow In t_factor.Rows
            TextBox1.AutoCompleteCustomSource.Add(r("factor_name"))
        Next



انا اسف و الله ،، انا عارف إني غلبتك وتعبتك معي انا بجد اسف Sad
المشكلة هي وجود حقول فارغة بالعمود factor_name .. جرب استبدال السطر الذي فيه الخطأ بالسطر التالي:

كود :
If Not IsDBNull(r("factor_name")) Then TextBox1.AutoCompleteCustomSource.Add(r("factor_name"))

اعتذر لأني لم اجرب الكود ,, ولكن اظن ان هذا الكود يحل المشكلة Smile

تحياتي
(27-09-13, 07:47 PM)Abdullah0991 كتب : [ -> ]المشكلة هي وجود حقول فارغة بالعمود factor_name .. جرب استبدال السطر الذي فيه الخطأ بالسطر التالي:

كود :
If Not IsDBNull(r("factor_name")) Then TextBox1.AutoCompleteCustomSource.Add(r("factor_name"))

اعتذر لأني لم اجرب الكود ,, ولكن اظن ان هذا الكود يحل المشكلة Smile

تحياتي
جزاك الله خيرا على المساعده ،، بارك الله فيك 

فعلاً المشكة إتحلت بفضل الله ثم بفضلك

ولكن إستفسار بسيط ( غير مهم )

عند تجربة الكود ظهر تمام ولكن النص يتجه لليسار !

كما بالصوره

[attachment=193]

هل توجد طريقة لجعله يذهب لليمين ؟ حتى يكون افضل شكلاً ؟
تأكد ان textbox خاصيته مضبوطة بهذا الشكل: TextAlign=Left و RightToLeft=True


مع اني اتوقع ان مشكلتك تتعلق بلغة النظام فقد يكون السبب ان لغة النظام لديك اجنبية
(28-09-13, 04:18 PM)Abdullah0991 كتب : [ -> ]تأكد ان textbox خاصيته مضبوطة بهذا الشكل: TextAlign=Left و RightToLeft=True


مع اني اتوقع ان مشكلتك تتعلق بلغة النظام فقد يكون السبب ان لغة النظام لديك اجنبية

بارك الله فيك اخي الفاضل على اهتمامك لطلبي 

تم التأكد من الإعدادات ولم تحل

ولكن يبدو انها فعلاً من النظام نفسه

عموماً ،، لا تتعب نفسك الموضوع مش مهم اوي بالنسبالي حاليا

يكفي إنك حليت لي المشكلة الكبرى Smile

ربنا يجزيك كل خير يارب