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

كيف يتم إضافة سجل بعد السجل الحالي الذي أقف عليه ؟

بدأه السندبااد في 10 مايو 2008 · 21 رد · 1,969 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

من المتعارف عليه في التعامل مع قواعد البيانات عبر البيسك أنه يتم إضافة سجل في الأخير

ولكني أريد أن يتم إضافة سجلاً بعد السجل الحالي الذي أقف عليه

مثلاً:

عندي قاعدة بيانات فيها عدة أسماء (أحمد-خالد-محمد-عثمان-إبراهيم)

عندما أكون واقفاً عند اسم خالد واضغط إضافة سجل أريد أن تتم إضافته بعد سجل خالد وقبل محمد

أيضاً كيف يتم إضافة سجل قبل السجل الحالي؟

أتمنى أن أجد حلاً عندكم

إليكم الملف المرفق

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

__________________________.rar

فاعلم أنه لا إله إلا الله

#2

هل يمكن حل ما هو صحيح باسلوب خاطيء !

ليس كل ما يتمناه المرء يدركه

arabteam2000.gif

#3
العقده كتب:
هل يمكن حل ما هو صحيح باسلوب خاطيء !

استفهام أم تقرير؟

ليتك توضّح أخي الحبيب

ما علاقة جوابك باستفساري؟

تخيل عندك قاعدة بيانات فيها كتاب ما قمت بإدخاله للقاعدة

وبعد ذلك وجدت أنك نسيت إدخال صفحة أو أكثر وسط هذا الكتاب

ماذا ستفعل؟

أنت بحاجة لطريقة لكي تدرج سجلاً ضمن السجلات وإلا فسيتم إدراج الصفحة أو الصفحات آخر الكتاب وهذه هي المشكلة

تحياتي لك

فاعلم أنه لا إله إلا الله

#4

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

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

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

#5

يمكنك فهرسة صفحات الكتاب والاستعلام Order by PageNumber

ليس كل ما يتمناه المرء يدركه

arabteam2000.gif

#6
DreamNet كتب:
من المنطقي هنا أن لانستعمل الترقيم التلقائي لرقم الصفحات داخل الجدول الذي سيحوي صفحات الكتاب

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

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

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

فكرتك رائعة للغاية

يتم إضافة سجل جديد فيه الصفحة الجديدة

طبعاً سيتم إدخال رقم هذه الصفحة ليتم وضعه كرقم في السجل

وبعد ذلك نضع خيار الترتيب التلقائي للسجلات

سأعمل على ذلك إن شاء الله

بارك الله فيك وبيض وجهك في الدنيا والآخرة

العقده كتب:
يمكنك فهرسة صفحات الكتاب والاستعلام Order by PageNumber

بارك الله فيك أخي الحبيب

سأعمل على ذلك

أشكر لك متابعتك وأسأل الله لك الرفعة في الدنيا والآخرة

فاعلم أنه لا إله إلا الله

#7

يا فرحة ما تمت

:angry:

حاولت ذلك ولكن وقعت المشكلة التالية وهي تشابه الأرقام

انظروا:

لنفرض أن الكتاب مؤلف من 10 صفحات

1 2 3 4 5 6 7 8 9 10

أردنا أن نضيف صفحة بعد الرقم 4 وأعيطناها الرقم 5

عند اسدتدعاء الترقيم سنجد أن لدينا أكثر من صفحة لها نفس الرقم

جربت طريقة الأخ دريم ولكن الصفحة بقيت في الأخير

نتمنى مساعدتكم

فاعلم أنه لا إله إلا الله

#8

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

مع تحياتي

#9

ممكن تضع الجزء الخاص بهذي النقطه من مشروعك في مرفق ليتم تحميله وتنفيذ بعض المعالجه لحل هذي المسأله .

ليس كل ما يتمناه المرء يدركه

arabteam2000.gif

#10
momenpro كتب:
عن تجربة،،، لا يمكن حل كمثل تلك المعضلات إلا بالتحايل، وأفضل حيلة بأن تقوم بإدراج سجل جديد وجعل محتوياته كآخر سجل، ومن ثم جعل محتويات السجل قبل الأخير كالسجل قبل قبل الأخير، وهكذا حتى نصل إلى السجل المراد جعله قبل السجل المنوي إضافته، ووضع محتويات السجل الجديد الذي ننوي إضافته.

مع تحياتي

المسألة تحتاج لحيلة صحيح لكن طريقتك غير ناجحة إطلاقاً وغير واضحة

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

شاكر تعاونك

العقده كتب:
ممكن تضع الجزء الخاص بهذي النقطه من مشروعك في مرفق ليتم تحميله وتنفيذ بعض المعالجه لحل هذي المسأله .

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

فيها أسماء اعتبرها محتوى الصفحات

وفيها وصف اعتبره رقم الصفحات

وأتمنى فعلاً أن أجد عونا منكم

المسألة تهمني جداً

فاعلم أنه لا إله إلا الله

#11
السندبااد كتب:

المسألة تحتاج لحيلة صحيح لكن طريقتك غير ناجحة إطلاقاً وغير واضحة

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

شاكر تعاونك

بالعكس تماما، هذا هو الحل الأنجح لإضافة سجل في مكان محدد، ومع أن الموضوع فيه نوع من الإشكاليات،

إلا أنني جهزت الحل (راجع المرفقات).

مع تحياتي

ADDPro.rar

#12

أعتذر في البداية لعدم قدرتي على الاطلاع على الحلول السابقة المطروحة والملفات المرفقة

اقتباس
حاولت ذلك ولكن وقعت المشكلة التالية وهي تشابه الأرقام

انظروا:

لنفرض أن الكتاب مؤلف من 10 صفحات

1 2 3 4 5 6 7 8 9 10

أردنا أن نضيف صفحة بعد الرقم 4 وأعيطناها الرقم 5

عند اسدتدعاء الترقيم سنجد أن لدينا أكثر من صفحة لها نفس الرقم

طيب نطبق الكلام الذي ذكرته في السابق بالخطوات المنطقية

نريد أن نضيف صفحة رقم 4 مكان الموجودة

اذا الخطوة الأولى اعادة ترقيم الصفحات من 4 إلى 10 باضافة 1

أي عمل Loop من 4 إلى 10 (التي تمثل آخر سجل) ونعدل الارقام لتصبح

الرقم الموجود+1

يعني ستصبح السجلات بعد التعديل 1 2 3 5 6 7 8 9 10 11

بهذا يكون رقم 4 حر أليس كذلك؟ :)

بعدها في النهاية نضيف سجل جديد به الصفحة 4

ستقول لي ان السجلات لن تكون مرتبة

استعمل orderby ليتم الترتيب :D

أرجو أن الفكرة وصلت

بالتوفيق دائما

#13

بالضبط هذا هو الحل .. ميه على ميه يـــا DreamNet

ليس كل ما يتمناه المرء يدركه

arabteam2000.gif

#14
momenpro كتب:
بالعكس تماما، هذا هو الحل الأنجح لإضافة سجل في مكان محدد، ومع أن الموضوع فيه نوع من الإشكاليات،

إلا أنني جهزت الحل (راجع المرفقات).

مع تحياتي

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

حتى أختصر الأمور أكثر قمت بحذف السكرول لأنه يعيق فتخيل أنك أمام كتاب حجمه أكثر من 500 صفحة

هل سنبقى نتنقل بالسكرول إلى أن نصل للمطلوب؟

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

لذا قمت بالتعديل التالي:

1- أضفت لقاعدة البيانات رقم الصفحة ليكون عملنا دقيقاً؛ فتضاف الصفحة التي نريدها في المكان المخصص.

2- عندما نريد أن نضيف صفحة جديدة فالذي يحدد مكانها هو تيكست2 وهو نفسه الذي يعرض رقم الصفحة؛ لذا قمت بعمل زرين

الأول إضافة يقوم بتفريغ السجلات للكتابة فيها والثاني حفظ وفيه سيحفظ الاسم ورقم الصفحة وفق الترتيب الذي نضعه في خانة رقم الصفحة

لكن للأسف بقيت نفس المشكلة وهي الترتيب!!!

عندما تضيف صفحة في الوسط وليكن رقمها 4 سيصبح لديك رقمين كيف ستوفق بين هذين الأمرين؟

ليتك تحمل المرفق وتنظر وأشكر اهتمامك أخي المحترف

DreamNet كتب:
أعتذر في البداية لعدم قدرتي على الاطلاع على الحلول السابقة المطروحة والملفات المرفقة

طيب نطبق الكلام الذي ذكرته في السابق بالخطوات المنطقية

نريد أن نضيف صفحة رقم 4 مكان الموجودة

اذا الخطوة الأولى اعادة ترقيم الصفحات من 4 إلى 10 باضافة 1

أي عمل Loop من 4 إلى 10 (التي تمثل آخر سجل) ونعدل الارقام لتصبح

الرقم الموجود+1

يعني ستصبح السجلات بعد التعديل 1 2 3 5 6 7 8 9 10 11

بهذا يكون رقم 4 حر أليس كذلك؟ :)

بعدها في النهاية نضيف سجل جديد به الصفحة 4

ستقول لي ان السجلات لن تكون مرتبة

استعمل orderby ليتم الترتيب :D

أرجو أن الفكرة وصلت

بالتوفيق دائما

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

على أي أساس ستحدد ذلك في الحلقة، فأنت قد تضيف في البداية أو الوسط أو الأخير؟

:wacko:

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

ADDPro1.rar

فاعلم أنه لا إله إلا الله

#16
DreamNet كتب:
لا يهمني أين أضيف

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

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

الأخ دريم: هل جربت ملفك المرفق؟

هنالك عدة إشكاليات:

عند إضافة سجل جديد وليكن بعد الصفحة 5 التي تحتوي مثلا على الاسم أحمد

سيصبح أحمد في 6 وهذا رائع

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

عند إضافة صفحة أخرى الرقم 4 السابق سيأخذ رقم آخر سجل مثلاً22

والجديد ستراه في الأخير كالعادة وله الرقم 5 وهكذا مع كل حلقةا .....

فاعلم أنه لا إله إلا الله

#17
اقتباس
ستعمل orderby ليتم الترتيب

ليس كل ما يتمناه المرء يدركه

arabteam2000.gif

#18
اقتباس
ستعمل orderby ليتم الترتيب

أخي العقدة قمت بذلك

ولكن تخيل النتيجة لو أنك حذفت صفحة من الوسط

كيف سيصبح الترتيب؟

ليتك تجرب أخي الفاضل فالمسألة دقيقة

وليتك ترفق لي النتيجة إن نجحت معك

ألف تحية لك

فاعلم أنه لا إله إلا الله

#19

المشكل في قاعدة البيانات

الحقل الذي جعلت فيه الأرقام نصي

يعني اذا استعملنا ORDER BY فلن يتم الترتيب بالشكل اللائق

المهم في الغالب الفكرة يمكن تنفيذها فقط مع مراعاة حقل رقم الصفحات يجب أن يكون رقمي

كذلك وصل القاعدة من البداية بتحديد قيمة الخاصية RecordSource ليتم الترتيب

SELECT * FROM Parts orderby PartNum

بالتوفيق

#20
DreamNet كتب:
المشكل في قاعدة البيانات

الحقل الذي جعلت فيه الأرقام نصي

يعني اذا استعملنا ORDER BY فلن يتم الترتيب بالشكل اللائق

المهم في الغالب الفكرة يمكن تنفيذها فقط مع مراعاة حقل رقم الصفحات يجب أن يكون رقمي

كذلك وصل القاعدة من البداية بتحديد قيمة الخاصية RecordSource ليتم الترتيب

SELECT * FROM Parts orderby PartNum

بالتوفيق

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

تحية محمّلة بالورد والياسمين لك أخ دريم

الآن نجحت الفكرة بحمد الله وعونه دون أي مشاكل وبعد عدة اختبارات

ولأنني أحب أن أريح المستخدم قمت بتعديل الكود

ليتم الإضافة في الصفحة مباشرة دون داعٍ لاستدعاء input

وخاصة وأن الصفحة المضافة قد تكون كبيرة الحجم

كل هذه جهزته وإليكم المرفق ليتم الانتفاع من قبل الجميع

أكرر شكري وامتناني للأخ الحبيب دريم على مساعدته وكل الأحبة

:wub:

حياكم الله

add_rec.rar

فاعلم أنه لا إله إلا الله

#21

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

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

مع تحياتي

#22
momenpro كتب:
بالنسبة إلى إضافة سجل في أي مكان من الجدول مع إعادة النظر في وجود حقل يحتوي على رقم السجل،،،

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

مع تحياتي

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

تم حل المشكلة في المشاركة رقم 20

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

فاعلم أنه لا إله إلا الله

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

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

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

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

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