أرفقت لكم مشروعًا بسيطا ، أساسا أنا نزلته من هذا المنتدى الرائع . والهدف منه هو تعلم برمجة قواعد البيانات .
وأنا حقيقة حاولت جاهدًا بكل الطرق أن أعدل في البرنامج ليتلاءم مع مطالبي ، ولكني لم أتمكن من تعديل بعض الأشياء .
والمشاكل التي لم أتمكن من حلها هي :
1- حذف سجل بواسطة جملة استعلام Select 2- تعديل سجل بواسطة جملة استعلام Select 3- البحث عن سجل بواسطة جملة استعلام Select 4- عرض البيانات على أداة MSFlexGrid1
(الأزرار الحمراء في البرنامج هي التي لا تعمل ! )
فقط هذا كل شيء ، أرجو من حضراتكم التكرم بالمساعدة في عمل الأكواد التي يمكنها عمل ذلك وأكون لكم شاكرا على ما ساعدتموني به .
25-12-21, 09:25 PM (آخر تعديل لهذه المشاركة : 25-12-21, 09:26 PM {2} بواسطة سعود.)
و عليكم السلام ورحمة الله و بركاته
بصراحة التعامل مع قواعد البيانات في الاصدار السادس صعب للغاية ولم انجح باي تخمين اخمنه بعكس الدوت نت اغلب الحلول احلها بالتخمين[أحيانا].
بالنسبة للخطأ جرب تغير اسم عمود no الى اي اسم مثلا tno
26-12-21, 11:17 AM (آخر تعديل لهذه المشاركة : 26-12-21, 11:23 AM {2} بواسطة أبو خالد الشكري.)
(25-12-21, 09:25 PM)سعود كتب : و عليكم السلام ورحمة الله و بركاته
بصراحة التعامل مع قواعد البيانات في الاصدار السادس صعب للغاية ولم انجح باي تخمين اخمنه بعكس الدوت نت اغلب الحلول احلها بالتخمين[أحيانا].
بالنسبة للخطأ جرب تغير اسم عمود no الى اي اسم مثلا tno
شكرا جزيلا أستاذ سعود على ردك الجميل وأشكرك على تنبيهك حول الكلمة المحجوزة no
(26-12-21, 02:49 AM)ahmedabdelaliem كتب : السلام عليكم
اخي انتبه كلمت no يحتجزها فيجوال بيسك ابتعد عنها
كما تفضل اخي سعود تم تغيير اسم الحقل وعمل تعديلات مهمه والان يعمل
بالتوفيق
جزاك الله خيرا أستاذ ahmedabdelaliem
البرنامج الآن شغال 100% كما أنا كنت أريد بالضبط . ولكن تبقت هناك بعض الأمور ما زلت لم أتمكن من حلها وسأعود إليكم في حالة تعثري في التوصل إلى الحل .
وسيكون هذا البرنامج الصغير مرجعا لجميع الأعضاء لمن أراد برمجة قواعد البيانات بلغة VB6
في الوقت القادم أستاذ ahmedabdelaliem سوف أقول لك الإشكاليات التي لم أتمكن من حلها .
بارك الله فيكم جميعا ما قصرتم ، ودمتم لنا عونا وذخرا مدى الزمان .
27-12-21, 04:37 AM (آخر تعديل لهذه المشاركة : 27-12-21, 04:48 AM {2} بواسطة سعود.)
شوف التعديل في الموديول
PHP كود :
Public db As New ADODB.Connection Public rs As New ADODB.Recordset Public Sub Con_Data() rs.CursorLocation = adUseClient On Error Resume Next db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=; Data Source=" & App.Path & "\stu.mdb" End Sub
جزئيتان مهمتان هما:
استخدام كلمة set لضبط مصدر بيانات الـ DataGrid1
الاخرى ضبط المؤشر قبل فتح او تعبئة مصدر البيانات rs.CursorLocation = adUseClient
مع تعديل بسيط بعد الاضافة المميزة التي قدمها الأخ - سعود
أظن بأن المشروع يصبح أفضل قليلاً، التعديلات هي:
1 - تعديل حقل رقم الهاتف ضمن قاعدة البيانات لحقل نصي (لأن الحقل الرقمي لن يخزن الاصفار والزائد على يسار رقم الهاتف).
2 - اضافة خاصية البحث بحسب الاسم، رقم الهاتف ... إلخ.
3 - تفعيل تحريك المؤشر على الـ DataGrid1 لـ يغير البيانات ضمن مربعات البيانات.
4 - حذف كلمة (DoEvents) لأن إن لم تكن ضمن حلقة تكرارية فلا فائدة منها..
5 - تعديلات على أمر الحذف.
6 - تعديلات على أمر التحديث.
7 - تعديلات على أمر الحفظ.
27-12-21, 12:49 PM (آخر تعديل لهذه المشاركة : 27-12-21, 01:00 PM {2} بواسطة أبو خالد الشكري.)
(27-12-21, 04:37 AM)سعود كتب :
شوف التعديل في الموديول
PHP كود :
Public db As New ADODB.Connection Public rs As New ADODB.Recordset Public Sub Con_Data() rs.CursorLocation = adUseClient On Error Resume Next db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=; Data Source=" & App.Path & "\stu.mdb" End Sub
جزئيتان مهمتان هما:
استخدام كلمة set لضبط مصدر بيانات الـ DataGrid1
الاخرى ضبط المؤشر قبل فتح او تعبئة مصدر البيانات rs.CursorLocation = adUseClient
PHP كود :
Set DataGrid1.DataSource = rs
أشكرك جزيلا أستاذ سعود على الإضافة الرائعة التي جعلت أداة DataGrid تعمل بصراحة ما قصرت ، هكذا أصبح البرنامج مكتملا لمن أراد معرفة كيفية التعامل مع قواعد بيانات VB6 أرجو لك التوفيق ، وأن تزداد معرفة أكثر وأكثر في عالم البرمجة ؛ كي نستفيد من علمك . تحياتي الخالصة لك .
(27-12-21, 07:08 AM)Taha Okla كتب : السلام عليكم ورحمة الله وبركاته
مع تعديل بسيط بعد الاضافة المميزة التي قدمها الأخ - سعود
أظن بأن المشروع يصبح أفضل قليلاً، التعديلات هي:
1 - تعديل حقل رقم الهاتف ضمن قاعدة البيانات لحقل نصي (لأن الحقل الرقمي لن يخزن الاصفار والزائد على يسار رقم الهاتف).
2 - اضافة خاصية البحث بحسب الاسم، رقم الهاتف ... إلخ.
3 - تفعيل تحريك المؤشر على الـ DataGrid1 لـ يغير البيانات ضمن مربعات البيانات.
4 - حذف كلمة (DoEvents) لأن إن لم تكن ضمن حلقة تكرارية فلا فائدة منها..
5 - تعديلات على أمر الحذف.
6 - تعديلات على أمر التحديث.
7 - تعديلات على أمر الحفظ.
وعليكم السلام ورحمة الله وبركاته
مرحبا بك أستاذ Taha Okla
حقيقة اللسان عاجز عن شكرك ؛ فأنت قدمت الكثير ؛ ليخرج البرنامج التعليمي إلى الشكل النهائي الرائع . وإن إضافاتك الرائعة ، وكذلك التعديلات الجميلة التي أجريتها حضرتك في الجمل البرمجية جعلت البرنامج يعمل بكفاءة أكثر وأفضل مما كانت عليه . أشكرك جدًا جدًا بحجم السماء على كل ما ساهمت به في البرنامج .
وأنا أيضا فقط أضفت ListBox وكذلك ComboBox لأنه قد يحتاجها بعض الأعضاء في مشاريعهم ولا يعرفون كيفية برمجتها !
الآن البرنامج انتهى واكتمل جميع أركانه ، والحمد لله في البداية والختام .
وستجمعنا مشاركات أخرى قادمة إن شاء الله ..
وعلى خير نلتقي إن شاء الله ،،، ومع السلامــــة
* أرفقت البرنامج بشكله النهائي بعد إضافتي للأداتين المذكورتين أعلاه !
لماذا قمت بحذف أمر البحث الثاني ؟؟
الامرين مختلفين عن بعضهما البعض فليسا كود واحد ...
في هذا الكود جعلت البحث عن مشابه وليس مساوي
بالتالي هو يعطي أكثر من نتيجة
مثلاً اسم (صالح، فاضل)
لا تكتب ( صالح) فقط حرف(ا) أو حرفين منه
فسيقوم البرنامج بعرض كل اسم يحتوي على هذه الاحرف التي بحثت عنها
وسينتقل المؤشر مع كل ضغطة زر للبحث عن نتيجة أخرى..
إذا كانت النتائج معروضة ضمن الجدول سترى تحرك المؤشر عليها بشكل أوضح ..
فأحد امري البحث من أعلى للاسفل - والثاني من الاسفل للأعلى.
هذه أمر خاص بـ ADO وليست أوامر SQL
--
ويوجد بحث آخر يتعلق بأوامر الـ SQL هو أفضل
ولكنه لا يناسب برنامجك هذا ..
(27-12-21, 02:57 PM)Taha Okla كتب : السلام عليكم ورحمة الله وبركاته
لماذا قمت بحذف أمر البحث الثاني ؟؟
الامرين مختلفين عن بعضهما البعض فليسا كود واحد ...
في هذا الكود جعلت البحث عن مشابه وليس مساوي
بالتالي هو يعطي أكثر من نتيجة
مثلاً اسم (صالح، فاضل)
لا تكتب ( صالح) فقط حرف(ا) أو حرفين منه
فسيقوم البرنامج بعرض كل اسم يحتوي على هذه الاحرف التي بحثت عنها
وسينتقل المؤشر مع كل ضغطة زر للبحث عن نتيجة أخرى..
إذا كانت النتائج معروضة ضمن الجدول سترى تحرك المؤشر عليها بشكل أوضح ..
فأحد امري البحث من أعلى للاسفل - والثاني من الاسفل للأعلى.
هذه أمر خاص بـ ADO وليست أوامر SQL
--
ويوجد بحث آخر يتعلق بأوامر الـ SQL هو أفضل
ولكنه لا يناسب برنامجك هذا ..
أعتذر منك أستاذي كنت فاكرهم نفس الشيء لكن خلاص رجعنهم مثل ما حضرتك عملتهم