شرح كيفية عمل تكلمة تلقائية للنص فى textbox بأستخدام قاعدة بيانات ...
صفحة 1 من اصل 1 • شاطر
شرح كيفية عمل تكلمة تلقائية للنص فى textbox بأستخدام قاعدة بيانات ...
بسم الله الرحمن الرحيم
أخوانى أعضاء و زوار منتدى مصر التقنى ...أهلا وسهلا بكم فى هذا الدرس البيسط و الذى من خلاله سنستطيع عمل تكملة تلقائية للنص فى مربع النص textbox فى حالة وجود قاعدة بيانات ....وقبل البدء فى الشرح دعونى أشكر الزميل طالب العلم الذى كان له الفضل الاول بعد المولى عز وجل فى فى كيفية عمل ذلك ....فهو منذ يومين طرح سؤال بهذا الخصوص لكن لم يجبه أحد فعندما توصل للحل من أحد المواقع الاجنبية بعتلى هذا الكود ....لذلك لن أنسى له هذا الجميل و أشكره من أعماق قلبى .....والان هيا بنا نبدأ :
الخطوة الاولى : نقوم بفتح مشروع قياسى ....ثم نقوم بوضع عدد واحد مربع نص على الفورم بالشكل التالى :
الخطوة الثانية ....نقوم بإدراج موديل كما فى الصورة التالية :
الخطوة الثالثة ....نقوم بكتابة الاكواد التالية فى الموديل :
تلاحظ أخى الكريم أننا أستخدما الامر Public وليس عن طريق الامر dim كمعتاد وذلك كون نص الاتصال بقاعدة البيانات تم وضعة فى موديل حتى نستطيع أستخدامه على مستوى البرنامج ككل ....ثم بعد ذلك وضعنا المتغير conn لتحمل قاعدة البيانات و المتغير rs لتحمل جدول قاعدة البيانات ...ثم بعد ذلك قمنا بتعريف المتغير bExit على أنه من النوع المنطقى Boolean و سيتم توضحيح أستخدامة فيما بعد
شرح الكود :
السطر الاول ...قمنا بأنشاء الاجراء Egy بأستخادم الامر Public Sub ...ثم فتحنا قوسين () ووضعنا فيه بعض المتغيرات التى سوف نستخدمها فى هذا الاجراء ..
السطر الثانى ...أستخدمنا الجملة On Error Resume Next لتلافى أى أخطاء قد تحدث أثناء التشغيل .
السطر الثالث ...قمنا بتعريف متغيرين الاول lLen من نوع Long وذلك للاحتفاظ بعدد حروف النص الموجود ...أما الثانى strSQL من نوع String وذلك لحفظ نتائج البحث فيه .
السطر الرابع ...أستخدمنا جملة الشرط if للخروج من الاجراء فى حالة عدم وجود أى بيانات فى مربع النص .
السطر الخامس ...جعلنا المتغير lLen يقوم بحساب طول النص الموجود فى مربع النص و ذلك عن طريق الدالة Len
السطر السادس ...جعلنا المتغير يحمل نص الاتصال بقاعدة البيانات ...مع وضع مزود الاتصال الخاص بقواعد البيانات أكسس و مسار قاعدة البيانات ...
السطر السابع ...أستخدمنا جملة شرط ..أذا كانت قاعدة البيانات مفتوحة عنئذ قم بأستخدم المتغير strSQL فى فتحها
السطر الثامن ....جعلنا المتغير strSQL يساوى جملة أستعلام بمقتضاها يتم البحث فى جدول قاعدة البيانات و أستخلاص النتائج التى تساوى ما هو مكتوب فى مربع النص
السطر التاسع ....جملة شرط لغلق الجدول فى حالة كونه مفتوح
السطر العاشر ...أستخدمنا جملة شرط حيث اذا كان المؤشر فى أول سجل و أخر سجل يتم الخروج من الاجراء
الخطوة الثالثة و الاخيرة ...كتابة الاكواد الخاصة بالفورم
سنقوم بوضع الكود التالى فى حدث Change لمربع النص :
قمنا بالاتصال بالاجراء Egy ثم وضعنا أسم مربع النص الذى سكتب فى الكملة وتم أكمالها تلقائيا وفى مثالثا هذا text1 ثم بعد ذلك وضعنا باراميتر للحصول على بيانات قاعدة البيانات ..حيث Country هو أسم الجدول المراد التكملة منه ...أما Name هو أسم الحقل المراد ايضا البحث فية .....و اليكم المشرع فى المرفقات
و النتجية كما فى الصورة التالية :
أخوانى أعضاء و زوار منتدى مصر التقنى ...أهلا وسهلا بكم فى هذا الدرس البيسط و الذى من خلاله سنستطيع عمل تكملة تلقائية للنص فى مربع النص textbox فى حالة وجود قاعدة بيانات ....وقبل البدء فى الشرح دعونى أشكر الزميل طالب العلم الذى كان له الفضل الاول بعد المولى عز وجل فى فى كيفية عمل ذلك ....فهو منذ يومين طرح سؤال بهذا الخصوص لكن لم يجبه أحد فعندما توصل للحل من أحد المواقع الاجنبية بعتلى هذا الكود ....لذلك لن أنسى له هذا الجميل و أشكره من أعماق قلبى .....والان هيا بنا نبدأ :
الخطوة الاولى : نقوم بفتح مشروع قياسى ....ثم نقوم بوضع عدد واحد مربع نص على الفورم بالشكل التالى :
الخطوة الثانية ....نقوم بإدراج موديل كما فى الصورة التالية :
الخطوة الثالثة ....نقوم بكتابة الاكواد التالية فى الموديل :
- الكود الخاص بتعريف المتغيرات الخاصة بالاتصال بقاعدة البيانات وفت جدولها
- الكود:
Option Explicit
Public conn As New ADODB.Connection
Public rs As New Recordset
Dim bExit As Boolean
تلاحظ أخى الكريم أننا أستخدما الامر Public وليس عن طريق الامر dim كمعتاد وذلك كون نص الاتصال بقاعدة البيانات تم وضعة فى موديل حتى نستطيع أستخدامه على مستوى البرنامج ككل ....ثم بعد ذلك وضعنا المتغير conn لتحمل قاعدة البيانات و المتغير rs لتحمل جدول قاعدة البيانات ...ثم بعد ذلك قمنا بتعريف المتغير bExit على أنه من النوع المنطقى Boolean و سيتم توضحيح أستخدامة فيما بعد
- سنقوم بعمل أجراء وليكن أسمة (Egy )_و أعذرونى لتكرار كلمة Egy فى درس أقوم بوضعة لانها أختصار Egypit مصر لانها تجرى فى عروقى ذلك يمكن تغير أنت اسم الاجراء كما تحب ...واليكم كود انشاء هذا الاجراء
- الكود:
Public Sub Egy(sTextBox As TextBox, sTable As String, sField As String, Optional sDBPass As String)
On Error Resume Next
Dim lLen As Long, strSQL As String
If bExit = True Or sTextBox = "" Then Exit Sub
lLen = Len(sTextBox)
strSQL = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Data.mdb;Persist Security Info=False"
If conn.State <> 1 Then conn.Open strSQL
strSQL = "SELECT * FROM " & sTable & " WHERE " & sField & " LIKE '" & sTextBox & "%'"
If rs.State = 1 Then rs.Close
rs.Open strSQL, conn, adOpenKeyset, adLockReadOnly
If rs.EOF And rs.BOF Then Exit Sub
sTextBox.Text = rs(sField)
If sTextBox.SelText = "" Then
sTextBox.SelStart = lLen
Else
sTextBox.SelStart = InStr(sTextBox.Text, sTextBox.SelText)
End If
sTextBox.SelLength = Len(sTextBox.Text)
End Sub
شرح الكود :
السطر الاول ...قمنا بأنشاء الاجراء Egy بأستخادم الامر Public Sub ...ثم فتحنا قوسين () ووضعنا فيه بعض المتغيرات التى سوف نستخدمها فى هذا الاجراء ..
السطر الثانى ...أستخدمنا الجملة On Error Resume Next لتلافى أى أخطاء قد تحدث أثناء التشغيل .
السطر الثالث ...قمنا بتعريف متغيرين الاول lLen من نوع Long وذلك للاحتفاظ بعدد حروف النص الموجود ...أما الثانى strSQL من نوع String وذلك لحفظ نتائج البحث فيه .
السطر الرابع ...أستخدمنا جملة الشرط if للخروج من الاجراء فى حالة عدم وجود أى بيانات فى مربع النص .
السطر الخامس ...جعلنا المتغير lLen يقوم بحساب طول النص الموجود فى مربع النص و ذلك عن طريق الدالة Len
السطر السادس ...جعلنا المتغير يحمل نص الاتصال بقاعدة البيانات ...مع وضع مزود الاتصال الخاص بقواعد البيانات أكسس و مسار قاعدة البيانات ...
السطر السابع ...أستخدمنا جملة شرط ..أذا كانت قاعدة البيانات مفتوحة عنئذ قم بأستخدم المتغير strSQL فى فتحها
السطر الثامن ....جعلنا المتغير strSQL يساوى جملة أستعلام بمقتضاها يتم البحث فى جدول قاعدة البيانات و أستخلاص النتائج التى تساوى ما هو مكتوب فى مربع النص
السطر التاسع ....جملة شرط لغلق الجدول فى حالة كونه مفتوح
السطر العاشر ...أستخدمنا جملة شرط حيث اذا كان المؤشر فى أول سجل و أخر سجل يتم الخروج من الاجراء
الخطوة الثالثة و الاخيرة ...كتابة الاكواد الخاصة بالفورم
سنقوم بوضع الكود التالى فى حدث Change لمربع النص :
- الكود:
Egy Text1, "Country", "Name"
قمنا بالاتصال بالاجراء Egy ثم وضعنا أسم مربع النص الذى سكتب فى الكملة وتم أكمالها تلقائيا وفى مثالثا هذا text1 ثم بعد ذلك وضعنا باراميتر للحصول على بيانات قاعدة البيانات ..حيث Country هو أسم الجدول المراد التكملة منه ...أما Name هو أسم الحقل المراد ايضا البحث فية .....و اليكم المشرع فى المرفقات
و النتجية كما فى الصورة التالية :
- المرفقات
عدل سابقا من قبل أحمد مناع في الأربعاء مايو 30, 2012 3:20 pm عدل 1 مرات
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: شرح كيفية عمل تكلمة تلقائية للنص فى textbox بأستخدام قاعدة بيانات ...
مساء الخير اخي الفاضل
كم و كم بحث عن شرح هذا الكود و معرفة طريقة استخدامه و ها انا ذا اجد الحل لدي المنتدى الرائع
و اشكر الزميل أحمد مناع على جهوده المتواصلة في بثر العلل التي نستقيها من المشاكل التي ترودنا في برامجنا
لك مني جزيل الشكر و الامتنان
كم و كم بحث عن شرح هذا الكود و معرفة طريقة استخدامه و ها انا ذا اجد الحل لدي المنتدى الرائع
و اشكر الزميل أحمد مناع على جهوده المتواصلة في بثر العلل التي نستقيها من المشاكل التي ترودنا في برامجنا
لك مني جزيل الشكر و الامتنان
عدل سابقا من قبل طالب العلم في الأربعاء مايو 30, 2012 2:58 pm عدل 3 مرات
khasd- ....
- تاريخ التسجيل : 23/05/2012
المساهمات : 57
النقاط : 102
التقيم : 1
الدولة :
الجنس :
رد: شرح كيفية عمل تكلمة تلقائية للنص فى textbox بأستخدام قاعدة بيانات ...
طالب العلم كتب:مساء الخير اخي الفاضل
كم و كم بحث عن شرح هذا الكود و معرفة طريقة استخدامه و ها انا ذا اجد الحل لدي المنتدى الرائع
و اشكرك الزميل أحمد مناع على جهودي المتواصلة في بثر العلل التي نستقيها من المشاكل التي ترودنا في برامجنا
لك مني جزيل الشكر و الامتنان
والله يا أخى الكريم لو لا أنت ما كنا قد أستطعنا عمل ذلك ....فلك منى جزيل الشكر ومن أعماق قلبى ؟؟؟؟؟؟؟؟؟
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: شرح كيفية عمل تكلمة تلقائية للنص فى textbox بأستخدام قاعدة بيانات ...
جزاك الله كل خير على هذا الشرح
لدي سؤال
جربت هذا الكود لعمل تكملة تلقائية داخل Combobox ولكن لم تظهر اي نتائج
فما هو الكود الذي يمكن ان استخدمه لعمل التكملة داخل Combobox
لدي سؤال
جربت هذا الكود لعمل تكملة تلقائية داخل Combobox ولكن لم تظهر اي نتائج
فما هو الكود الذي يمكن ان استخدمه لعمل التكملة داخل Combobox
goldenman100- عضو شرفى
- تاريخ التسجيل : 09/08/2012
المساهمات : 27
النقاط : 46
التقيم : 1
الدولة :
الجنس :
رد: شرح كيفية عمل تكلمة تلقائية للنص فى textbox بأستخدام قاعدة بيانات ...
جزاكم الله خيرا [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
1zaza- ...
- تاريخ التسجيل : 18/11/2018
المساهمات : 39
النقاط : 66
التقيم : 3
الدولة :
الجنس :
رد: شرح كيفية عمل تكلمة تلقائية للنص فى textbox بأستخدام قاعدة بيانات ...
للرفع
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: شرح كيفية عمل تكلمة تلقائية للنص فى textbox بأستخدام قاعدة بيانات ...
الحمد لله رب العالمين
كنونو- .
- تاريخ التسجيل : 10/05/2016
المساهمات : 3
النقاط : 3
التقيم : 0
الدولة :
الجنس :
| |
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
الثلاثاء مارس 26, 2024 6:26 pm من طرف moslema_r
» شركة تنظيف استراحات بالرياض
الأحد مارس 24, 2024 10:49 pm من طرف moslema_r
» كشف تسربات المياه في جدة
السبت مارس 23, 2024 7:23 pm من طرف gmalnagy
» خدمات كشف تسربات المياه بخصم 25% - اتصل الان
السبت مارس 23, 2024 7:22 pm من طرف gmalnagy
» شركة تنظيف ثريات بالرياض
الخميس مارس 21, 2024 7:23 pm من طرف moslema_r
» كهربائي منازل بالرياض
الأحد مارس 17, 2024 1:52 pm من طرف رانيا حماد
» افضل شركة نقل عفش بالرياض نقل باكستاني 40% خصم | موقع الانوار
الأحد مارس 17, 2024 1:25 pm من طرف رانيا حماد
» افضل معلم جبس بالرياض تركيب جبس بورد بالرياض 20% خصم اتصل الآن
الأحد مارس 17, 2024 1:09 pm من طرف رانيا حماد
» شراء اثاث مستعمل بالكويت بخصم 30%
الأحد مارس 17, 2024 12:54 pm من طرف رانيا حماد
» افضل فني كهربائي منازل بالرياض جودة 100% | اتصل الآن
الأحد مارس 17, 2024 12:36 pm من طرف رانيا حماد