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

كود لايجاد الأرقام الناقصة وسط مجموعة أرقام مسلسلة ؟

مغلق
بدأه الاصيل في 17 يونيو 2001 · 13 رد · 1,927 مشاهدة · في مراجعة المواضيع
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اخوانى السلام عليكم ..

عندى مجموعة كبيرة من الأرقام التى تم ادخالها بصورة غير مرتبة و عند ترتيبها أتضح عدم وجود بعض الأرقام مثل تم ادخال الأرقام من 1 إلى 6 ثم تلاها الأرقام 10 حتى 34 ثم 40 إلى كذا .. و هكذا مثلا اى هناك ارقام ناقصة فى وسط هذا التسلسل الرقمى طبعا هذا ليس حقل عداد و لكنة حقل رقمى

فما هو الكود الذى يمكن استخدامة داخل الاستعلام حتى يتم ( استخراج الأرقام الناقصة فقط ) حتى يتم تدارج الأمر و معرفة ماهيتها ؟

شكرا للجميع

خالص تحياتى

أخــBengaــوكم

قال أبن القيم : أكثروا من الخير فينتشر .. و أقلوا من الشر فيندثر ..

#2

شؤالك غير مفهوم

الرجاء توضيح اين تدخل هذه الارقام وكيف يتم ادخالها عن طريق النموذج او كيف

حتى نستطيع الاجابه بشكل واضح

#3

بسم الله

شكرا اخ / ابو محمد على الاهتمام

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

شكرا للك

و للجميع خالص تحياتى

أخــBengaــوكم

قال أبن القيم : أكثروا من الخير فينتشر .. و أقلوا من الشر فيندثر ..

#4

اخي ارجو ارسال نسخه من قاعدة البيانات حتى استطيع الاجابه بشكل واضح

صدقني صعب فهم هذه المسألة لأنها تتعلق بأمور كثيره في قاعدة البيانات

osamah_pc@hotmail.com

#5

هذه محتاجة الى حيلة صغيرة

و هي ان تطلب البيانات مرتبة بطريقة متتالية و تقوم بطرح الرقم الحالي من الرقم السابق و ان كانت النتيجة اكبر من واحد اذا بينهم مجموعة من الارقام الناقصة.

(هذه الطريقة لا يمكن اتباعها في الاستعلامات العادية و فقط في كود ال Visual Basic او في استعلامات Transact SQL)

الحيلة الثانية و الاسهل هي بناء جدول اخر يحتوي على ارقام فقط ، ارقام متسلسلة ، جميع الارقام الممكنة (من واحد الى عشرة الاف مثلا او الى مليون مثلا ، اي مليون سجل)

لا اعتقد بانك ستحصل على اكثر من مليون سجل في الجداول الاخرى ، و من ثم الاعتماد على SQL لبناء جدول ياتي بالارقام الناقصة ، و ذلك باستخدام Query عادي تربط به الجدولين وتطلب من الاول اظهار البيانات التي ليست في الاخر

حيلة جميلة اليست كذلك :)

المشكلة انه سياتي بمليون سجل ناقص السجلات الموجودة ، ولذلك يفضل ان تذهب الى كود ال SQL و تضيف الكود التالي top = 100 و هذا سيجعل النظام ياتي لك باول 100 رقم جديد (ان كانت كل الارقام متتالية) او جديد و ناقص (ان كان هناك ارقام لم تستخدم)

في حال ان اعتمدت على SQL و الجداول لديك مفهرسة بصورة طبيعية فيفترض (يفترض ، يعني متاكد 70 بالمية من الموضوع:)) ان لا تشعر بالعملية ، اي انها لن تستنفذ موارد الجهاز ، ولكن لهذا علاقة طبعا بنسخة ال Access ايضا فكلما كانت احدث كلما عملت اسرع و اقل مشاكل ، ويعتمد ايضا على ال SQL Server فان ربطهما معا ستحصل على قواعد بيانات تعمل بصورة اسرع من مجموعات البيانات الهائلة (ملاحظة : هي ابطى قليلا من اكسس العادي في حال ان قاعدة البيانات صغيرة جدا)

#6

بسم الله

شكرا لك استاذنا الفاضل خضر

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

هل لى ان أطمع فى مساعدة فى هذه الحلول :

بالنسبة للأول لا أعرف كيف يمكننى تكوين هذا الكود ؟

بانسبة للثانى كيف يمكننى انشاء جدول جديد و املئ احد حقولة بالارقام المسلسلة حتى الرقم المطلوب كما ذكرت ؟

سؤال ناتج عن هذا السؤال معلش بأتعبك معاى :)

هل يُمكن اضافة حقل جديد لجدول موجود بالفعل و به بيانات مثلا 10 الاف سجل و اريد ان اضيف بيان ( نصى أو رقمى ) للحقل الجديد بدلا من المرور على كل سجل و ملئ الحقل الجيد سواء بالكتابة او النسخ و اللصق

شكرا لك و تعابك معاى اهى الفاضل خضر

الأخ الكريم ابو محمد .. جزالك الله خيرا على اهتمامك و عرضك بالمساعدة ان شاء ساجرب حلول استاذنا / خضر

خالص شكرى للجميع

أخــــــBengaـــوك

قال أبن القيم : أكثروا من الخير فينتشر .. و أقلوا من الشر فيندثر ..

#7

شكرا على رسالتك

بالنسبة للكود فساحاول ان اكتب غدا كود في فترة الاستراحة في العمل حول الطريقتين و اضعهما في المنتدى

بالنسبة لاضافة حقل اضافي الى جدول به سجلات فهذا ممكن طبعا و هو بديهي لانه احد ركائز نظم قواعد البيانات ، حيث يمكنك اضافة اعندة جديدة وتغير شكل البيانات بها و حذف اعمدة و ذلك كله بدون التاثير على تكامل الجدول

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

بالنسبة لتعديل بيانات في جدول ما فالامر سهل ، استخدم SQL فهو الافضل في هذا المجال

فاتح استعلام و اذهب الى الكود و اكتب التالي

Update [abc] SET [xyz] = 20

حيث ان abc هو اسم الجدول و xyz هو اسم الحقل و القيمة 20 يجب ان تخزن به

اعتقد بانه يجب ان تضع فاصلة منقوطة في نهاية الكود ، هذا يطلبه Access على ما اعتقد و يتعارض مع SQL Server :) فان لم يعمل ضع فقط فاصلة منقوطة

#8

الاخ / benga

بعد التحيه

إذا حضر الماء بطل التيمم الاخ خضر ترزي استاذ الكل في هذا المنتدى ومادام رد على الموضوع سوف تستفيد ويستفيد الكل

الاخ / خضر ترزي

بعد التحيه

اشكرك على اهتمامك بجميع مواضيع هذا المنتدى لكن ارجو زياده في التوضيح بالنسبه للحيله الثانيه

والف شكر على مجهوداتك الرائعة

#9

بسم الله

نرجو ان لا يكون الأستاذ / خضر نسى موضوعنا

شكرا لك

أحــBengaـــوك

قال أبن القيم : أكثروا من الخير فينتشر .. و أقلوا من الشر فيندثر ..

#10

والله انا لسة متذكر الموضوع و لكني مشغول كثيرا في العمل حيث انني اقوم بعملية اعادة تهيئة للاجهزة المركزية الجديدة و دمجها مع الاجهزة المركزية القديمة و من ثم اعادة تهيئة القديمة و دمجها مع الجديدة :)

شرط ان لا يطير اية مستخدم من ال Windows 2000 Active Directory و ان تبقى الصلاحيات على ال Exchange Server و SQL Server و غيرهما كما هي.

هذه عملية معقدة تاخذ مني الوقت ، بمجرد الانتهاء منها غدا سافتح الاكسس و ساحل الموضوع

اما اثناء ذلك ساحاول ان اجيب بسرعة الى الاسئلة التي لا تحتاج برمجة ، انا اسف ان كنت قد اخرتكم و لكن ما باليد حيلة :)

#11

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

شكرا أستاذنا على الأهتمام بالرد

الحقيقة أعرف أنك مشغول جدا .. الله يعينك

أنا متأكد بوضعك و خبرتك هذه انك فى دوامة كبيرة .. أسال الله ان يبارك لك فى وقت و يعنيك على اعمالك .. و علينا :) :)

شكرا لك .. خذ وقتك

أخـــــBengaـــوك

قال أبن القيم : أكثروا من الخير فينتشر .. و أقلوا من الشر فيندثر ..

#12

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

أستاذنا الفاضل / خضر

يبدو أنك نسيتنى .. عشان الموضوع اصبح فى بعيد عن بداية قائمة الموضوعات :)

الموضوع فعلا هام و احتاج اليه

شكرا لك و عذا على الأزعاج

أخـــــBengaــــوك

قال أبن القيم : أكثروا من الخير فينتشر .. و أقلوا من الشر فيندثر ..

#13

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

على العموم قمت بعمل تجربة و هذا هو الكود

http://www.ArabTeam2000.com/KhaderTarazi/NN.rar

هناك Query يعطيك اول رقم غير مستخدم ، انا جربته مع مليون سجل و صار حجم قاعدة البيانات 20 ميغا لذلك ابقيت 100 سجل و تركت لك كود ليبني الجدول N الذي به كل السجلات التي تستخدم للمقارنة

#14

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

أستاذنا الفاضل / خضر

أحببت أن اشكرك على ردك أثناء تحميل الملف ..

أعلم جيدا مدى أنشغالك .. الله يعينك

أكرر شكرى

و إن شاء الله اجرب ما تفضلت به

أرجو قبول تحياتى

أخـــــBengaـــــوك

قال أبن القيم : أكثروا من الخير فينتشر .. و أقلوا من الشر فيندثر ..

هذا الموضوع مغلق.

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

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

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

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

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