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

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


mostafa1990

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

عندى بس استفسار عرضته قبل كده وملحقتش حل ومازلت لم أعرف له حل حض يناسب اللى محتاجه
محتاج كود أو سيريال لكل داتا بدخلها على الأكسس والكود ده يكون حروف وأرقام بالشكل ده :
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

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

السلام عليكم

حاجه على قد الحال ان شاء الله تلبى طلبك تم عمل استعلام 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
رابط هذا التعليق
شارك

تمام

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

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

ونفعنا بعلمك

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

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

تم تعديل بواسطه mostafa1990
تعديل بسيط
  • Thanks 1
رابط هذا التعليق
شارك

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

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

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

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

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
رابط هذا التعليق
شارك

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