منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : الترقيم التلقائي
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله
إخواني الاعزاء أريد تغيير بسيط في هاذا المثال المقتبس من السيد عبد العزيز البسكري والمطلوب 
 أن  في كل سنة يبتدئ  الترقيم التلقائي  بعدد(1) ثم 2 إلى آخر السنة وفي السنة الموالية يرجع من الاول  بعدد (1)  الخ…
جزاكم الله كل خير.
وعليكم السلام ورحمة الله وبركاته

قم بإستخدام هذا الكود ..
بدلاً من الكود المستخدم في المشروع المرفق ...

كود :
Sub LOAD_No_AUTO()
   Call ConnectionDatabase
   
   If RS.State = adStateOpen Then RS.Close
   
   RS.Open "Select Max(Id) As maxID  From [Users] Where Left(Id,2) = '" & Right(Year(Now), 2) & "'", DB, adOpenStatic, adLockOptimistic
   
   Dim max_NO As Long
   
  ' Y = Format(Now, "yyyy")
   If Not RS!maxID Then
      max_NO = Val(RS!maxID) + 1
   Else
      max_NO = Right(Year(Now), 2) & Format(1, "00000")
   End If
   
   Text1.Text = max_NO
   
 '  If max_NO = 0 Then
 '  Text1.Text = "PO-00000" & Val(1)
 '  Text1.Text = "PO-00000" & Val(1)
 '  Else
   
   'Text1.Text = "PO-00000" & Val(max_NO) + 1 & "-" & Y
   
 '  Text1.Text = "PO-00000" & Val(max_NO) + 1

  ' End If
End Sub
أخي  طه كيف حالك شكرا على الرد وجزاك الله كل خير
أخي طه فضلا وليس أمرًا أرجوك هل يمكنك أن تجعل Text1.text على هاذا الشكل (Reçu Nº1/2023) 
جزاك الله كل خير.
لم أعرف ماذا تقصد ...
أقصد أخي طه حسب الكود الذي أعطيتني عندما أنقر على الزر فتكون رقم الفاتورة على هاذا الشكل 2300001 فالمطلوب يكون ترقيم الفتورة على هاذا الشكل Reçu N°1/2023 
إذاكان ممكن فأنا لا أؤريد أن اثقل عليك جزاك الله كل خير.
ما اختلف شي، نفس الكود مع تعديل بسيط ..
استخدم الكود التالي : 
كود :
Sub LOAD_No_AUTO()
   Call ConnectionDatabase
   
   If RS.State = adStateOpen Then RS.Close
   
   RS.Open "Select Count(Id) As CountID  From [Users] Where Right(Id,4) = '" & Year(Now) & "'", DB, adOpenStatic, adLockOptimistic
   
   Dim max_NO As String
   
   If Not RS!CountID Then
      max_NO = Format(Val(RS!CountID) + 1, "00000")
   Else
      max_NO = Format(1, "00000")
   End If
   
   Text1.Text = "Reçu N°" & max_NO & "/" & Year(Now)
   
End Sub


أو هذا الكود :

كود :
Sub LOAD_No_AUTO()
   Call ConnectionDatabase
   
   If RS.State = adStateOpen Then RS.Close
   
   RS.Open "Select Count(Id) As CountID  From [Users] Where Right(Id,4) = '" & Year(Now) & "'", DB, adOpenStatic, adLockOptimistic
   
   Dim max_NO As Long
   
   If Not RS!CountID Then
      max_NO = Val(RS!CountID) + 1
   Else
      max_NO = 1
   End If
   
   Text1.Text = "Reçu N°" & max_NO & "/" & Year(Now)
   
End Sub
هاذا هو الذي يوفي بالغرض والمطلوب أخي طه شكرا جزيلا أحسن الله إليك وجزاك كل خير. Smile