اذهب الي المحتوي
أوفيسنا

مطلوب ترقيم شهري


إذهب إلى أفضل إجابة Solved by أبوبسمله,

الردود الموصى بها

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

السادة الأعضاء الأفاضل ..بحثت في المنتدي لكني لم اوفق في التواصل للمطلوب

اريد ترقيم شهري يتغير بتغير الشهر بهذه الصيغة

2020/08/001

001 هو الترقيم

2020/08 وهذا هو الشعر والسنة

جربت بعض  الاكواد وألامثلة ولكن لم اصل للمطلوب

اشكركم جميعاً

رابط هذا التعليق
شارك

ممكن تستفيد من المرففترقيم حسب الشهر.mdb

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

 

ترقيم حسب الشهر.mdb الترقيم حسب الشهر والسنة.rar

  • Like 1
رابط هذا التعليق
شارك

في ٢٧‏/٨‏/٢٠٢٠ at 19:20, طاهر الوليدي said:

ممكن تستفيد من المرففترقيم حسب الشهر.mdb

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

 

ترقيم حسب الشهر.mdb 320 kB · 3 تنزيلات الترقيم حسب الشهر والسنة.rar 20.42 kB · 6 تنزيلات

للاسف جربتها كلها ولم تفلح في ما اريد

اريد كود ترقيم شهري بهذه الصيغة

2020/08/001

001 هو الترقيم

2020/08 وهذا هو الشهر والسنة

ويتغير بتغير الشهر تلقائيا

اتمني اجد ما أريده

رابط هذا التعليق
شارك

السلام عليكم اخى @محمد سلامة

مشاركه مع الاخ طاهر جزاه الله خيرا

اتفضل استاذ محمد هذا المثال حاجه على قدى لعله يفى بالغرض

وضعت الكود فى حدث بعد التحديث للتاريخ بامكانك وضعه فالحدث المناسب لك

sYM = DCount("dDate", "tblNum", "(year([ddate]) & month([ddate]))='" & Format(Me.dDate, "yyyym") & "'") + 1

Me.IdYM = Format(Me.dDate, "yyyy/mm") & "/" & Format(sYM, "000")

m.png.2c8fb0667aabcf52c2593ad4d6c666cf.png

بالتوفيق

 

New.accdb

  • Like 2
رابط هذا التعليق
شارك

جزاك الله خيرا استاذ احمد الفلاحجي وبارك الله فيك

5 ساعات مضت, الفلاحجى said:

اتفضل استاذ محمد هذا المثال حاجه على قدى لعله يفى بالغرض

وضعت الكود فى حدث بعد التحديث للتاريخ بامكانك وضعه فالحدث المناسب لك


sYM = DCount("dDate", "tblNum", "(year([ddate]) & month([ddate]))='" & Format(Me.dDate, "yyyym") & "'") + 1

Me.IdYM = Format(Me.dDate, "yyyy/mm") & "/" & Format(sYM, "000")

 

استاذ جعفر جزاك الله خيرا معلوكة وملحوظة جيدة جدا

2 ساعات مضت, jjafferr said:

هنا ملاحظة من الاستاذ المحاسب عبدالله قدور ، لما استعملت Dcount 

=================================================

وقد نسخة المعلومة هنا ليستفيد منها الاعضاء  مستقبلاً

================================================

وعليكم السلام أخي عبدالله  :smile:

 

انا في اعتقادي Dcount أفضل ، لهذه الاسباب:

 

1. لسنا بحاجة الى الامر NZ لأول رقم ،

2. اذا لأي سبب تم حذف سجل في منتصف السجلات ، فـ Dmax سيعطيك الرقم الاكبر التالي ، مما يعني انك لن تعرف ان هناك رقم ناقص/تم حذفه من المنتصف ، ويصبح التسلسل غير صحيح (إلا اذا كان هذا غير مهم ، فهنا Dmax أفضل) ،

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

3. Dmax يقرأ بيان الحقل ، بينما Dcount يحسب السجلات ، لهذا  Dcount اسرع في التنفيذ   :smile:

 

ولكن في نهاية الامر ، كل الطرق تؤدي الى روما ، والخيار للذي ترتاح له  :smile:

 

تم تعديل بواسطه jjafferr
تم تظليل المادة 2 لتكون واضحة
رابط هذا التعليق
شارك

9 دقائق مضت, jjafferr said:

شكرا لك اخي محمد ، ولكن الاستاذ عبدالله يقول استعمل DMax ولا تستعمل DCount ، للسبب رقم 2 في ملاحظتي اعلاه 🙂 

 

جعفر

اشكرك استاذ جعفر علي المتابعة @jjafferr

فعلا .. وانا اريد إستعمال dmax  لأنها تناسب البرنامج الذي اعمل علي تنفيذه الان ..

واحاول تعديل مثال استاذ الفلاحجي باستبدال Dcount بي Dmax 

ولكن لم يفلح التعديل 

 

 

 

رابط هذا التعليق
شارك

جزاك الله خيرا اخى واستاذنا الجليل @jjafferr على هذا الرابط والمعلومات القيمه جعلها الله فى موازين حسناتكم

وفيك بارك الله اخى @محمد سلامة

سوف احاول العمل عالتعديل وان شاء الله احد اخواننا واساتذتنا يساعد معنا

رابط هذا التعليق
شارك

  • أفضل إجابة

اخى الفاضل @محمد سلامة

جرب التعديل التالى ووافنى بالنتيجه وارجو الاطلاع من اخى ومعلمنا العزيز @jjafferr

dl = Nz(DMax("idym", "tblNum", "(year([ddate]) & month([ddate]))='" & Format(Me.dDate, "yyyym") & "'"), 0)

rd = Right([dl], Len([dl]) - InStrRev([dl], "/")) + 1

Me.IdYM = Format(Me.dDate, "yyyy/mm") & "/" & Format(rd, "000")

 

New - 1.accdb

  • Like 1
رابط هذا التعليق
شارك

ممكن تختصرها الى :

dl = Nz(DMax("idym", "tblNum", "(year([ddate]) & month([ddate]))='" & Format(Me.dDate, "yyyym") & "'"), 0)

rd = int(Right([dl],3)) + 1

Me.IdYM = Format(Me.dDate, "yyyy/mm") & "/" & Format(rd, "000")

 

ولكن تذكر ، انك تأخذ التاريخ من الحقل الآخر ، وليس من نفس الحقل الذي فيه الرقم.

 

جعفر

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

  • 2 weeks later...
18 دقائق مضت, jo_2010 said:

شكرا على الاجابة التى افادتنى كثيرا

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

بالتوفيق

  • Like 1
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

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



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information