السلام عليكم و رحمة الله
اخي بالنسبة للترحيل اذا كان طلبك هو نقل بيانات الجدو Tab1 الى جدول جديد , فالطريقة سهلة باذن الله
فقط عليك عمل جملة لادخال سجلات الجدول Tab1 الى جدول جديد كما يلي بفرض ان اسم الجدول الجديد هو temptb
كود :
Dim SelectQur As String = "INSERT INTO temptb(Name, HijriYear, HijriID ) " & _
"SELECT Name, HijriYear, HijriID FROM Tab1 "
ومن ثم تنفيذها عبر كائن Command عادي كما يلي
كود زر الترحيل
كود :
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim SelectQur As String = "INSERT INTO temptb(Name, HijriYear, HijriID ) " & _
"SELECT Name, HijriYear, HijriID FROM Tab1 "
Dim TransferCommand As New OleDbCommand(SelectQur, conn)
If conn.State = ConnectionState.Open Then conn.Close()
Try
Dim Prombit As DialogResult = MessageBox.Show("سيؤدي هذا الاجراء الى ترحيل السجلات الى الارشيف", "ارشيف", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2, MessageBoxOptions.RightAlign)
If Prombit = Windows.Forms.DialogResult.Yes Then
conn.Open()
TransferCommand.ExecuteNonQuery()
End If
Catch ex As Exception
MsgBox(ex.ToString)
Finally
con.Close()
TransferCommand.Dispose()
End Try
End Sub
او بطريقة اخرى و هي عن طريق عمل استعلام الحاق في قاعدة البيانات وهو مشابه للاجراء المخزن (Stored Proceudre) الموجود في SQL Server ومن ثم استدعاء هذا الاستعلام في الكود و هي طريقة عملية لعزل عمل القاعدة عن واجهة التطبيق (تماماً كما يجري في البرامج الكبيرة) مع استثناء ان برنامج الاكسس لا يصلح لمهمات كبيرة , على اي حال
قم بعمل استعلام الحاقي في القاعدة و سميه Insert1 مهمته هي نسخ البيانات من الجدول Tab1 الى جدول الارشيف temptb
الان نقوم بعمل استدعاء لهذا الاستعلام من البرنامج كما بالكود التالي
كود زر الترحيل بالطريقة الثانية
كود :
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
'Dim SelectQur As String = "INSERT INTO temptb(Name, HijriYear, HijriID ) " & _
'"SELECT Name, HijriYear, HijriID FROM Tab1 "
'Dim TransferCommand As New OleDbCommand(SelectQur, conn)
If conn.State = ConnectionState.Open Then conn.Close()
Dim TransferCommand As New OleDbCommand("Execute Insert1", conn)
TransferCommand.CommandType = CommandType.Text
Try
Dim Prombit As DialogResult = MessageBox.Show("سيؤدي هذا الاجراء الى ترحيل السجلات الى الارشيف", "ارشيف", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2, MessageBoxOptions.RightAlign)
If Prombit = Windows.Forms.DialogResult.Yes Then
conn.Open()
'TransferCommand.ExecuteNonQuery()
TransferCommand.ExecuteReader()
End If
Catch ex As Exception
MsgBox(ex.ToString)
Finally
con.Close()
TransferCommand.Dispose()
End Try
End Sub
باقي زر التعديل و الحذف اتعب على نفسك شوية المهمة سهلة
بالتوفيق اخي الكريم
المرفق مع التعديل الجديد