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

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

قام بنشر

السلام عليكم

الملف مرفق !

ان بحاجة الى برمجة تعطي رقم تسلسلي جديد حسب الخيار من كومبوبوكس.

مثلا عند اختيار اختصاص معين مثلا الاختصاص الاول، يصبح الرقم التسلسلي01/001 و تتتالا الارقام من نفس الاختصاص الى 01/002 و 01/003 الخ

اما في حال اختيار الاختصاص الثاني من الكومبوبوكس فيصبح الرقم التسلسلي 02/001 ومن ثم 02/002 ، 02/003 الخ

وهكذا دواليك الاختصاص الثالث والرابع الخ

ارجو ان تكون وصلت فكرتي

وشكرا لتعاونكم

ID.rar

قام بنشر

مرحب فيك شوف المرفق وطبق حسب احتياجك
 

اعتقد النموذج اللي اسمه (ترقيم حسب الاختيار ) هو اللي بيخدمك 

انا كنت مجهز شرح لموضوع الترقيم لكن ما اسعفني الوقت

الترقيم.accdb

  • Like 1
قام بنشر (معدل)

اخي ابو خليل،

عندي مجموعة اطباء باختصاصات مختلفة، اعطيت كل اختصاص رقم: 01، 02، 03، 04،.....

اريد كلما اضفت طبيب من اختصاص معين من الكومبوبوكس مثلا CardioChirurgien وهو 01 ان يصبح  ال   DoctorID   

01/001  والطبيب التالي 01/002 الخ

وهكذا الاختيار Cardiologue  وهو 02 ان يصبح ال DoctorID  

02-001 والطبيب التالي 02/002 الخ

وفي النتيجة لكل طبيب  رقم ID مكون من رقم الااختصاص + رقمه التسلسلي

ارجو ان تكون وصلت فكرتي

وشكرا

 

تم تعديل بواسطه abouzak
قام بنشر

شكرا للاخ خليفة

للاسف ربما اسأت الشرح

بكل بساطة، اريد ترقيم تلقائي لكل طبيب حسب اختصاصه (الاختصاص يتم اختياره من الكومبوبوكس) ، الاختصاصات مرقمة في tblspecialty تحت مسمى SpecialtyID

عند اختيار Cardiology من الكومبوبوكس في فورم New Doctor يظهر مباشرة في DoctorID ويكون autonumber دون تدخل مني  رقم تسلسلي للطبيب الجديد بحيث ان يتكون من 

القيمة المقابلة ل Cardiology والتي هي 04 وبعدها / ومن ثم 001 لتكون النتيجة 04/001 بالنسبة لاول طبيب قلب وهكذا عند اضافة طبيب قلب ثاني يكون رقمه التسلسلي 04/002 الخ الخ

 في المحصلة كل اطباء Cardiology يبدأ رقمهم ب 04 وينتهي ب 001 لاول طبيب وب 002 

وكل  اطباء Pediatrics يبدأ رقمهم ب 20 وينتهي ب 001 لاول طبيب وب 002 

 

قام بنشر

شكرا على الملاحظة.

هل تسمح لي بسؤل اخر ؟ من فضلك !

 او انه يجب ان اضيف موضوع جديد؟ 

لدي خانة Date في فورم New Patient عندما اقوم بكتابة تاريخ معين، مثلا 17/11/2022

اريد ان يصبح الرقم التسلسلي تلقائيا في خانة PatientID  

2211-001 بدون اليوم dd

يعني السنة والشهر yymm ومن ثم - ويليها autonumber مكون من ثلاث ارقام 000 

اسف على الازعاج

I D.accdb

قام بنشر

ابشر

ولكن الفت انتباهك الى وجود خطأ غير مقصود في اول سطر من الكود السابق

Dim i As String, x As Integer

عدله الى :

Dim i , x As Integer

 

قام بنشر

حسنا لقد عدلته بنجاح

بارك الله بكم على اهتمامكم اخي ابو خليل

قام بنشر

تفضل

ولكن عندي لك نصائح تخص التسميات لا بد ان تنتبه لها مستقبلا

- تجنب تسمية الحقول او الكائنات باسماء محجوزة في اكسس مثل Date   او اي دالة من دوال الاكسس

- تجنب ترك مسافات فارغة عند التسمية في كلمتين مثلا

طبعا هذه وجدتها في مثالك وقمت بتعديلها

تفضل

Dim i As String, x As Integer
i = Format(Me.p_Date, "mmyy")
x = DCount("*", "tblPatients") + 1
Me.PatientID = i & "/" & Format(Str(x), "000")

 

ID4.rar

  • Like 1
  • Thanks 1
قام بنشر

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

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

وعملت علي هذا المرفق - ولم أري رد استاذنا ومعلمنا @ابوخليل جزاه الله خيرا 

ولا شك ليس بعد رده ردود أخري 

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

 

ID.rar

  • Like 1
قام بنشر

الشكر موصول لك اخي ابو عبدالله الحلواني

كود الذي وضعه الاخ ابو خليل سهل التطبيق ولكن النتيجة 1/001 بدلا من 01/001

ولا ادري كيف اعدله ؟

طريقة الاخ ابو عبدالله الحلواني معقدة بالنسبة لي ولكن اعطت النتيجة المرجوة.

 

قام بنشر
4 ساعات مضت, abouzak said:

كود الذي وضعه الاخ ابو خليل سهل التطبيق ولكن النتيجة 1/001 بدلا من 01/001

ولا ادري كيف اعدله ؟

اذا تريد تعدله يجب عليك اولا تعديل نوع الحقل  SpecialtyID  في جدول Specialty  الى نصي ثم اكتب الارقام  01  ، 02  وهكذا ...

ثم ارجع الى الكود و عدل السطر كما كان في اول مشاركة :

18 ساعات مضت, ابوخليل said:

 

Dim i As String, x As Integer

 

 

قام بنشر
في 29‏/1‏/2023 at 21:53, ابوخليل said:
Me.DoctorID = i & "/" & Format(Str(x), "000")

 

أو عدله - بعد اذن استاذنا ابو خليل - بنفس اسلوب استاذنا ابو خليل هكذا

Me.DoctorID = Format(Str(i), "00") & "/" & Format(Str(x), "000")

 

  • Thanks 1
  • 4 weeks later...
قام بنشر

السلام عليكم

شكرا للمساعدة 

لكن واجهتني مشكلة

عند بداية شهر جديد ال  ID    لا يبدئ العد من جديد بل يكمل العد من الشهر السابق.

انا اريد ان يبدئ العد من 001 مع كل شهر جديد.

اتمنى ان تكون فكرتي واضحة

قام بنشر
2 ساعات مضت, abouzak said:

عند بداية شهر جديد ال  ID    لا يبدئ العد من جديد بل يكمل العد من الشهر السابق

جرب هذا السطر

Me.PatientID = i & " /" & Format(DCount("PatientID", "tblPatients", "[PatientID]<=" & [PatientID] & " AND Month(p_Date)=" & Month([p_Date]) & "") + 1, "000")

 

قام بنشر

شكرا أخ Eng.Qassim

خبرتي بالاكسس بدائية

هل بالامكان تطبيق السطر المرسل على الملف المرفق؟

شكرا لتعاونكم

قام بنشر
31 دقائق مضت, abouzak said:

هل بالامكان تطبيق السطر المرسل على الملف المرفق؟

طبعا..ضعه بدلا من السطر القديم

قام بنشر

تفضل ترقيم يتجدد كل سنة

'لو اردت خانة الرقم تصبح 4 اصفار طبق التعليقات التي امام الاسطر
Dim xLast, xNext As Integer
Dim i, t, tt, x As Integer
t = Format(Date, "yy")
tt = Format(DMax("PatientID", "tblPatients"), "yy")
i = Format(Me.p_Date, "mmyy")
xLast = Right(DMax("PatientID", "tblPatients", tt = t), 3)       ' يصبح الرقم 4 بدلا من 3
If IsNull(xLast) Then
xNext = 1
Else
xNext = xLast + 1
End If
Me.PatientID = i & "/" & Format(xNext, "000")             'وهنا تزود صفر على الثلاث اصفار

 

ID44.rar

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information