Jump to content
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

نظام تكويد بسيريال


Recommended Posts

عندى بس استفسار عرضته قبل كده وملحقتش حل ومازلت لم أعرف له حل حض يناسب اللى محتاجه
محتاج كود أو سيريال لكل داتا بدخلها على الأكسس والكود ده يكون حروف وأرقام بالشكل ده :
FG-BO-1
حيث ان FG  من جدول به اختصارات للأصناف الرئيسية
و BO  جدول به اختصارات للأصناف الفرعية
والرقم ده سيريال بيتغير حسب تغير الأصناف الفرعية وكذلك الأصناف الرئيسة مع عدم التكرار بمعنى
ان الكود اللى بعد ده هيكون FG-BO-2 و FG-BO-3 و هكذا فى حالة اتفاق الأصناف الفرعية والرئيسية
لكن لو غيرت مثلا فى الصنف الرئيسى يبدأ يعد جديد SG-BO-1 , SG-BO-2  ولو غيرت فى الصنف الفرعى يبدأ يعد من جديد يعنى SG-ST-1 , SG-ST-2  وهكذ يعنى السيريال بيتغير بتغير اى صنف رئيسى أو فرعى ويكون بعد أخر رقم منه بدون تكرار
مرفق ملف اكسس مجهز فيه الفورمات بس مش بيدى الرقم صح
أنا آسف جدا جدا على الإزعاج لكن أتمنى ألاقى الحل عند أحد الإخوة الافاضل
 

New Microsoft Access Database (3) - Copy.accdb

Link to post
Share on other sites

السلام عليكم

حاجه على قد الحال ان شاء الله تلبى طلبك تم عمل استعلام qryFilter لتصفيه البيانات بناء على 2 كومبوكس للتصفيه وجلب اخر سجل

ثم فى حدث بعد التحديث لـ GradName تم وضع الكود التالى لجلب اخر سجل واضافه 1 عليه

جرب ووافنا بالنتيجه

Private Sub GradName_AfterUpdate()

lastNum = Nz(DLast("ItemCode", "qryFilter"), 0)
strNum = Right(lastNum, Len(lastNum) - InStrRev(lastNum, "-")) + 1
strLeft = Left(lastNum, InStrRev(lastNum, "-"))

If lastNum = 0 Then
    Me.ItemCode = Me.ItemType.Column(2) & "-" & Me.GradName.Column(2) & "-" & 1
Else
    Me.ItemCode = strLeft & strNum
End If
End Sub

 

بالتوفيق

New Microsoft Access Database (3) - Copy.accdb

  • Like 1
  • Thanks 1
Link to post
Share on other sites

تمام

جزاك الله خيرا

وبارك الله فيك

ونفعنا بعلمك

وعلمك ما ينفعك

ممكن اتواصل معاك أخى لشرح تفصيلى للكود لانى مازلت مبتدىء واريد التعلم هذا ان لم يكن لديك مانع اخى

Edited by mostafa1990
تعديل بسيط
  • Thanks 1
Link to post
Share on other sites

واياكم وفيك بارك الله

كلنا نتعلم من بعضنا ومن اخواننا واساتذتنا جزاهم الله خيرا

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

اما شرح الكود سوف اشرحه ببساطه 

lastNum متغير واسندت له قيمه آخر سجل بالداله -Dlast- من الاستعلام qryFilter بعد فرزه بناء على 2 الكمبوكس

Nz(DLast("ItemCode", "qryFilter"), 0)

ثم اضفت متغير بالسطر الذى بعده strNum

واسندت  الرقم الخاص بالترقيم بعد اقتصاصه بهذا الجزء وبه 3 دوال   Right(lastNum, Len(lastNum) - InStrRev(lastNum, "-"))

ثم اضافه + 1

ثم السطر الذى بعده متغير strLeft

اسندت له الجزء المقصوص قبل الرقم بالجزء وبه 2 داله  Left(lastNum, InStrRev(lastNum, "-"))

ثم قمنا باستخدام if الشرطيه اذا كان المتغير lastNum =0 يضع القيمه الناتجه من السطر التالى

 Me.ItemCode = Me.ItemType.Column(2) & "-" & Me.GradName.Column(2) & "-" & 1

والا ضع القيمه بالزياده

ارجو ان اكون وفقت بالشرح والتوضيح

بالتوفيق اخى

  • Like 2
Link to post
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   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.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...