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

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

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