تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
أحتاج كود اعادة ترقيم حقل المسلسل بعد حذف صف ما في الجدول
#7
(09-09-17, 04:26 AM)سعود كتب : لقد جربت فكرة طرات في بالي وهي اضافة عمود ليس ترقيم تلقائي وهذه الفكرة
كود :
Public Class Form1
   Dim str As String = "provider=microsoft.ace.oledb.12.0;data source=|DataDirectory|\db.accdb"
   Dim con As New OleDb.OleDbConnection(str)
   Dim dt As DataTable
   Dim da As OleDb.OleDbDataAdapter
   Dim cmd As OleDb.OleDbCommandBuilder

   Private Function gid() As Integer
       Try
           Dim cm As New OleDb.OleDbCommand("select Last(tid) from tb", con)
           If con.State = ConnectionState.Closed Then con.Open()
           Return cm.ExecuteScalar
       Catch ex As Exception
           Return Nothing
       End Try
   End Function

   Private Sub gd()
       ListBox1.DataSource = Nothing
       dt = New DataTable
       da = New OleDb.OleDbDataAdapter("select * from tb", con)
       cmd = New OleDb.OleDbCommandBuilder(da)
       da.Fill(dt)
       ListBox1.DataSource = dt
       ListBox1.DisplayMember = "tid"
   End Sub
   Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
       gd()
   End Sub

   Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
       Dim row As DataRow = dt.NewRow
       row(0) = gid() + 1
       dt.Rows.Add(row)
       da.Update(dt)
       gd()
       ListBox1.SelectedIndex = ListBox1.Items.Count - 1
   End Sub

   Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
       If ListBox1.SelectedIndex < 0 Then MsgBox("اختر الرقم المراد حذفه من القائمة", MsgBoxStyle.Critical, "") : Return

       dt.Rows(ListBox1.SelectedIndex).Delete()
       da.Update(dt)
       gd()
   End Sub

   Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
       ListBox1.DataSource = Nothing

       For r As Integer = 0 To dt.Rows.Count - 1
           Dim row As DataRow = dt.Rows(r)
           row.BeginEdit()
           row(0) = r
           row.EndEdit()
           da.Update(dt)
       Next
       gd()
   End Sub
End Class


الفكرة تدور حول تحديث الرقم الخاص بعمود الترقيم ...لقد استخدمت عمود واحد فقط لانه مدار الفكرة .

الدالة بالكود لم استخدمها مع اني كتبتها 
كود :
Private Function gid() As Integer
       Try
           Dim cm As New OleDb.OleDbCommand("select Last(tid) from tb", con)
           If con.State = ConnectionState.Closed Then con.Open()
           Return cm.ExecuteScalar
       Catch ex As Exception
           Return Nothing
       End Try
   End Function
أخي الكريم / سعود
مع الاسف الكود لم يعمل معي الفارق الوحيد بيني وبينك ان قاعدة البيانات دي Sql server 2008

كود :
       Try
           Dt = New DataTable
           SQL = "select * from Tab_Users"
           Da = New SqlDataAdapter(SQL, Con)
           Da.Fill(Dt)

           Lst_Users.DataSource = Nothing

           For n As Integer = 0 To Dt.Rows.Count - 1

               Dim rr As DataRow = Dt.Rows(n)

               rr.BeginEdit()
               rr(1) = n + 1
               rr.EndEdit()
           Next
           Da.Update(Dt)

           fill_lstbox()

       Catch ex As Exception
           MsgBox(ex.Message)
       End Try
مع اني انشأت حقل اخر للتسلسل بدون مفتاح أساسي .

فهل ممكن نحل المشكلة بعمل دالة ترجع اكبر قيمة في حقل المسلسل ولما نضيف عنصر جديد نضيف القيمة دي + 1
انا عملت لهذه الطريقة كل الاحتمالات وكلها صحيحة بدون مشاكل ؟

بس مش عارف طريقة احضار اكبر قيمة في الحقل بالكود كيف ؟
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
RE: أحتاج كود اعادة ترقيم حقل المسلسل بعد حذف صف ما في الجدول - بواسطة Abdelazez.Ahmad - 10-09-17, 02:14 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] ترقيم داتا كريت فيو EMADW 1 343 21-04-25, 11:52 PM
آخر رد: Taha Okla
  [VB.NET] السلام عليكم لدي جدول فرعي وارد تحديث الجدول الرئيسي raedre22 2 368 06-07-24, 12:50 PM
آخر رد: raedre22
  [VB.NET] اعادة توجيه للرابط ميدو الفنان 2 352 05-06-24, 02:18 PM
آخر رد: ميدو الفنان
  كيف يمكنني إعداد ترقيم تلقائي ويتجدد الترقيم في كل سنة mram3242 15 6,965 02-06-24, 08:25 PM
آخر رد: atefkhalf2004
  احتاج كود اعادة الترقيم في السنة الجديدة ranosh 3 777 27-11-23, 01:25 AM
آخر رد: justforit
  ممكن كود ترقيم تلقائي في الداتا غريد فيو المبرمج البسيط 16 11,696 08-11-23, 01:44 AM
آخر رد: الحزين اليماني
  [VB.NET] كيف يمكنني إعداد ترقيم تلقائي ويتجدد الترقيم في كل يوم Osama_NY 8 3,402 04-11-23, 01:42 PM
آخر رد: الحزين اليماني
  اريد ترقيم الداتا جريد فيو سمير جمال 10 5,799 29-04-23, 02:01 AM
آخر رد: lar
  فحص الاسماء الموجودة في الجدول من خلال الداتا جريد فيو yosif 5 1,096 22-04-23, 07:57 PM
آخر رد: yosif
  ترقيم تلقائي في الداتا جريد فيو مرتبط بجدول في قاعدة البيانات yosif 1 951 17-04-23, 07:03 AM
آخر رد: Taha Okla

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


يقوم بقرائة الموضوع: