منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
عمود ترقيم خاص - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : عمود ترقيم خاص (/showthread.php?tid=37151)

الصفحات: 1 2


عمود ترقيم خاص - العيدروس - 09-12-20

السلام عليكم اخواني برجاء المساعدة عندي جدول اسمو tblinvoice و به حقل من نوع نصي اسمو reference
اريد لما اضغط على زر جديد يطلعلي بتاكست بكس 1 ترقيم حسب الحقل المذكور بهاي الصورة
بحيث يكون ترقيم فيه ترقيم + تاريخ اليوم
202012090001
في اليوم الموالي يرجع الترقيم يبدا من جديد 0001
بارك الله فيكم


RE: عمود ترقيم خاص - Osama_NY - 09-12-20

(09-12-20, 04:38 PM)العيدروس كتب : السلام عليكم اخواني برجاء المساعدة عندي جدول اسمو tblinvoice و به حقل من نوع نصي اسمو reference
اريد لما اضغط على زر جديد يطلعلي بتاكست بكس 1 ترقيم حسب الحقل المذكور بهاي الصورة
بحيث يكون ترقيم فيه ترقيم + تاريخ اليوم
202012090001
في اليوم الموالي يرجع الترقيم يبدا من جديد 0001
بارك الله فيكم

حتى انا بحثت عليه من فتره لم القاه الكود هدا


RE: عمود ترقيم خاص - سعود - 09-12-20

ممكن طبعا
لكن الافضل استخدام now.ticks.tostring  فهو كفيل بعدم تكرار  الرقم ولو حبيت تضيف له رقم من الحقل فممكن.


RE: عمود ترقيم خاص - Osama_NY - 09-12-20

(09-12-20, 05:38 PM)سعود كتب : ممكن طبعا
لكن الافضل استخدام now.ticks.tostring  فهو كفيل بعدم تكرار  الرقم ولو حبيت تضيف له رقم من الحقل فممكن.

اخي انا اريد عمل ترقيم تلقائي يومي متلا 0001 0002 0003 و يبدا من الواحد كل يوم


RE: عمود ترقيم خاص - سعود - 10-12-20

الجزئية اللي فهمتها التاريخ بحيث نحذف كل شيء فيه غير رقمي فقط اكتب الدالة التالية:
PHP كود :
Private Function GetCustomNumber() As String
        Dim t 
As String Convert.ToString(Now)
 
       Return System.Text.RegularExpressions.Regex.Replace(t"[^0-9]""")
 
   End Function 



RE: عمود ترقيم خاص - العيدروس - 10-12-20

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


RE: عمود ترقيم خاص - سعود - 10-12-20

(10-12-20, 01:59 AM)العيدروس كتب : شكرا اخ سعود هل فيه امكاننية افضل بحيث يكون الترقيم مثل هكذا
000110122020 و بارك الله فيك

العفو
ممكن طبعا
PHP كود :
Private Function GetCustomNumber() As String
        Dim t 
As DateTime Now
        Dim format 
As String "ddMMyyyy"
 
       Dim tm As String t.ToString(format)
 
       Return tm
    End 
Function 
هذا كود لصياغة التاريخ  يتبقى الرقم اللذي تضيفه واكيد انه بناءا على قيمة في الجدول واضافته سهلة 
PHP كود :
       l.Text GetCustomNumber()
 
       l.Text l.Text.Insert(0"ID from Table"
عدل على الكود ليناسب المطلوب.




@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
تحديث

PHP كود :
Dim id As Integer
            Using cm 
As New OleDb.OleDbCommand(""con)
 
               cm.Parameters.Clear()
 
               cm.CommandText "insert into tb(tname) values(@tname)"
 
               cm.Parameters.AddWithValue("@tname"TextBox1.Text)
 
               If con.State ConnectionState.Closed Then con.Open()

 
               cm.ExecuteNonQuery()
 
               cm.Parameters.Clear()
 
               cm.CommandText "select@@identity"
 
               id cm.ExecuteScalar
                cm
.CommandText "update tb set cn=@cn where tid=@tid"
 
               cm.Parameters.AddWithValue("@cn"id.ToString("000") & GetCustomNumber())
 
               cm.Parameters.AddWithValue("@tid"id)
 
               cm.ExecuteNonQuery()
 
               If con.State ConnectionState.Open Then con.Close()
 
           End Using 

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



RE: عمود ترقيم خاص - العيدروس - 11-12-20

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


RE: عمود ترقيم خاص - سعود - 11-12-20

(11-12-20, 12:18 AM)العيدروس كتب : بارك الله فيك اخ سعود و ربنا يكرمك و يرزقك بما تتمناه مشى الحال الف شكر

وفيك بارك الله واسال الله ان يعطيك مثل ما دعوت لي وزيادة.


RE: عمود ترقيم خاص - عبد العزيز البسكري - 12-12-20

إضافة لما قدّمه أستاذنا الكريم
سعود .. الخير و الخيرات
بارك الله فيه و له و جزاه خير الجزاء
و من باب زيادة الخير .. خيرين
كود أستعمله دوما عند الحاجة .. و يشتغل تمام التمام
كود :
  Function Retrieve_Numorotation_Speciale() As String
       Try
         
           Cnn.Open()
           Cmd = New SqlCommand("SELECT * From TBL_INVOICE Where INVOICE_Code Like '" & Date & "%' Order By  INVOICE_Id", Cnn)
           Dr = Cmd.ExecuteReader
           Dr.Read()
         
             Retrieve_Numorotation_Speciale = CLng(Dr.Item("INVOICE_Code").ToString)
           Else
               Retrieve_Numorotation_Speciale = "0001"
           End If
           Dr.Close()
           Cnn.Close()
           Return GetTransNo
       Catch ex As Exception
           Cnn.Close()
           MsgBox(ex.Message, vbCritical)
       End Try
       Return Nothing
   End Function

تحياتي