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

ترقيم تلقائي بدون مصدر تحكم

بدأه aecc في 15 مايو 2006 · 27 رد · 11,233 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اما عن سؤالي فهو :

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

هذه الطريقه موجوده ومعروفه في التقارير اما في النموذج فلا فهل هناك طريقه لعملها ؟؟؟؟

اقصد طبعا ان لا يكون لهذا العامود مصدر في الجدول وانما هو في النموذج فقط

post-79950-1147704859_thumb.jpg

تم تعديل هذه المشاركة بواسطة aecc في 15 مايو 2006 في 17:55

#2

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

من مربع الادوات نختار مربع قائمة ثم اختار "سوف اكتب القيمة التى اريدها" اضغط التالى اكتب فى العامود1 القيم التى تريد عرضها فى القائمة __ التالى ___ انهاء جرب النموذج

ان شاء الله يكون هذا هو المطلوب

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

قولوا لا إله إلا الله تفلحوا

post-15367-087183200%201340344597.gif

#3

ليس هذا المطلوب اريد ان يكون التسلسل تلقائي

#4

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

ممكن توضيح اكثر

قولوا لا إله إلا الله تفلحوا

post-15367-087183200%201340344597.gif

#5

اضفت لك صوره اخ ابوعبدالله

#6

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

من المفهوم من كلامك انك تريد عرض النموذج مثل عرض الجدول !! ؟

من خصائص النموذج ____ طريقة العرض الافتراضية _____ ورقة بيانات

قولوا لا إله إلا الله تفلحوا

post-15367-087183200%201340344597.gif

#7

اخي انا انا اريد تسلسل تلقائي في خانه (مسلسل) اثناء عرض النوذج كجدول مع العلم ان هذه الخانه غير موجوده في الجدول (غير منضم)

#8

post-79950-1147707175_thumb.jpg

يا اخوان مثال اخر اريد ان ي ان يكون مكان عامود مسلسل بالون الاحمر بدلا من 11111 اريد تسلسل 1 2 3 4 ............. مع العلم ان هذا الحقل ليس موجود في الجدول وانما للعرض فقط

▲ -1
#9

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

يا أيها الناس اتقوا ربكم إن زلزلة الساعة شئ عظيم يوم ترونها تذهل كل مرضعة عما أرضعت وتضع كل ذات حمل حملها وترى الناس سكارى وما هم بسكارى ولكن عذاب الله شديد

صدق الله العظيم

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

أرجو أخى aecc أن أكون وفقت فى عرض طلبك.

اخوكم فى الله

طــ العمده ـــارق

▲ -1
#10

بعد اذن الاخوان جميعا

الموضوع يحتاج الى كود برمجي خاص لعمل الترقيم التلقائي بدون وجود حقل له في الجدول واليكم الطريقه مع مثال

اخي الفاضل

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

لا يوجد شيء في برنامج الاكسيس لا يمكن تحقيقه

اليك شرح طريقة توليد رقم تلقائي في النموذج بدون وجود اي حقل له في الجدول

1. انشىء مربع نص غير منضم في النموذج ( ليس له مصدر تحكم ) وليكن اسمه مسلسل

2. ضع هذه العبارة هي مصدر مربع النص السابق ( مسلسل )

=RcNum([Form];"نوع";[نوع])

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

3. انسخ هذه الوحدة النمطية لديك في قاعدة بياناتك

Function RcNum(frm As Form, fldName As String, mID As Variant) As Variant
Dim RstClone As Recordset
Dim Fld As Field
Dim I As Long
RcNum = Null
If IsNull(mID) Then Exit Function
Set RstClone = frm.RecordsetClone
If RstClone.RecordCount = 0 Then Exit Function
Set Fld = RstClone.Fields(fldName)
With RstClone
.MoveFirst
Do Until .EOF
I = I + 1
If Fld = mID Then Exit Do
.MoveNext
Loop
End With
RstClone.Close
RcNum = I
End Function

4. احفظ الوحدة النمطية وكذلك النموذج وقم بتشغيله ستجد مباشرة ان النموذج بدأ بالعد التلقائي المتسلسل بدون ان يكون هناك حقل في الجدول له ترقيم تلقائي

وهذا مثال تطبيقي

AutoNumber.rar

اختكم

زهره

2
#11

جزاكم الله خير وما قصرتم وجاري التجربه............مع اني تعبت الى ان وجدت عنوان المشاركه بعد ما تغيرت :rolleyes:

#12

من الملاحظ ان حقل النوع الذي تم عمل المثال له ليس به قيم مكرره ؟!

لذا في حالة وجود تكرار حتى في الحقول الاخرى فهل يوجد حل؟ ام انه لابد من وجود حقل ليس به تكرارات

#13

الاخت العزيزه زهرة

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

نشكركي على هذا العمل الرئع والمجهد الجميل

ولكن لدي ملاحظه

لو ان الكود يعمل تشييك علي الارقام في حالة حذف سجل يعيد الارقام المفقوده

ويضيف السجلات الجديده حسب التسلسل

ولدي طلب

لو امكان تعديل وتطوير هذا الكود ليعمل مع النماذج الفرعيه لكل سجل مرتبط بنموذج الرئيس

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

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

مع خالص الاحترام

تم تعديل هذه المشاركة بواسطة باهر في 16 مايو 2006 في 14:18

#14

اخي الفاضل aecc

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

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

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

اخي الفاضل باهر

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

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

اختر السجل المطلوب حذفه سواء من الاول او الوسط او الاخير ثم اضغط حذف سجل وانظر النتيجه . سيتم اعادة الترقيم تلقائيا

وهذا مثال تطبيق عملي

ReAutoNumber2006.rar

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

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

وهذا مثال تطبيقي عملي

AutoNumber_In_SubForm.rar

اختكم

زهره

#15

الاخت الفاضله الرد والاجابه صحيحه ولكن ظهر عندي خطأ وأظن سبب الخطأ تكرار القيم حيث ظهر عندي الترقيم كالتالي:

1 - 2 - 3 - 4 - 5 - 6 - 2 - 8 - 9 - 10

حيث لاحظت بعدها ان قيم التسلسل 2 مكرره وان التسلسل 7 اختفى

وإن شاء الله سوف اعرض المشروع قريبا لنبحثه بصوره افضل

#16

اختي الكريمه زهرة اجابة اكثر من رائعه

بارك الله فيكي وزادكي الله علماً وحلما ووسع الله صدرك من كثرة الاسئلة

هناك ملاحظه في مثل النماذج الفرعيه عند الحذف لايتم اعادة الترقيم متسلسل هذا شي الشيئ الاخر عند الاضافه تظهر رسالة "" حدث خطاء اثناء الرجوع الى الكائن .

لقد حاولة تشغيل اجراء Viual Basic يرجع الى خاصية أو اسلوب أحد الكائنات بصورة غير صحيحة

#17

اخي الفاضل باهر

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

ردا على استفسارك في المشاركة السابقة وطلبك مثال على اعادة الترقيم التلقائي فقد وضعت لك مثال منفصل بإسم ReAutoNumber2006

اما مايخص الترقيم التلقائي في النماذج الفرعيه فقد وضعنا ايضا له ملف خاص بإسم AutoNumber-In-SubForm وهذا المثال لا يوجد اكواد حذف واعادة الترقيم التلقائي للنماذج الفرعية .

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

2
#18

اختي /زهره باركه الله فيكي والله العظيم اني محرج من كثرة الاسئله

لكن لم اجد حل بشأن رسالة الخظاء التي تظهر عن اضافة سجل في النموذج الفرعي في مثل AutoNumber-In-SubForm

تظهر رسالة "" حدث خطاء اثناء الرجوع الى الكائن .

لقد حاولة تشغيل اجراء Viual Basic يرجع الى خاصية أو اسلوب أحد الكائنات بصورة غير صحيحة

#19

اخي الفاضل باهر

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

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

كما تعلم انه عند عمليات البرمجة بالكود لا يتم اضافة اي شيء سواء كانت اسماء او ارقام بالطريقة العادية والذي يتحكم في ذلك هو الكود لانه سوف يعطيك رقم تلقائي ليس كما هو الحال نع النماذج الرئيسية والفرعية العاديه .

لهذا تم التغلب على هذه المشكلة البسيطة على النحو التالي

1. لاضافة مجموعة كاملة ( يوجد في النموذج الرئيسي 8 مجموعات مرقمه من 1 - 8 ) انتقل الى اسم المجموعة واضف لها اسم جديد مثلا التاسع او العاشر حسب ما تراه مناسب .

2. عند اضافة سجل جديد للمجموعة يكون عن طريق زر اضافة سجل في النموذج الرئيسي ( لا تستطيع الاضافة في حقول النموذج الفرعي لانها مؤمنه ) وسيفتح لك نموذج جديد للاضافة ضع به الاسم الجديد ورقم المجموعة المطلوب مثل ( 1 -2 -3 - 4 الى 8 ) ( لا تضع رقم مجموعة ليس له وجود في النموذج الرئيسي لان العملية بها علاقة رأس بأطراف )

3. بعد اضافة الاسم الجديد ورقم المجموعة المطلوبة اضغط على حفظ وستخرج من نموذج الاضافة الى النموذج الرئيسي

4. الان اضغط على تحديث وانظر هل تمت الاضافة ام لا

5. لحذف مجموعة كاملة ( من 1 الى 8 ) سيتم حذف جميع السجلات المرتبطه بهذه المجموعة دفعة واحده ولكن العملية ليست بالسهولة التي تتصورها فهي تحتاج الى رقم سري عليك ادخاله في صندوق حوار الرقم السري .

ملاحظة : الرقم السري لعملية حذف المجموعة هو zahrah2006

اذا كنت عازم على حذف مجموعة كاملة للغرض التجربه فأختر اخر مجموعة وهي الثامنة

6. لعملية حذف سجل ستجد امام كل سجل زر حذف قم بالضغط عليه وسيتم حذف السجل

وهذا المثال بعد التعديل

اختكم

زهره

AutoNumber_In_SubForm_up.rar

2
#20

يوجد عندي برنامج في الاكسس خاص بالملاك في المدرسة

وقد اعجبني المثال الذي تم وضعه في المنتدى والخاص بفتح التقرير لشخص معين

وعند محاواتي لتطبيقه على الملاك بحيث ان زر الامر يفتح المعلومات في التقرير التي تخص المدرس

لن يتم ذلك وتظهر رسالة بالخطا تقول"التعبير الذي ادخلته هو نوع بيانات خاطئ لاحدى الوسائط" وقد تعبت من المحاولات وشكرا للست زهرة على هذه المعلومات

#21

اخي الفاضل

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

ما علاقة الترقيم التلقائي واعادة الترقيم بسؤالك هذا فتح التقرير بناء على السجل الحالي

كان من المفروض ان تفتح موضوع جديد لهذا السؤال لانه مختلف عن هذه المشاركه

وسيتم الاجابة عليك ان شاء الله

#22

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

أشكر السائل على سؤاله ، وأشكر جميع أخواني في هذا المنتدى من مشرفين وأعضاء وزوار ...

أخوكم حسن

اللهم اغفر لي ولوالدي وللمسلمين والمسلمات الأحياء منهم والأموات إلى يوم الدين .

#23

الأخت الفاضلة زهرة

تحية طيبة وبعد ،،

أتقدم لك بوافر الشكر ع جهودك المخلصة الصادقة في الشرح لموضوع الترقيم التلقائي

استفدت من الكود الموضح للترقيم التلقائي

ولكن يا اختي الفاضلة صادفتني مشكلة قد النملة (بالنسبة لك) وبحجم كوكب الزهرة بالنسبة لي

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

محمود وظيفته محامي ترقيمه التلقائي 2

شريف وظيفته محامي ترقيمه التلقائي 2 أيضا !!!!!

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

وهذا مثال مرفق ولك جزيل الشكر @@

أخوك مشكاة

AutoNumber.rar

#24

اخي الفاضل

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

الحالة الأولى :

اسم الموظف ( طبعا كما هو معروف ان اسم الموظف يتكون من عدة اجزاء مثل الإسم واسم الأب واسم الجد واسم العائلة ) ولا يمكن ان يتشابه اسمين مع بعض وسيكون هناك اختلاف بين الأسماء لذا فإنه لعمل الترقيم التلقائي للإسم يجب التفريق بين الأسماء وسيكون الترقيم التلقائي بهذا الشكل صحيح

post-15367-1208367145_thumb.gif

الحالة الثانية :

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

post-15367-1208367427_thumb.gif

الحالة الثالثة :

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

post-15367-1208367528_thumb.gif

AutoNumber_UP.rar

#25

الأخت الفاضلة زهرة حفظك الله

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

جزيل الشكر والتقدير على التوضيح !!

أولا : ما فهمته إن هذا الكود مخصص فقط لحقل يحتوي بيانات غير مكرره وبالتالي يعمل الكود ويؤدي المهمة بشكل جيد!

ثانيا : ما فهمته أيضا ان هذا الكود لا يمكن استخدامه لحقل به بيانات مكرره!!

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

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

مع جزيل الشكر @@

أخوك مشكاة

AutoNumSub.rar

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