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

ترقيم تلقائى بشروط فى النموذج


shawky75140

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

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

يوجد فى الملف المرفق نموذج (t1) به حقل (m) يقوم بالترقيم التلقائى لغاية 50 رقم

ارغب فى تعديل الكود ليمنع التسجيل فى حقل (m) الا بعد اضافة الرقم الذى يتم من عنده العد مرة اخرى عن طريق 

ظهور رسالة يتم ادخال الرقم الذى سيتم من عنده ابتداء العد مرة اخرى 

 اسف على الاطالة

ترقيم تلقائى.accdb

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

السلام عليكم استاذ شوقى

مشاركه مع اخى واستاذى مهندس @Eng.Qassim جزاه الله خيرا

واستكمالا للموضوع السابق بخصوص هذا الموضوع

وبالنسبه للترقيم من والى حسب طلبك ثم يقوم منك بطلب تسلسل آخر

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

وع حسب المشكله التى واجهتك بالنسبه للحذف وبعد توضيح انه لا يحبذ الحذف وانما ترك السجل مع وضع حقل من نوع (نعم ولا) للاستفاده منه على الاشاره بان هذا السجل ملغى ونستطيع الفرز عليه ع السجلات المطلوبه وليست الملغيه

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

فقمت بادراج حقل YN  وحقل Nots للملاحظات فالجدول T1

وقمت بادراج مربعى نص بالنموذج T1 وهما txtS و txtE لكتابه بدايه التسلسل ونهايته

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

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

وقمت بانشاء استعلام qry لفرز السجلات بناء على txtS و txtE

Between [Forms]![T1]![txtS] And [Forms]![T1]![txtE]

وقمت بادراج الكود التالى فى نفس الحدث السابق

Private Sub Form_BeforeInsert(Cancel As Integer)
'Me.M = DLast("M", "T1", (DCount("*", "T1") Mod 50)) + 1

    x = Nz(DMax("m", "qry"), 0)
    If Val(x) = 0 Then
        Me.M = Me.txtS
    ElseIf Val(x) >= Val(Me.txtE) Then
        MsgBox "برجاء ادخال ارقام القسيمه الجديده"
        DoCmd.CancelEvent
        Exit Sub
    Else
        Me.M = Val(x) + 1
    End If
    DoCmd.RunCommand acCmdSaveRecord
    
End Sub

بالنسبه لخانه الالغاء عندما يتم التاشير عليها سيتم اخفاء السجل من النموذج مباشره

اتركك الان مع المرفق للتجربه واذا فى استفسار اتفضل استاذ شوقى

بالتوفيق

ترقيم تلقائى_2.accdb

  • Like 1
  • Thanks 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