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

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

قام بنشر (معدل)

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

طلبي هو كيف اجعل الرقم الذي يأتي بعد 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