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

نسخة كاملة : طلب كود ترقيم معين
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم جميعا
وجزاكم الله كل خير لما تقدمونة لخدمة الاعظاء وجعله الله فى ميزان حسناتكم
اطلب مساعدتكم فى كود يعطى رقم تسلسلى جديد للمعاملة التى يتم ادراجها فى قاعدة البيانات اكسس وهدا الرقم التسلسلى بة بعض التوابت بنائا علية يتم اصدار الرقم التسلسلى حيث
الرقم يتكون من 7 خانات
الخانة الاولى والتانية من اليسار للسنة الحالية 22 بدون 20
الخانة التالتة والرابعة للشهر 12 او 01 او 05 حسب الشهر
التلات خانات الاخيرة رقم تسلسلى 001 الى 999 ويجب ان يكون متسلسل لا يترك ارقام
المهم جدا ان كل بداية شهر طبعا يتغير الشهر والرقم التسلسلى يجب ان يبداء من تسلسل جديد 001 وهكدا عند بداية كل شهر
الرقم المتكون من الكود يعرض فى تكست بكس للحفظ والتكرار للرقم فى نفس الشهر غير مسموح
ارجو ان الطلب واضح ولكم كل الشكر والتقدير
بامكانك انشاء فنكشين تجلب لك الرقم الذي تريده
اولا في جدول قاعدة البيانات
ضع الحقل الرئيسي من نوع رقمي int وهو المفتاح الرئيسي للجدول
انشيء حقل اخر لرقم الملف واجعله من نوع نصي

الان سنعتمد على تاريخ اليوم الذي نحن فيه
فمثلا" اذا اردنا استخدام جزء من العام ورقم الشهر نستخدم (yyMM)

وهذه فنكشين توضح المطلوب مع مثال مرفق

كود :
 Public Function Get_Order_No() As String
       Try
           Dim orderDate As String = Now.ToString("yyMM")
           If Con.State = 1 Then Con.Close()
           Con.Open()
           Dim cmd As New OleDbCommand(" select * from Test_Tbl Where File_No Like '" & orderDate & "%' order by ID desc", Con)
           Dim dr As OleDbDataReader
           dr = cmd.ExecuteReader
           dr.Read()
           If dr.HasRows Then
               Get_Order_No = CLng(dr("File_No").ToString) + 1
           Else
               Get_Order_No = orderDate & "001"
           End If
           dr.Close()
           Con.Close()
           Return Get_Order_No
       Catch ex As Exception
       End Try
   End Function
تمام التمام استادى الفاضل جزاك الله كل خير ورحم الله والديك على هدا العون بارك الله فيك