موضوع منقول من المنتدي القديم
الكاتب : abo saeed
الترقيم التلقائي
مساكم الله بالخير جمياً
سؤالي الاول هو ارغب استخدام الترقيم التلقائي ولكن المشكلة انه عند حذف سجل مثلا السجل الخامس فأن الترقيم التلقائي يصبح بهذه الطريقة 1-2-3-4-6-7 وهكذا متجاهلا الرقم 5 اي انه لايتم اعادة الترتيب بعد ان تتم عملية الحذف وانا ارغب ان يتم اعادة الترقيم بالشكل الصحيح من واحد وحتى اخر رقم وهكذا فهل لهذه المشكلة حل
ولسؤال الثاني هو
عندما اقوم بفرز سجلات معاينه بواسطة استعلام مثلا فرز العاملين في مدينة الرياض والموجود في قاعدة البيانات مثلا خمسة عاملين في مدينة الرياض كيف اضع تسلسل يبدأ من اول سجل الى اخر سجل من 1 الى 5 او حسب عدد السجلات الي صفها الاستعلام
ولكم جزيل الشكر
الكاتب: abo saeed بتاريخ: 9/27/2002 1:36:33 PM
--------------------------------------------------------------------------------
الترقيم
عند حذف سجل اعمل ضغط للقاعده ستجد الترقيم يعمل تمام حسب فهمي للسؤال
او هناك طريقه ترقيم خلاف الترقيم التلقائي وهي :
لنفرض ان لديك نموذج الحقل الذي تريد به الترقيم التلقائي لنفرض ان الجقل a1 مع ملاحظة ان يكون نوعه في الجدول رقم
اعمل مربع نص اخر في نفس النوذج وليكن اسمه t1 يجب ان يكون ترتيبه الاول في فهرسة علامة الجدوله ثم في حدث عند الخروج اكتب الكود التالي
Private Sub t1_Exit(Cancel As Integer)
a1 = t1 + 1
End Sub
ستجد ان الترقيم يعمل تمام ان شاء الله ارجو ان اكون قد فهمت سؤالك وفهمت جوابي
--------------------------------------------------------------------------------
الكاتب: شمس الوادي بتاريخ: 9/27/2002 2:28:49 PM
--------------------------------------------------------------------------------
مساك الله بالرضى والعافية
بالنسبة للترقيم التلقائي فلا يمكن إعادة التسلسل له إذا حذفت سجل بالوسط وما ذكره الأخ شمس الوادي ينفع إذا كان المحذوف هو آخر سجل .
ولكن يمكن إعادة الرقم المحذوف بإدراج سجل يحمل الترقيم التلقائي فيه الرقم المحذوف وقد نشر الكود قبل فترة في أحد المواضيع .
وهناك طريقة اخرى انظر هذا الموضوع :
http://www.arabteam2000.com/forum/Details.asp?id=14680
والسؤال الثاني تم بحثه أيضا قبل فترة في أحد المواضيع عن النموذج الفرعي .
ولك تحياتي
الكاتب: ابوحمود بتاريخ: 9/27/2002 7:31:09 PM
--------------------------------------------------------------------------------
لم اجد الحل
مساكم الله بالخير
الف شكر على تجاوبكم
اخي العزيز شمس الوادي جربت ضغط قاعدة البيانات ولكنه لم يقم بترتيب البيانات بالشكل الصحيح حيث بقيت كما هى وايضا جربت حذف الحقل واعادة انشاءه وطلعت تمام بس الطريقة غير مجديه على الاطلاق والسبب هو اذا كان يعمل على البرنامج مستخدم لا يعرف القيام بهذه العمليه هذا سبب والسبب الاخر اذا كان هذا الحقل مفتاح اساسي ومرتبط بجدول اخر اي ينهما علاقات فلا يمكن حذف هذا الحقل ابدا
ابو حمود بالنسبة للرابط الذي وضعته فهو لا يحل المشكله بل يزيدها تعقيدا لأن صاحب السؤال كان يرد حذف الحقل ثم اعاده انشاءه حتى يتم الترقيم الصحيح ولكن اذا كان الجدول مرتبط بعلاقه بجدول اخر فلا يمكن حذف هذا الحقل لكونه مفتاح اساسي ومرتبط ببيانات اخرى في جدول اخر.
اما بالنسبة لسؤالي الثاني
فقد قمت بالبحث في المنتدى ووجد ان الاجابات كانت لمعرفة عدد السجلات في نموذج فرعي وانا ارغب في وضع رقم تسلسل في استعلام ولكني واثناء البحث وجدة تقريبا ما اريد ان اعرف الحل له وهو في هذا الرابط ولكن لم افهم الطريقه فهل من الممكن توضيحها .
ولكم خالص تحياتي
ابو سعيد
--------------------------------------------------------------------------------
الكاتب: abo saeed بتاريخ: 9/28/2002 1:35:41 PM
--------------------------------------------------------------------------------
بخصوص الرابط هذا مثال على الدالة التي وضعها الأخ مفرج :
وللتوضيح :
1- الدالة RecordNumbers تدرج في وحدة نمطية عامة كما في المثال
2- ضع هذا السطر فقط في شبكة أي استعلام :
Code:
تسلسل: RecordNumbers("جدول1";"الاسم";[الاسم])
وغير مايلي :
1- جدول1 باسم الجدول الذي ترغب في عمل تسلسل له
2- الاسم باسم أي حقل موجود عندك في الجدول
الملاحظات :
1- الكود يحتاج لمرجع للـ DAO
http://www.arabteam2000.com/Forum/Details.asp?id=14802
2- الدالة كان ينقصها وضع القوس المربع وذلك أنه عندما نستخدم حقول اسمائها من كلمتين فأكثر تعطي رسالة خطأ لذلك اعتمد الدالة الموجودة في المثال أو عند تمرير اسم أي حقل يحوي كلمتين فأكثر فضعه بين أقواس مربعة مثل [اسم حقل] وعند اختيارك للطريقة الأخيرة استخدم الدالة الموجودة هنا وليست الموجودة في المثال .
3- الدالة مصممة أن يمرر لها حقل نصي فإذا كان الحقل رقمي فأزل الفواصل العلوية من داخلها (قارن السطر الرابع في المثال الذي وضعهته أنا مع نفس السطر في الدالة هنا) .
4- عند وضع اسم حقل متكرر البيانات فسوف يتكرر الرقم لذلك من الأفضل أن يكون الحقل الممر اسمه للدالة يحوي بيانات غير متكررة وللتجربة غير رقم خاص في الاستعلام في المثال الذي وضعته بالاسم وشغل الاستعلام لترى الفرق .
الكاتب: ابوحمود بتاريخ: 9/28/2002 9:38:28 PM
--------------------------------------------------------------------------------
طريقه ثانيه
الله يجزاك خير
وهذي طريقة اخرى
http://www.pcpages.com/osama457/NewAutoNum.zip
لكن هذا الترقيم ما يقبل الفرز ولا التصفية، يعني لو غيرت الفرز أو عملت تصفية يكون الترقيم غير متسلسل، وهو مطلوب أحيانا من أجل انك تعرف المكان الأصلي للسجل في الاستعلام .
--------------------------------------------------------------------------------
الكاتب: osama457 بتاريخ: 9/29/2002 5:31:52 AM
--------------------------------------------------------------------------------
هل جربت هذه الطريقة
الاخ ابو سعيد
لم تشر في ردك هل جربت الطريقه هذه :
لنفرض ان لديك نموذج الحقل الذي تريد به الترقيم التلقائي لنفرض ان الجقل a1 مع ملاحظة ان يكون نوعه في الجدول رقم
اعمل مربع نص اخر في نفس النوذج وليكن اسمه t1 يجب ان يكون ترتيبه الاول في فهرسة علامة الجدوله ثم في حدث عند الخروج اكتب الكود التالي
Private Sub t1_Exit(Cancel As Integer)
a1 = t1 + 1
End Sub
--------------------------------------------------------------------------------
الكاتب: شمس الوادي بتاريخ: 9/29/2002 8:16:36 AM
--------------------------------------------------------------------------------
؟؟؟
الاخ شمس الوادي الطريقة الي وضعتها يوجد فيها مشكله في الحذف والاضافه
الاخ ابو حمود زي ما قال الاخ اسامه عند وضع الفرز والتصفيه لا يتم الترقيم بصوره صحيحه
الاخ اسامه الرابط لا يعمل واذا كان على نفس الغرار فهو غير مجدي
عشان ما يتعقد الموضوع ماهو شرط يكون التسلسل في الاستعلام لأنه ممكن اسوي الاستعلام عادي بدون تسلسل واقوم بتصميم نموذج جدولي مرتبط بهذا الاستعلام ويتم وضع التسلسل عن طريق النموذج في مربع نص وادخال المعادله في هذا المربع .
بالنسبة للترقيم التلقائي فهو ضروري جدا وسوف اعطيكم موجز مختصر عن عمل البرنامج
البرنامج عبارة عن بيانات موظفين لدائره حكومية وهو على النحو التالي
ضمن البرنامج جدولين الاول خاص بالوظائف والثاني خاص بالموظفين وبينهما علاقة رأس برأس
بالنسبة لجدول الموظفين فطلعوه من روسكم الان مافيه مشكله المشكله في جدول الوظائف حيث ان الوظائف تعتبر الى حد كبير ثابته لا تتغير الا في النادر ولكن المشكله اذا حدث التغيير واذا كان التغيير في مسمى الوظيفه او رقمها او مرتبتها فأيضا لا تعتبر مشكله لكن متى تحدث المشكله تحدث اذا تم استحداث وظيفة جديده او الغاء وظيفه موجوده لأنه هناك حقل ضروري منه ولابد من وجوده وهو حقل تسلسل وهذه بعض اسماء الحقول لجدول الوظائف كي تتضح الصوره
تسلسل - نوع الوظيفة - رقمها - مسماها - مرتبتها - اسم القسم التابعه له
والتسلسل يبدأ من 1 الى اخر وظيفة ولنفترض 500 وفي العادة يكون ترتيب الوظائف بناء على القسم التابعه له كيف مثل من الوظيفه رقم 1 الى الوظيفه رقم 50 تابعه لقسم التصميم ومن 51 الى 200 تابعه لقسم الاشراف وهكذا هذه فقط امثله طبعا الترقيم التلقائي يحل هذه المشكله بشكل مبدئي لكن لو استحدث وظيفة في قسم التصميم فيجب اتدخل هذه الوظيفه ضمن الخمسين رقم الاولى مثلا استحدث وظيفه رقم 20 بناءً ايضا على مسماها ومرتبتها لأنه موشرط تكون في اخر رقم في القسم معناته زاد وظيفه في المجموع الكلي واصبح عدد الوظائف 501 والوظيفة الى كان رقمها 20 اصبح رقمها 21 وجميع الوظائف التي بعدها اختلف ترقيمها وهذه مشكلة الترقيم التلقائي وبنفس الطريقة ممكن يتم الغاء وظيفه هذي هي المشكله فما هو الحل ولابد ان يكون هناك حل حتى لو يوضع هذا التسلسل في جدول لوحده ويتم ربطة لأنه لابد منه هذا الحقل المشؤم
ازيدكم من الشعر بيت
لقد صممت هذا البرنامج منذ ست سنوات واعطيته لناس من الزملاء للأستفاده منه في مقر عملهم ومن هذاك الوقت الى الان وانا اعمل على هذا البرنامج طبعاً تم التصميم على وندز 3.11 واكسس 2 ويحتوي البرنامج على التالي اكثر من 80 نموذج واكثر من 100 ماكرو وتقريبا 55 استعلام و 6 جداول ولا تستغربوا انه بدون اي وحدة نمطية وكذلك بدون اي تقرير واستغرق التصميم اكثر من 7 شهور وعلى جهاز dx3 والبرنامج حل ما يقارباً 90% من معاضل العمل ويعتبر ناجح بنسبة 80% ومن مزاياه هو تم عمل ستيب للبرنامج وتنزيله على 6 دسكات بواسطة برنامج نزل ايامها تابع او ملحق للأكسس لايحضرني اسمه الان وايضا من مزاياه يمكن سحب البيانات فقط على دسك وفي حالة تعطل الجهاز او عمل فرمات له يتم اعداد البرنامج من جديد ومن ثم اعدة البيانات من القرص وكانت هذه الحركه يعني تعتبر سابقه في وقتها
طبعا وبما اني اول المستخدمين له فقد وجدت عيوب في هذا البرنامج لكن اكتشفت ان حلها يحتاج الى نقض كامل للبرنامج وانا كنت تعبت فيه و ما صدقت اخلصه وبما انها عيوب يمكن تداركها الى حد ما فقد تركت البرنامج دون تعديل ومع الوقت اتضحت لي عيوبه والسؤالين اعلاه من ضمن هذه العيوب ولايزال هناك اسئله بس ما ودي اخرعكم وفيه اشيئ كثيره اعرف حلها واهم شيئ اني ارغب ان يعمل البرنامج تحت شبكة
ومن العيوب ايضا ان مكرسوفت وانتل جالسه تشرشحنا بهذه الاصدارات الجديده وهذه الاجهازه الجديده تخيلو اني جالس اعمل على البرنامج على وندز 3.11 تقلون طيب ليش ما تسوي له تحويل اقلكم لازم ادخل اعدل في نوعية جميع الخطوط في جميع النماذج والاستعلامات وايضا الاحجام لأنه ما كان فيه 600*800 زمان فقلت بدل ما اضيع الوقت في التعديل وانا اعرف انه لازم انقض البرنامج من جديد خله مره وحده ومن يوم في يوم ومن سنه في سنه الى الان وها قد عزمت وعقدت النيه على اعادة تصميمه والله يعينكم عليه
ولكم مني جزيل الشكر واسف جدا على الاطالة اخوكم ابو سعيد
ملاحظه : يمكن احد منكم يطلب يشوف البرنامج ووالله العظيم ان ودي تشوفونه لكن اعذروني لأسبابي والي مصر يعرف السبب هذا بريدي altop1@hotmail.com يقابلني على الماسنجر واعلمه بالسبب .
--------------------------------------------------------------------------------
الكاتب: abo saeed بتاريخ: 9/30/2002 12:38:01 PM
--------------------------------------------------------------------------------
ترقيم سجلات نموذج
الرابط الاول اضغط بالماوس بالزر الايمن ثم اضغط حفظ الهدف باسم
وهذا مثال على ترقيم سجلات نموذج
http://www.pcpages.com/osama457/Numer.zip
وهو في موضوع : كيف يمكن ترقيم أسطر نموذج فرعي؟ في هذ المنتدي
وان كنت ما اذري هو يصلح حل لموضوعك والا لا .
--------------------------------------------------------------------------------
الكاتب: osama457 بتاريخ: 10/1/2002 9:48:35 AM
