تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة الترقيم التلقائي
#1
السلام عليكم.اخواني من فضلكم رجاء المساعدة لحل المسالة
و انا اتابع دورة الاخ عثمان خورشيد على اليوتوب عند الترقيم التلقائي عملت تماما مثلما هو عامل لكن الترقيم ياتي المرة الاولى على هذا الشكل CUS000001 و يتم الحفظ عادي و بعد ذلك يبقى دائما CUS000001 و لا يزيد 1 على العداد ابدا
هذي قاعدة بيانات الاخ عثمان خورشيد

و هذي صورة قاعدة بياناتي

ال id هو ترقيم تلقائي و الذي يهم هو Customercode
و هذا الكود المستعمل مثل ما هو عامله

كود :
   Public Function Get_Last_Record(Table_Name, OrderByField) As String
       Get_Last_Record = 0
       Dim Str = "SELECT * From " & Table_Name & " Order By " & OrderByField
       Dim Adp As New SqlClient.SqlDataAdapter(Str, Conne)
       Dim Ds As New DataSet
       Adp.Fill(Ds)
       Dim Dt As DataTable
       Dt = Ds.Tables(0)
       If Dt.Rows.Count <> 0 Then
           Dim I = Dt.Rows.Count - 1
           Get_Last_Record = Val(Dt.Rows(I).Item(OrderByField))
       End If
   End Function
و بالفورم عملت

كود :
  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Me.TextBox1.Text = Format(Get_Last_Record("CUSTOMERS", "CustomerCode") + 1, "000000")
 End Sub
المرة الاولى ياتيني الترقيم CUS000001 و في السجل الثاني يبقى دائما CUS000001 ولا يتغير الى CUS000002 و شكرا بارك الله فيكم
الرد
تم الشكر بواسطة:
#2
PHP كود :
   Public Function Get_Last_Record(Table_NameOrderByField) As String
        Get_Last_Record 
0
        Dim Str 
"Select count(" OrderByField ") From  " Table_Name
        Dim Adp 
As New SqlClient.SqlDataAdapter(Strcn)
 
       Dim Ds As New DataSet
        Adp
.Fill(Ds)
 
       Dim Dt As DataTable
        Dt 
Ds.Tables(0)
 
       If Dt.Rows.Count 0 Then
            Dim I 
Dt.Rows.Count 1
            Get_Last_Record 
Dt.Rows(I).Item(0)
 
       End If
 
   End Function 

كود الفورم :

PHP كود :
       For Each tx As Control In Controls
            If TypeOf tx Is TextBox Then
                tx
.Text ""
 
           End If
 
       Next
        Txt_ID
.Text Format(Val(Get_Last_Record("Castomer""ID") + 1), "CUS000000"
الرد
تم الشكر بواسطة: محمد خيري , حريف برمجة , علي نوري
#3
مشى الحال استاذ asem بجد كثر الف خيرك خلصتني من معضلة و بارك الله فيك بحجم السماوات و الارض مع التقييم
الرد
تم الشكر بواسطة: asemshahen5 , حريف برمجة
#4
الله يسلمك و الحمد الله رب العالمين .
الرد
تم الشكر بواسطة: محمد خيري , حريف برمجة , حريف برمجة



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم