تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
حساب وترتيب عدد السجلات
#3
السّلام عليكم و رحمة الله و بركاته
إضافة لما طرحه أخي الكريم عبدو بارك الله فيه و له
هذا هو الكود الذي من يوم ما عرفت المنتدى .. و انا لم اصادف سواه لإعادة ترقيم السجلات
السجلات بقاعدة البيانات مرقمة : 1 - 2 - 3 - 4 - 5
عند حذف السجل الثالث كمثال .. يصبح لدينا 4 سجلات في حين سيكون الترتيب كالتالي : 1 - 2 - 4 - 5
بهذا الكود سيتم ترتيب السجلات من جديد ليكون الشكل : 1 - 2 - 3 - 4
لكن ما يعيبه أو ربما يعيبني أنا و لم أعرف كيف أرمّم القضيّة
هذا الكود :
سيحذف حقل المفتاح الرئيسي و يقوم بإنشائه من جديد
أنا عامل حقل الترقيم التسلسلي من نوع رقمي .. سيتم حذفه نهائيا و يتم إنشاؤه من جديد من نوع ترقيم تلقائي و هذا ما دوخني
ثانيا .. سيتم إنشاء حقل الترقيم التلقائي بآخر السجلات و يستحسن أن يتم الإنشاء بالأول
و إليك الخط .. أخي الكريم
كود :
   Private Sub Button13_Click(sender As Object, e As EventArgs) Handles Button13.Click
       If DT_CANDIDATE.Rows.Count = 0 Then
           MsgBox("الجدول فارغ من السجلات يتطلب وجود سجل واحد على الاقل", 16 + 524288, "تنبيه")
           Exit Sub
       End If
       If MsgBox("  هل تريد استعادة ترقيم السجلات  " & " ؟ ", MsgBoxStyle.Exclamation + MsgBoxStyle.MsgBoxRight + MsgBoxStyle.OkCancel, "استعادة ترقيم السجلات") = MsgBoxResult.Cancel Then Exit Sub
       Try
           Application.DoEvents()
           Dim cmd As New OleDb.OleDbCommand("", Conne_2019)
           Conne_2019.Open()
           'ID كود حذف المفتاح من حقل الترقيم التلقائي الي اسمه  
           cmd.CommandText = "ALTER TABLE TBL_CANDIDATE DROP CONSTRAINT PrimaryKey"
           cmd.ExecuteNonQuery()
           'ID كود حذف حقل الترقيم التلقائي الي اسمه  
           cmd.CommandText = "ALTER TABLE TBL_CANDIDATE DROP COLUMN CANDIDATE_Id"
           cmd.ExecuteNonQuery()
           'مع وضع مفتاح له ID كود انشاء حقل الترقيم التلقائي الي اسمه  
           cmd.CommandText = "ALTER TABLE TBL_CANDIDATE ADD COLUMN CANDIDATE_Id COUNTER CONSTRAINT [PrimaryKey] Primary key"
           cmd.ExecuteNonQuery()
           'تحديث قاعدة البيانات
           DT_CANDIDATE.Clear()
           Conne_2019.Close()
           Dim Da As New OleDbDataAdapter("SELECT * From TBL_CANDIDATE", Conne_2019) '
           If Conne_2019.State = 1 Then Conne_2019.Close()
           Conne_2019.Open()
           Da.Fill(DT_CANDIDATE)
           MsgBox("تم بنجاح استعادة تسلسل السجلات", 64 + 524288, "نجاح")
       Catch ex As Exception
           MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
       End Try
   End Sub

تحياتي
قناتنا على اليوتوب
الرد }}}
تم الشكر بواسطة: aftfm , aftfm , abdouu , asemshahen5 , tryold , ابراهيم ايبو , abdou


الردود في هذا الموضوع
حساب وترتيب عدد السجلات - بواسطة aftfm - 19-10-20, 11:31 PM
RE: حساب وترتيب عدد السجلات - بواسطة abdou - 20-10-20, 01:23 AM
RE: حساب وترتيب عدد السجلات - بواسطة عبد العزيز البسكري - 20-10-20, 03:05 AM
RE: حساب وترتيب عدد السجلات - بواسطة aftfm - 20-10-20, 04:29 PM


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


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