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

اول سؤال لي في المنتدى وارجو ان ينال الاهتمام بليززززززز

بدأه ابو حسن2 في 4 يونيو 2010 · 3 رد · 877 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

مدراء ومشرفو واعضاء المنتدى أسال الله العلي القدير أن تكونو في اتم الصحة والعافية

اخواني عندي مشكله في كود البحث وارغب منكم في مساعدتي :

1 - تم عمل قاعدة بيانات

2 - وتم الاتصال بقاعدة البيانات بواسطة ال ado

3 - تم عمل ثلاث ليبل وثلاث تكستات كلاتي :

رقم الموظف (Tx_no.text)

اسم الموظف (Tx_name.text)

مسمى الوظيفه (Tx_jobname.text)

4 - عملت كومند وتكست لادخال الرقم للبحث اسم التكست (text4.text

5 - ملاحظه تم كتابة الكود التالي ولكن لايعمل : الكود بالمرفقات

اتأسف لإطالتي عليكم وارجو منكم مساعدتي

وتقبلو خالص تحياتي وتقديري

كود للبحث.txt

#2

لو ترفق ملف الفجول ليكون التعديل علبه افضل

#3

rs.open"select * from emp order by Emp_no",db,adOpenKeyset, adLockReadOnly

#4

السلام عليكم...

الكود المرفق به العديد من الأخطاء:

1. لا يصح البحث في قواعد البيانات باستعمال الحلقات. إذا كان لديك عدد كبير من السجلات فإن استعمال الحلقات سيؤدي إلى بطء شديد و استهلاك للوقت مع توقف البرنامج عن الاستجابة.

2. جملة Do While لا تحتاج إلى Then معها.

3. الشرط المستعمل مع عبارة Do While خاطئ. يجب استعمال Not مع الشرط.

4. حتى إذا تم تصحيح كل ما سبق فإن الحلقة تحتوي على خطأ قاتل إذ أنها حلقة لا نهائية (Infinite Loop) بسبب وجود عبارة rs.MoveFirst حيث في هذه الحالة سيبقى البرنامج دائماً في أول سجل إلى ما لانهاية.

جرب الكود التالي:

Private Sub Command1_Click()
    If Not IsNumeric(Text4.Text) Then
        MsgBox "أدخل رقم الموظف", vbOK, "تنبيه"
        Text4.SetFocus
    Else
        Connect
        rs.Open "SELECT * FROM emp WHERE Emp_no = " & Text4.Text, db, adOpenStstic, adLockPessimistic
        If rs.Bof And rs.EOF Then
            MsgBox "لا يوجد موظف بهذا الرقم", vbOK, "بحث"
            Text4.SetFocus
        Else
            Tx_no.Text = rs("Emp_no")
            Tx_name.Text = rs("Emp_name")
            Tx_jobname.Text = rs("Emp_jobname")
        End If
    End If
End Sub

لاحظ أن جملة SELECT تعمل على جلب السجل المطلوب فقط.

لاحظ كذلك أن عبارة If rs.Bof And rs.EOF تتأكد مما إذا كانت مجموعة السجلات فارغة.

نرجو الاستفادة و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…