اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

اعادة الترقيم عند دخول مستخدم جديد


الحلبي
إذهب إلى أفضل إجابة Solved by ابوخليل,

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

السلام عليكم 

مرفق مثال صغير لما اريده 

لدينا نموذج به زر (ترقيم) 

المطلوب :   عند الضغط على زر ترقيم ان يعطى ترقيم تسلسلى وهذا تمام حسب الكود المرفق ـ المطلوب عند ادخال اسم مستخدم  جديد يبدأ الترقيم من رقم 1 

اي ان كل مستخدم له ترقيم تسلسلى من رقم (1 الى مالا نهاية) وعند ادخال اسم مستخدم جديد يبدأ الترقيم من رقم 1

اعادة الترقيم.accdb

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

وعليكم السلام اخي الحبيب

طلبك واضح ومفهوم .. اطلعت على المرفق ، واليك ملاحظاتي وهي خطوات يمكنك تطبيقها

اولا : يجب ان يتم اختيار (او كتابة)  معرف او يوزر المستخدم اولا .. فان كان موجود سيظهر اسمه ، وان كان جديد يلزم كتابة اسمه

نأتي للترقيم :

عند النقر على الزر

  يتم  " عد "  معرفات المستخدم الموجودة باستخدام  : Dcount  .. ويضاف لها واحد (+1) 

 

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

معلمنا واستاذنا الجليل / @ابوخليل

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

اليك ما قمت به لكن مش عارف اكمل الكود 

هل ما قمت به هو قصدك 

اعادة الترقيم.accdb

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

استاذنا الكبير / @husamwahab

شرفت بمشاركتك الله يجزاك خير 

انا مش عارف ابدا من اين ومتى اضغط على الزر

ولو سمحت ما معنى OldValue هل معناها القيمة القديمة او القيمة الاولى

 

تم تعديل بواسطه الحلبي
رابط هذا التعليق
شارك

شكرا لاستاذنا القدير حسام على المداخلة

انظر المرفق

انا بسطت لك العملية ، حيث حولت النموذج الى ادخال بيانات : نعم

بمعنى انك سوف تدخل المعرف واسم المستخدم 

المهم ان الفكرة تصل

ترقيم حسب المستخدم.rar

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

استاذي العزيز الحلبي لي شرف المشاركة خصوصا بوجود الاستاذ ابو خليل وحضرتك

الزر لفتح سجل جديد 

اما طلبك للترقيم فهو بعد اختيار اسم المستخدم

اما old value فهي تعيد القيمة القديمة ووجدتها مفيدة اذا ما اردت التعديل على سجل ما

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

الاساتذه  العباقرة / حياكم الله

جزاكم الله خيرا على ما تفعلونه لمساعدتنا 

فى مثال معلمنا / ابو خليل  ومثال معلمنا حسام يكون التالى

اذا دخلنا اسم مستخدم يبدأ بالتسلسل وهذا جميل جدا

اذا دخلنا اسم مستخدم جديد يبدا من رقم 1 وهذا اجمل واجمل

ولكن اذا دخلنا اسم المستخدم الاول الذى معرفه 1 يكمل التسلسل ويكتب رقم الفاتورة رقم 2 فى حين ان الصح يبدأ من جديد من رقم 1

يعنى عند ادخال اى اسم حتى ولو كان من الاسماء الموجودة يبدأ من جديد من رقم 1

وانا شاكر جدا لكم والله يحفظكم ويبارك فيكم 

تم تعديل بواسطه الحلبي
رابط هذا التعليق
شارك

حبيبنا الكود :

Dim i As Integer
i = DCount("usr_id", "voice", "usr_id=" & usr_id)
voiceno = i + 1

الكود يقوم بجمع عدد السجلات في الجدول  المشابهة للمعرف الموجود في الفورم  ثم  يضيف اليها واحد

المعرف الجديد الذي يكتب في الفورم  ليس له سجلات في الجدول اي انه = صفر   فيضيف له واحد فتصبح النتيجة =1

انا قلت ان المهم ان الفكرة تصل .. بحيث يمكنك توظيف الكود 

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

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

استاذنا الجليل

امسح كل مافى الجدول وابدأ من جديد

ادخل فى المعرف  رقم ا مثلا  تلاقى  رقم الفاتورة ا      جميل جدا

ادخل فى المعرف رقم ا  تلاقى رقم الفاتورة 2  جميل جدا 

ادخل فى المعرف رقم 2 تلاقى رقم الفاتورة رقم ا (يبدأ من جديد) اجمل واجمل

ارجع لرقم ا مرة اخرى وادخله فى المعرف تلاقى سجل رقم الفاتورة 2  مع ان المفروض يرجع لرقم ا لانه مستخدم جديد

تم تعديل بواسطه الحلبي
رابط هذا التعليق
شارك

42 دقائق مضت, الحلبي said:

استاذنا الجليل

امسح كل مافى الجدول وابدأ من جديد

ادخل فى المعرف  رقم ا مثلا  تلاقى  رقم الفاتورة ا      جميل جدا

ادخل فى المعرف رقم ا  تلاقى رقم الفاتورة 2  جميل جدا 

ادخل فى المعرف رقم 2 تلاقى رقم الفاتورة رقم ا (يبدأ من جديد) اجمل واجمل

ارجع لرقم ا مرة اخرى وادخله فى المعرف تلاقى سجل رقم الفاتورة 2  مع ان المفروض يرجع لرقم ا لانه مستخدم جديد

غير صحيح يا دكتور

ما خط بالاحمر النتيجة تكون 3

انا جربت قبل ان ارفق المثال وايضا الآن اعدت التجربة

ما خط بالاخضر كيف المعرف رقم 1 يكون مستخدم جديد  وهو مسجل له فاتورتين

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

 

معلمنا  الجليل 

المقصود من كل هذا 

ان المستخدم عندما يدخل على البرنامج يبيع يبدأ برقم الفاتورة رقم 1  الى  رقم 200  وتنهى فتره الشفت له

وعندما يدخل مستخدم اخر موجود اصلا فى قائمة المستخدمين  تبدأ الفاتورة برقم 1 الى رقم 150 مثلا  وتنهى فتره الشفت

انا اريد فى كل مرة يدخل مستخدم من المستخدمين المسجلين بقائمة المستخدمين تبدأ الفاتورة من رقم ا (واحد)   

وذلك لان المستخدم الاول يعمل فى الشفت الواحد 200 فاتورة وبعدين المستخدم اللى بعده 150 فاتورة وبهذا يكون وصلنا الى رقم فاتورة  450

هذا فى اليوم الواحد اى بعد شهر نصل الى رقم فاتورة كبير جد1

فانا فكرت ان يدخل المستخدم يبدأ  من رقم 1 حتى لا نصل فى اليوم الواحد الى رقم فاتورة كبير

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

لك كل التحية والتقدير

 

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

  • أفضل إجابة

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

الآن خرجت لنا بفكرة جديدة

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

وهنا لا يلزم ادخال المعرف لانه سوف يظهر في النموذج بمجرد دخوله ، ومع هذا يجب رصده في الجدول مع كل عملية

ليصبح الكود مثل هذا :

Dim i As Integer
i = DCount("usr_id", "voice", "usr_id=" & usr_id & " and voicedate=#" & Date & "#")
voiceno = i + 1

 

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

52 دقائق مضت, ابوخليل said:

والحل حسب رأيي ان يكون الترقيم للمستخدم حسب تاريخ اليوم

الله يفتح عليك معلمنا الجليل 

حلو مرة الحته حق التاريخ

انا طبقت حسب المثال المرفق وكله تمام ـ يارب اعرف اطبقه على برنامجى

استاذي الفاضل / ابو خليل 

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

كل الاحترام والتقدير لكم 

الشكر موصول للاستاذ العبقرى / @husamwahab

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

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