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

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

بدأه gemm في 24 أكتوبر 2009 · 11 رد · 1,379 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

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

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

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

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

تم تعديل هذه المشاركة بواسطة gemm في 24 أكتوبر 2009 في 12:11

#2

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

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

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

نقول الى الغاليه

أم عهود زهرة الأكسيس بدون منافس

للنجاحات أناس يقدرون معناها ، وللإبداع أناس يحصدونه

لذا نقدّر جهودك وابداعك، فأنتِ أهل للشكر والتقدير ..

فلكِ منا كل الثناء والتقدير

#3
  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 في 24 أكتوبر 2009 في 15:11

#5

أخى Mr No

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

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

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

تحياتى

محمد ندا

... بقمة السعادة .. أعود بإذن الله لصحبتكم الرائعة قريباً ...

#6

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

  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 في 25 أكتوبر 2009 في 01:47

#7

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

#8

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

جرب المرفق

الاخ hellaly

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

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

range

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

MrNo_missing.rar

تم تعديل هذه المشاركة بواسطة mrnooo2000 في 25 أكتوبر 2009 في 11:59

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#9

اسف اخوانى

لقد اجريت التجربة على 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

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#10

أخى Mr No

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

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

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

تحياتى

محمد ندا

تم تعديل هذه المشاركة بواسطة Mohamed Nada في 26 أكتوبر 2009 في 03:18

... بقمة السعادة .. أعود بإذن الله لصحبتكم الرائعة قريباً ...

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

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

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

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

combobox

listbox

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

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

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

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

MrNo_findmissed.rar

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

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

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

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

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

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