عادلصباح قام بنشر نوفمبر 14, 2013 قام بنشر نوفمبر 14, 2013 (معدل) الإخوة القائمين على المنتدى / السلام عليكم ورحمة الله لدي جدول يشتمل على حقل بعنوان النوع تحته طالب ومدرس فقط المطلوب عند اختيار النوع طالب يظهر ترقيم تلقائي خاص بالطلاب وعند اختيار مدرس يظهر ترقيم آخر خاص بالمدرسين . فيكون هناك ترقيم لكل منهما تلقائي مرفق نموذج مصغر جزاكم الله خيرا db1.rar تم تعديل نوفمبر 14, 2013 بواسطه عادلصباح 1
أبا عمر قام بنشر نوفمبر 14, 2013 قام بنشر نوفمبر 14, 2013 السلام عليكم ورحمة _الله_ وبركاته تفضل أستاذي لعل هذا ما تريد لقد قمت بتعديل بعض المسميات الى الإنجليزية بعد التحديث لمربع التحرير والسرد يبدأ عمل الترقيم A_db1.rar
ابوخليل قام بنشر نوفمبر 14, 2013 قام بنشر نوفمبر 14, 2013 [no] = (s * 1000000) + DCount("[no]", "[tb]", "left([tb]![no],1)=" & [s]) + 1 رائع
عادلصباح قام بنشر نوفمبر 16, 2013 الكاتب قام بنشر نوفمبر 16, 2013 أخي الكريم / أبا عمر جزاكم الله خيرا على اهتمامكم بموضوعي هذا ما كنت اريده بالفل ولكن هل يمكن كتابة الترقيم من رقم واحد بدل هذا الرقم الكبير بحيث يكون لكل من المدرس والطالب رقم خاص يبدأ من الرقم واحد لكل منهما وجزاكم الله خيرا
أبا عمر قام بنشر نوفمبر 16, 2013 قام بنشر نوفمبر 16, 2013 السلام عليكم ورحمة _الله_ وبركاته أستاذي الحبيب المعادلة كما يلي [no] = (s * 1000000) + DCount("[no]", "[tb]", "left([tb]![no],1)=" & [s]) + 1 والهدف من جعل الرقم بالمليون : - عدم تكرار الرقم حيث كلما كان الرقم الذي نضربه في قيمة مربع التحرير والسرد كما يلي : (s * 1000000) كما يفضل زيادة الرقم عن مليون
أبا عمر قام بنشر نوفمبر 16, 2013 قام بنشر نوفمبر 16, 2013 هناك طريقة أخرى لعمل ترقيم مميز لكل منها وتعتمد على عمل كود مميز بعملومية الترقيم التلقائي لحقل مع رقم المدرس وليكن 1 ورقم الطالب وليكن 2 فمثلا يكون الترقيم كما يلي للمدرس السجل الأول 1_1 للطالب السجل الثاني 2_2 للمدرس السجل الثالث 1_3 للطالب السجل الرابع 2_4 وهكذا حيث الرقم الأول هو رقم الطالب أو المدرس والرقم الثاني هو الترقيم التلقائي بهذا لا يمكن أن يتكرر الرقم أرجو من ربي أن تكون الصورة واضحة
ابوخليل قام بنشر نوفمبر 16, 2013 قام بنشر نوفمبر 16, 2013 مداخلة بعد اذن اخي الاستاذ ابا عمر بحيث يكون لكل من المدرس والطالب رقم خاص يبدأ من الرقم واحد لكل منهما وفي حقل واحد ؟ هذا يعني قبول التكرار اي ان رقم واحد سيتكرر مرتين ورقم 2 مرتين .... وهكذا اذا كان كذلك فيجب ازالة المفتاح من الحقل وضبط الخاصية على قبول التكرار بمعنى انه سيكون للجدول مفتاحا آخر ماذا تقول ؟
عادلصباح قام بنشر نوفمبر 16, 2013 الكاتب قام بنشر نوفمبر 16, 2013 (معدل) أخي الكريم / أبا عمر جزاكم الله خيرا والتي لا أملك غيرها لما تقدمه من خدمات وافادة لي ولكن أعتقد الطريقة الثانية ستكون أفضل من استخدام الرقم المليون حيث يسهل على المدرس أو الطالب حفظ الرقم وعند استخدامه في البرنامج اضيف قبله رقم واحد لمدرس ورقم اثنين للطالب كما استأذنكم بسؤال اضافي هل يمكن عمل ذلك لمجموعة أخرى وهي مجموعة الادارة (الموظفين) فيكون لم الرقم ثالثة ثابت وأضيف اليه الترقيم التلقائي أيضا . فهل يمكنني أتطفل عليكم وأطلب منكم مثال لذلك وجزاكم الله خيرا أما الاخ أبو خليل فلا أعلم كيف يمكن تكرر الرقم وسيكون الرقم تلقائي أعتقد هذا شي صعب أن افهمه بالنسبة لي واذا كان كذلك فأرجو منه زيادة التوضيح بمثال وجزاه الله خيرا تم تعديل نوفمبر 16, 2013 بواسطه عادلصباح
ابوخليل قام بنشر نوفمبر 16, 2013 قام بنشر نوفمبر 16, 2013 تم تحديث الحل حسب طلبك الاخير Private Sub ts1_AfterUpdate() On Error Resume Next Dim i, x, z As Integer i = DCount("no", "tb", "chk=1") x = DCount("no", "tb", "chk=2") z = DCount("no", "tb", "chk=3") If ts1 = 1 Then Me.no = i + 1 ElseIf ts1 = 2 Then Me.no = x + 1 ElseIf ts1 = 3 Then Me.no = z + 1 End If Me.chk = Me.ts1 End Sub وانظر التطبيق حيث يلزم اضطرارا وضع حقل في الجدول يبين النوع ترقيم تلقائي منوع.rar 1
عادلصباح قام بنشر نوفمبر 16, 2013 الكاتب قام بنشر نوفمبر 16, 2013 اخي الكريم / ابو خليل جزاكم الله خيرا على استجابتكم لطلبي ولكن للأسف ليس هذا هو المطلوب . المطلوب عندما أسجل اسم مدرس أو طالب أو موظف يزيد الرقم السابق واحد فعند تسجيل مدرس جديد ويكون أخر رقم لمدرس مثلا 30 يأخذ المدرس الجديد هذا رقم 31 وهكذا بالنسبة للباقي ورقم آخر طالب مثلا 30 يكون 31 وليكن هناك حرف للتمييز بينهما فمثلا للمدرس A31 وللطالب B31 أو 1_31 ، وللمدرس 2_31 وهكذا
عادلصباح قام بنشر نوفمبر 16, 2013 الكاتب قام بنشر نوفمبر 16, 2013 (معدل) يا اخي الكريم / ابو خليل جزاكم الله خيرا هذا هو المطلوب بالفعل جزيت خيرا وبارك الله فيكم وفي علمكم ونفع بكم المسلمين ولكن لي سؤال هل يمكن عمل نموذج خاص بأسماء التخصصات مثلا (بدلا من وضع التخصصات في حقل chk وجعل مصدر الصف "عربي";"1";"انجليزي";"2";"فرنسي";"3" ) فيكون مصدر الحقل من النموذج والذي يقبل اضافة تخصصات له فيما بعد بدلا من الحقل CHk الثابت في بياناته أرجو أن اكون وصلت لكم الفكرة تم تعديل نوفمبر 16, 2013 بواسطه عادلصباح
ابوخليل قام بنشر نوفمبر 16, 2013 قام بنشر نوفمبر 16, 2013 فعند تسجيل مدرس جديد ويكون أخر رقم لمدرس مثلا 30 يأخذ المدرس الجديد هذا رقم 31 وهكذا بالنسبة للباقي ورقم آخر طالب مثلا 30 يكون 31 هذا بالضبط ما عملته لك راجع المثال مرة اخرى ابدأ بالترقيم من 1 وان اردت ان تبدأ من اي رقم فغير الدالة Dcount الموجودة في الكود الى DMax وليكن هناك حرف للتمييز بينهما فمثلا للمدرس A31 وللطالب B31 هذا كلام جديد
أبا عمر قام بنشر نوفمبر 16, 2013 قام بنشر نوفمبر 16, 2013 جزاك _الله_ خيرا أستاذي أبا خليل ونفع بك ومن تحب ومن تخصهم بالدعاء ما هذا الإبداع
عادلصباح قام بنشر نوفمبر 16, 2013 الكاتب قام بنشر نوفمبر 16, 2013 جزاكم الله خيرا على ما قدمته وأرجو أن لا أكون كلفت عليكم بالزيادة
عادلصباح قام بنشر نوفمبر 16, 2013 الكاتب قام بنشر نوفمبر 16, 2013 (معدل) يا اخي الكريم / ابو خليل جزاكم الله خيرا هذا هو المطلوب بالفعل جزيت خيرا وبارك الله فيكم وفي علمكم ونفع بكم المسلمين ولكن لي سؤال هل يمكن عمل جدول خاص بأسماء التخصصات مثلا (بدلا من وضع التخصصات في حقل chk وجعل مصدر الصف "عربي";"1";"انجليزي";"2";"فرنسي";"3" ) فيكون مصدر الحقل من الجدول والذي يقبل اضافة تخصصات له فيما بعد بدلا من الحقل CHk الثابت في بياناته أرجو أن اكون وصلت لكم الفكرة تم تعديل نوفمبر 16, 2013 بواسطه عادلصباح
ابوخليل قام بنشر نوفمبر 16, 2013 قام بنشر نوفمبر 16, 2013 وليكن هناك حرف للتمييز بينهما فمثلا للمدرس A31 وللطالب B31 هذا كلام جديد جديد : لان ماسبق كنا نتعامل مع بيانات الحقل كرقم بالرغم ان نوع الحقل نص اما اذا ادخلنا الحروف فهنا لا يمكن تطبيق الجمل البرمجية السابقة وسنحتاج الى التعامل مع الحقل بطريقة أخرى وهذا ما تم فعله في المثال المرفق حيث يتم استبعاد الحرف ونتعامل مع بقية النص كرقم Private Sub ts1_AfterUpdate() Dim db As Database Dim rs As Recordset Dim strSQL As String Dim i As Integer Set db = CurrentDb strSQL = "SELECT Max(Right([no1],Len([no1])-1)) AS xc FROM tb WHERE (((tb.chk)=paray()))" Set rs = db.OpenRecordset(strSQL, dbOpenSnapshot) If rs.RecordCount > 0 Then rs.MoveFirst On Error Resume Next i = rs![xc] If ts1 = 1 Then Me.no1 = "A" & i + 1 ElseIf ts1 = 2 Then Me.no1 = "B" & i + 1 ElseIf ts1 = 3 Then Me.no1 = "C" & i + 1 End If End If rs.Close Set rs = Nothing Set db = Nothing Me.chk = Me.ts1 End Sub اما بخصوص حقل chk فإن المصدر مربع التحرير وليس الجدول وانما وضعنا الحقل داخل الجدول كي نستخدمه كمعيار ، وانظر اليه في المثال الجديد لتتضح الرؤية واما زيادة الفروع مستقبلا فلا يمكننا ذلك الا بتعديل الكود ايضا ترقيم تلقائي منوع 2.rar
عادلصباح قام بنشر نوفمبر 16, 2013 الكاتب قام بنشر نوفمبر 16, 2013 يا أستاذي الكريم / لا أستطيع الا أن أقول لكم أحسنت فأبدعت وأسأل الله تعالى أن يزيدكم من فضله وعلمه ويجعلك علما لكل المحتاجين الى علمكم ولا تنسى أن زكاة العلم توصيله لمن يحتاج وأخيرا جزاكم الله خيرا
عادلصباح قام بنشر نوفمبر 17, 2013 الكاتب قام بنشر نوفمبر 17, 2013 اخي الكريم / أرجو أن لا تمل من طلباتي وخاصة طلبي الاخير وهو أنا قصدت أن اجعل مصدر الحقل CHK من جدول اخر يوجد تحته مثلا (مدرس ; طالب ; موظف ; 0000 ) بدلا من أن يكون مصدر الحقل CHK قائمة قيم محددة حيث يمكني ذلك من استغلاله في جداول اخرى ( تخصصات المدرسين) ، أقسام(تخصص( الكتاب) ديانات ، أدب ، لغات ، تاريخ جغرافيا وهكذا ) وغير ذلك جزاكم الله خيرا على صبركم علي وتقبلكم لطلباتي
ابوخليل قام بنشر نوفمبر 17, 2013 قام بنشر نوفمبر 17, 2013 ممكن وهو الافضل في غالب الاعمال ولكن ما عمله الاستاذ ابو عمر هو الأصح لانه محمي عن التعديل تم التعديل في المثال ادناه ولكن يجب الحذر بعدم تغيير الارقام لان الكود مبني على الارقام الثلاثة 1 ، 2 3 ترقيم تلقائي منوع 3.rar
عادلصباح قام بنشر نوفمبر 17, 2013 الكاتب قام بنشر نوفمبر 17, 2013 أستاذي الكبير / أبو خليل والله انا مش أقدر أوفي حقكم لذلك أقول لكم كما علمنا الرسول صلى الله عليه وسلم فيما معناه " من صنع لكم معروفا فكافئوه فإن لم تجدوا فقولوا له جزاك الله خيرا " أو كما قال صلى الله عليه وسلم فيما معناه لذلك أتوجه الى شخصكم الكريم وأقول لكم جزاكم الله خيرا وافيدكم علما بأنني جربت أن أضيف تخصصات أخرى في الجدول وتعديل ما يلزم في كود النموذج وتم بنجاح فلكم جزيل الشكر
عادلصباح قام بنشر نوفمبر 23, 2013 الكاتب قام بنشر نوفمبر 23, 2013 أستاذي الكبير / أبو خليل ظهرت مشكلة بعدما قمت بتعديل تصميم لدي وجعله يشتمل على حرف مع الرقم وقمت بتعديل ما يلزم لدي كما وضحت لي في النموذج (ترقيم تلقائي منوع 3) والمشكلة أن الترقيم لا يزيد عن الرقم 10 مع كل حرف حيث يعطيني رسالة (لا يمكن الذهاب الى السجل التالي) بعد الرقم عشرة وهذه مشكلة كبيرة بالنسبة لي . فهل يمكن تعديل الكود ليقبل رقم أعلى من عشرة مع كل حرف . في انتظار مساعدتكم . وجزاكم الله خيرا
أفضل إجابة ابوخليل قام بنشر نوفمبر 23, 2013 أفضل إجابة قام بنشر نوفمبر 23, 2013 لا يزيد عن عشرة ؟ لانه ما زال حقلا نصيا وفي الحقل النصي التسعة اكبر من العشرة بل الاثنان اكبر من العشرة لذا فالكود يختار اكبر عدد في الحقل النصي وهو التسعة ثم يقوم بتحويله الى رقم ثم يضيف اليه واحد ليصبح عشرة ولكن رقم عشرة موجود فعلا لذا يرفض اكسس تكرار الرقم . ومن هنا يتبين من اين جاءت المشكلة التي تحدث معك . والحل هو ان نقوم بتحويل العدد المقتطع الى رقم قبل اختيار اكبر عدد وهذا ماتم تحقبقه في التعديل أدناه التعديل تم داخل سطرين فقط وقد بينتهما . Private Sub ts1_AfterUpdate() Dim db As Database Dim rs As Recordset Dim strSQL As String Dim i As Long ' (1)هذا السطر Set db = CurrentDb strSQL = "SELECT Max(CLng(Right([no1],Len([no1])-1))) AS xc FROM tb WHERE (((tb.chk)=paray()))" '(2) وهذا السطر Set rs = db.OpenRecordset(strSQL, dbOpenSnapshot) If rs.RecordCount > 0 Then rs.MoveFirst On Error Resume Next i = rs![xc] If ts1 = 1 Then Me.no1 = "A" & i + 1 ElseIf ts1 = 2 Then Me.no1 = "B" & i + 1 ElseIf ts1 = 3 Then Me.no1 = "C" & i + 1 End If End If rs.Close Set rs = Nothing Set db = Nothing Me.chk = Me.ts1 End Sub
عادلصباح قام بنشر نوفمبر 23, 2013 الكاتب قام بنشر نوفمبر 23, 2013 أخي وأستاذي الكريم / أبو خليل جزاكم الله خيرا أحسنتم الحل هذا هو المطلوب
عادلصباح قام بنشر نوفمبر 26, 2013 الكاتب قام بنشر نوفمبر 26, 2013 (معدل) اخي الكريم / لي تعقيب ما سبق فقد وقعت في مشكلة كبيرة وهي عدم ظهور عنوان الدورية في النماذج وكذلك عند طباعة التقارير وبالتالي لا يمكن البحث عن عنوان الدورية الا من خلال الرقم وليس بالعنوان وهذه شي صعب ان ابحث بالرقم حيث عنوان الدورية اسهل بكثير ، ثم ان التقارير يجب ان يظهر بعنوان الدورية وبياناتها . فهل من حل لهذه المشكلة وجزاكم الله خيرا مرفق لكم المثال ارجو التعديل عليه للتحويل من الرقم الى العنوان مرة ثانية ترقيم تلقائي منوع 4.rar تم تعديل نوفمبر 26, 2013 بواسطه عادلصباح
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.