• 0
snmdody

بيئة عدة مستخدمين

سؤال

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

أسعد الله أوقاتكم بكل خير ..

(( في البداية حاولت جاهداً الحصول على معلومة تفيدني عن طريق البحث في المنتدى ولكن كل محاولاتي بآت بالفشل وذلك بسبب ظهور رسالة خطأ مراراً وتكراراً عند

محاولتي البحث))

أتمنى أن أجد حلاً جذرياً لمشكلتي والمتمثلة في ظهور رسائل خطأ عند محاولة أكثر من مستخدم من تسجيل بيانات في نفس الوقت بالظبط ، مثلاً المستخدم رقم 1 يقوم بتسجل اسم طالب رقم 1 ، والمستخدم الثاني يقوم بتسجيل اسم طالب رقم 2 (في نفس الوقت تماماً) .. فتظهر رسالة خطأ بتكرار رقم السجل ، ورقم السجل حقل مفتاح رئيسي .

 

ودائماً أستخدم الكود الموضح أدناه لإجراء عملية ترقيم الحقل في السجل (فمثلاً إسم الحقل StudentID فإذا لم يجد أي سجل في الجدول فيبدأ الترقيم من الرقم 1 ، وإذا وجد أن هناك عدة سجلات فيأخذ آخر رقم ولنقل مثلاً رقم 50 فيضيف عليه 1 فيصبح رقم السجل 51 ... وهكذا )

Public Function GEtNewNumber(FieldName As String, TableName As String) As StringOn Error GoTo NewEntrySet sRs = New ADODB.RecordsetSql = " SELECT MAX(" & FieldName & ") FROM " & TableNamesRs.Open Sql, CN, adOpenStatic, adLockOptimisticGEtNewNumber = Val(sRs.Fields(0)) + 1GoTo EndGetEntryNewEntry:GEtNewNumber = 1Resume EndGetEntryEndGetEntry:sRs.Close: Set sRs = NothingEnd Function

والمطلوب كالتالي :

أن لا تظهر رسالة خطأ تكرار رقم الطالب في حالة تسجيل أكثر من مستخدم لعدة طلاب في نفس الوقت ، وللتوضيح أكثر فمثلاً عند إكتشاف أن رقم الطالب (20) مكرر فيقوم بالتسجيل للمستخدم الاول بهذا الرقم (20) والمستخدم الاخر بالرقم (21)

 

آمل أن اكون قد اوضحت المشكلة وبإنتظار مساعدتكم بارك الله فيكم ،،

تم تعديل بواسطه snmdody
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

1 إجابات على هذا السؤال .

  • 0

واقوم بإستدعاء الدالة GEtNewNumber في النماذج بالطريقة أدناه عند إجراء عملية الحفظ : (وللعلم هذه الدالة من عمل أحد الاخوة جزاه الله الف خير ولا أذكر إسمه حيث إقتبستها من إحدى المنتديات)

!StudentID = GEtNewNumber("StudentID", "TblStudents")
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .