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

كود زيادة رقم ياتي بعد احرف من خلال زر امر


إذهب إلى أفضل إجابة Solved by kanory,

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

السلام عليكم ورحمة الله وبركاته اخواني اعضاء ومشرفي المنتدي الكرام

طلبي هو كيف اجعل الرقم الذي يأتي بعد GRN01 يزيد بعد كل نقره علي زر امر 

بمعني عند الضغط علي زر امر يزيد مثلا GRN02  وعند الضغط مره اخري يزيد 1 ويكون  GRN03  وهكذا عند الضغط في كل مره يزيد 1 الرقم الي هو بعد الاحرف

 

120.png

3733.accdb

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

منذ ساعه, حسين العربى said:

السلام عليكم ورحمة الله وبركاته اخواني اعضاء ومشرفي المنتدي الكرام

طلبي هو كيف اجعل الرقم الذي يأتي بعد GRN01 يزيد بعد كل نقره علي زر امر 

بمعني عند الضغط علي زر امر يزيد مثلا GRN02  وعند الضغط مره اخري يزيد 1 ويكون  GRN03  وهكذا عند الضغط في كل مره يزيد 1 الرقم الي هو بعد الاحرف

 

120.png

3733.accdb 828 kB · 0 downloads

تحت حدث عند الضغط على الزر لديك ضع هذا الكود

'Me.[FATORA_NO] = [FATORA_NO] + 1
On Error Resume Next
DoCmd.RunCommand acCmdRecordsGoToNew
Dim s As String, x As Integer
s = "GRN"
x = DCount("*", "101") + 1
Me!FATORA_NO = Format(s & Str(x), "000")

 

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

استاذي الفاضل والله مش عارف اشكرك ازاي 

طبعا ده هو المطلوب بس ناقص  لمساتك الفنية 

انا مش عاوزه يضيف سجلات تحت بعض  انا عاوزه زي تحديث 

يعني يحدث الحقل فقط 

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

  • أفضل إجابة
13 ساعات مضت, حسين العربى said:

استاذي الفاضل والله مش عارف اشكرك ازاي 

طبعا ده هو المطلوب بس ناقص  لمساتك الفنية 

انا مش عاوزه يضيف سجلات تحت بعض  انا عاوزه زي تحديث 

يعني يحدث الحقل فقط 

طيب ضع الفانك هذا في وحدة نمطية

Function Seperate_Digits(T As String) As String
    Dim i As Integer
    Dim C As String
    Dim Which_Letter As String
    If Len(T & "") = 0 Then
        Seperate_Digits = ""
        Exit Function
    End If
    For i = 1 To Len(T)
        C = Asc(Mid(T, i, 1))
        Select Case C
            Case 46, 48 To 57
                Which_Letter = Which_Letter & Mid(T, i, 1)
            Case 47
                Which_Letter = ""
        End Select
    Next i
    Seperate_Digits = Which_Letter
End Function

ثم ضع الكود التاليى تحت حدث الزر

On Error Resume Next
Dim s As String, x As Integer
s = "GRN"
x = Seperate_Digits(Me!FATORA_NO)
Me!FATORA_NO = Format(s & Str(x) + 1, "000")

وافينا بالنتيجة

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

مشاركه مع اخى واستاذى @kanory جزاه الله خيرا

حاجه كده على قد حالى

 dl = Nz(DMax("FATORA_NO", "101"), 0)
    rd = Int(Right([dl], 2)) + 1
    strLeft = Left(dl, 3)
    Me.[FATORA_NO] = strLeft & Format(rd, "00")
    Me.Refresh

تقبلوا تحياتى وتمنياتى بالتوفيق

3733.accdb

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

الان, kanory said:

منور استاذ احمد فينك لك وحشة .... عساك بصحة وعافية

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

شويه ضغط فالشغل الفتره اللى فاتت والحمد لله خف الضغط شويه

اسال الله ان يديم بيننا الموده والحب فالله

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

الف شكر  شكر استاذي الفاضل kanory علي مجهودك العظيم معي هذا هو المطلوب ولك جزيل الشكر

والف شكر لاستاذي الفاضل الفلاحجى لاكن لي ملحوظه بعد تجربة الكود وعموما لك مني الف تحية علي اهتمامك

 

لماذا بعد الرقم 100 يبد من 1 مره اخري

 

 

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

الشكر لله اخى حسين

اما لماذا توقف عند الرقم 100 فهذا لان السطر الثانى من الكود لقطع اول رقمين

يمكنك زياده الفورمات للاصفار لاربعه كما الكود التالى وزياده القطع فالسطر الثانى

  dl = Nz(DMax("FATORA_NO", "101"), 0)
    rd = Int(Right([dl], 4)) + 1
    strLeft = Left(dl, 3)
    Me.[FATORA_NO] = strLeft & Format(rd, "0000")
    Me.Refresh

 

ويمكنك استبدال الكود والاستغناء عن الفورمات كالتالى

   dl = Nz(DMax("FATORA_NO", "101"), 0)
    rd = Int(Right([dl], Len(dl) - 3)) + 1
    strLeft = Left(dl, 3)
    Me.[FATORA_NO] = strLeft & rd
    Me.Refresh

بالتوفيق

  • 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