• 0
gemm

البحث في سلسلة رقمية وايجاد الارقام الناقصة

سؤال

الاخوة الاعزاء

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

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

لدي مجموعة من 25 رقم تبدأ برقم أحدده انا وبها عدد من الارقام الناقصة . يرجى توضيح كيف استطيع استخراج الارقام الناقصة من هذه السلسلة

مثلا في استعلام يسألني (ادخل الرقم الاول) اعطيه الرقم فيستخرج لي من جدول مجموعة من الارقام حتى القيمة (الرقم الاول+25)

اريد عند الاستخراج اظهار الارقام اناقصة في هذه السلسلة

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

شارك هذا الرد


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

11 إجابة على هذا السؤال .

  • 0

بسم الله الرحمن الرحيم

اخي السائل والله مافهمت عليك لكن المثال يوضح 70% من الطلب

نرجوا ارفاق المثال

0

شارك هذا الرد


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

انسخ الكود
  1. SELECT T.ID+1 AS Missed
  2. FROM Table1 AS T
  3. LEFT JOIN Table1 AS M ON T.ID+1=M.ID
  4. WHERE (M.ID IS NULL)
  5.  

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

شارك هذا الرد


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

أخى Mr No

الكود الذى أرفقته جيد جداً .. ولكن بالتجربة لا يعمل على السلاسل الطويلة.

فقد قمت بتجربته على جدول عندى به أرقام من 500 إلى 52000 (52 ألف) فأخذ قوت طويل جداً ثم أخرج الرسالة The setting for this property is too long

يرجى التجربة والإفادة

تحياتى

محمد ندا

0

شارك هذا الرد


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

جرب هذا وبرجاء اخبرنى ما مدى سرعته ... !

انسخ الكود
  1. SELECT T.ID+1 AS FromNumber,
  2. (SELECT Top 1 T2.ID-1 AS ToNumber
  3. FROM Table1 AS T2
  4. WHERE ((T2.ID) > (T.ID))
  5. ORDER BY T2.ID) AS ToNumber
  6. FROM Table1 AS T
  7. LEFT JOIN Table1 AS M ON T.ID+1=M.ID
  8. WHERE (M.ID IS NULL) AND ((T.ID+1) <= (SELECT MAX(ID) FROM Table1))
  9. ORDER BY T.ID
  10.  

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

شارك هذا الرد


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

الأخ helaly: أعجبتني العبارة جداً، تدل على تمكن من SQL، ومن الجيد انك انتبهت إلى قصور العبارة الأولى، وقد تمت المعالجة بطريقة ذكية، شكراً لك.

0

شارك هذا الرد


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

شكرا اخ محمد ندا على الملاحظة

جرب المرفق

الاخ hellaly

جرب هذا وبرجاء اخبرنى ما مدى سرعته ... !

الكود جيد و سريع و لكنه لايعطى سلسلة الارقام بل يعطى

range

للارقام المفقودة

MrNo_missing.rar

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

شارك هذا الرد


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

اسف اخوانى

لقد اجريت التجربة على 5500 بدلا من 55000

The setting for this property is too long

المشكلة اخ محمد ندا ان

The limit on characters for the rowsource property is 32,750 characters

لذلك فقد قمت بتعديل الكود بحيث يتم وضع هذه الارقام فى جدول

و جعلت مصدر االقائمة ذلك الجدول

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

MrNo_missing.rar

0

شارك هذا الرد


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

أخى Mr No

هكذا يكون التعديل ... الكود ممتاز ويعمل الآن بشكل رائع

جزاك الله خيراً عليه

أما عن مشكلة طول الوقت فهى ليست معضلة .. إذ أن استخدام هذه الأداة عادة ما يكون مرة واحدة كل فترة .. ولا ضرر من الانتظار قليلاً.

تحياتى

محمد ندا

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

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
الأخ helaly: أعجبتني العبارة جداً، تدل على تمكن من SQL، ومن الجيد انك انتبهت إلى قصور العبارة الأولى، وقد تمت المعالجة بطريقة ذكية، شكراً لك.
شكراًاًاًاًاًاًاًاًاًاًاًاًاًاًاًاًاً جزيلاًاًاًاًاًاًاًاًاًاًاًاًاًاًاًاًاًاًاًاًاًاًاًاًاًاً
0

شارك هذا الرد


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

اخوانى حتى يكتمل هذا الموضوع

اليكم هذا المرفق

حيث تم اضافة الارقام الناقصة الى

combobox

listbox

مع عرض عدد الارقام الناقصة

مع امكانية تحديد البداية

مع امكانية تحديد النهاية

و كذلك عرض الاستعلام الذى نوه عنه الاخ هلالى

MrNo_findmissed.rar

0

شارك هذا الرد


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

من فضلك سجل دخول لتتمكن من التعليق

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



سجل دخولك الان

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

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