20-10-20, 03:05 AM
(آخر تعديل لهذه المشاركة : 20-10-20, 03:06 AM {2} بواسطة عبد العزيز البسكري.)
السّلام عليكم و رحمة الله و بركاته
إضافة لما طرحه أخي الكريم عبدو بارك الله فيه و له
هذا هو الكود الذي من يوم ما عرفت المنتدى .. و انا لم اصادف سواه لإعادة ترقيم السجلات
السجلات بقاعدة البيانات مرقمة : 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تحياتي
قناتنا على اليوتوب
