حسين العربى قام بنشر أكتوبر 28, 2020 قام بنشر أكتوبر 28, 2020 (معدل) السلام عليكم ورحمة الله وبركاته اخواني اعضاء ومشرفي المنتدي الكرام طلبي هو كيف اجعل الرقم الذي يأتي بعد GRN01 يزيد بعد كل نقره علي زر امر بمعني عند الضغط علي زر امر يزيد مثلا GRN02 وعند الضغط مره اخري يزيد 1 ويكون GRN03 وهكذا عند الضغط في كل مره يزيد 1 الرقم الي هو بعد الاحرف 3733.accdb تم تعديل أكتوبر 28, 2020 بواسطه حسين العربى
kanory قام بنشر أكتوبر 28, 2020 قام بنشر أكتوبر 28, 2020 منذ ساعه, حسين العربى said: السلام عليكم ورحمة الله وبركاته اخواني اعضاء ومشرفي المنتدي الكرام طلبي هو كيف اجعل الرقم الذي يأتي بعد GRN01 يزيد بعد كل نقره علي زر امر بمعني عند الضغط علي زر امر يزيد مثلا GRN02 وعند الضغط مره اخري يزيد 1 ويكون GRN03 وهكذا عند الضغط في كل مره يزيد 1 الرقم الي هو بعد الاحرف 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") 4
حسين العربى قام بنشر أكتوبر 28, 2020 الكاتب قام بنشر أكتوبر 28, 2020 استاذي الفاضل والله مش عارف اشكرك ازاي طبعا ده هو المطلوب بس ناقص لمساتك الفنية انا مش عاوزه يضيف سجلات تحت بعض انا عاوزه زي تحديث يعني يحدث الحقل فقط
أفضل إجابة kanory قام بنشر أكتوبر 29, 2020 أفضل إجابة قام بنشر أكتوبر 29, 2020 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") وافينا بالنتيجة 4 1
أبوبسمله قام بنشر أكتوبر 29, 2020 قام بنشر أكتوبر 29, 2020 مشاركه مع اخى واستاذى @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 2 1
kanory قام بنشر أكتوبر 29, 2020 قام بنشر أكتوبر 29, 2020 منور استاذ احمد فينك لك وحشة .... عساك بصحة وعافية 2 1
أبوبسمله قام بنشر أكتوبر 29, 2020 قام بنشر أكتوبر 29, 2020 الان, kanory said: منور استاذ احمد فينك لك وحشة .... عساك بصحة وعافية ده نورك اخى العزيز ربنا يعزك وكذلك انتم وحشنى اخى بس بعتب عليك بمنداتى استاذ فاننى اخوكم الصغير وطالب علم اتعلم منكم اخوانى واساتذتى شويه ضغط فالشغل الفتره اللى فاتت والحمد لله خف الضغط شويه اسال الله ان يديم بيننا الموده والحب فالله 1 1
حسين العربى قام بنشر أكتوبر 29, 2020 الكاتب قام بنشر أكتوبر 29, 2020 (معدل) الف شكر شكر استاذي الفاضل kanory علي مجهودك العظيم معي هذا هو المطلوب ولك جزيل الشكر والف شكر لاستاذي الفاضل الفلاحجى لاكن لي ملحوظه بعد تجربة الكود وعموما لك مني الف تحية علي اهتمامك لماذا بعد الرقم 100 يبد من 1 مره اخري تم تعديل أكتوبر 29, 2020 بواسطه حسين العربى
أبوبسمله قام بنشر أكتوبر 29, 2020 قام بنشر أكتوبر 29, 2020 الشكر لله اخى حسين اما لماذا توقف عند الرقم 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 بالتوفيق 2
حسين العربى قام بنشر أكتوبر 29, 2020 الكاتب قام بنشر أكتوبر 29, 2020 مشاء الله عليك عليك استاذي الفاضل الفلاحجى عمل ممتاز بصراحه زادك الله من علمه والف شك لك ولكل الاخوه الافاضل الي ساعدوني
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.