السلام عليكم ورحمة الله وبركاته
استخدمت هذا الكود لنقل جزء من البيانات الى جدول آخر
ويوجد في الجدول الثاني حقل لتاريخ اليوم و الملاحظات
وارغب في اضافة وتعبئة حقل التاريخ الى جميع السجلات حسب ما هو مكتوب في اداة التاريخ
كود :
Dim strSQL As String = ""
Dim Command As OleDbCommand
If Con.State = ConnectionState.Open Then Con.Close()
Con.Open()
strSQL = " INSERT INTO tblAtten(ManagEmp, UserFullName, EmpGrade, Scale, GradeSerialN)SELECT ManagEmp, UserFullName, EmpGrade, Scale, GradeSerialN FROM tblEmployees ORDER BY GradeSerialN ASC, Scale DESC, EmpGrade DESC " ORDER BY GradeSerialN ASC, Scale DESC, EmpGrade DESC
Command = New OleDbCommand(strSQL, Con)
Command.ExecuteNonQuery()
Con.Close()
هذا الكود المستخدم في نقل البيانات من جدول الى الجدول الثاني
السلام عليكم ورحمة الله وبركاته
اخي الكريم قم باضافة كود تعدبل لحقل التاريخ بدون شرط بعد جملة الانسرت بحيث يأخذ من اداة التاريخ وبهذا سيتم تعديل كل السجلات بتاريخ اداة التاريخ
جزيت خيراً اخي العزيز
هذا الكود يقوم بالتعديل
لكن اريده بشروط معينة
1- عدم التكرار في حالة وجود نفس تاريخ اليوم
بيحث يتم نقل البيانات والتعديل على التاريخ في حالة ما إذا كان التاريخ غير موجود
كود :
Dim cmdUpdate As New OleDbCommand
cmdUpdate.CommandText = "UPDATE tblAtten SET DateOfDay= #" & Me.txtDateOfDay.MyText & "#"
cmdUpdate.CommandType = CommandType.Text
cmdUpdate.Connection = Con
cmdUpdate.ExecuteNonQuery()
وضعت شرط التحقق من التاريخ
كود :
Dim cmd As New OleDbCommand(" Select DateOfDay From tblAtten Where DateOfDay = #" & Me.txtDateOfDay.MyText & "#", Con)
Dim dr As OleDbDataReader = cmd.ExecuteReader
If dr.HasRows Then
endif
ولكنه يقوم بتعديل التاريخ في حميع ا لسجلات
للتوضيح
اريد كل يوم نقل البيانات مع تاريخ جديد
وفي حالة التاريخ موجود لا يتم نقل البيانات
السلام عليكم
اخي الكريم
لم تذكر انك تقوم بنقل سجلات كل يوم
اما وانك تقوم بنسخ سجلات معينة كل يوم وقد تكون عددا معينا وتريد عند نقلها ان تأخذ تاريخ اليوم وبما ان الجدول فيه بيانات سابقة قد تم ادخال تاريخ مختلف لكل مجموعة تم نقلها هنا سنعمل شرط اضافة التاريخ للسجلات التي تم نقلها اليوم بأن يكون التعديل شرط ان يكون حقل التاريخ ب Is Null او Nothing وبهذا سيتم اضافة تاريخ اليوم يجب التجربة (لانني لم اجرب)
السلام عليكم ورحمة الله وبركاته
اخي الكريم هذا كود النقل واضافة التاريخ وان كانت السجلات قد تم نقلها اليوم سوف لن يتم نقلها
اتمنى ان اكون قد فهمت منك ماتريد وان يلبي هذا الكود مرادك
1- قم بحذف السجلات من الحدول ثم شغل الكود ولاحط اضافة تاريخ اليوم
2 - اعد النقر على كود النقل سوف يخبرك ان بيانات هذا اليوم قد تم نقلها
3 - اذهب الى قاعدة البيانات الجدول الثاني وغير التاريخ الى تاريخ اقدم ثم شعل البرنامج وقم بنقل السجلات ستلاحط انه تم النقل واضافة تاريخ اليوم
بقي مسألة التاريخ الهجري يمكنك تعديله او حلها حسب ماترى
دمت بخير
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.ArabicDate1.MyText = Class1.GetTodayHijriDate
Me.lblDays.Text = Class1.GetTodayHijriDay
'--------------------------------------'
' تعاريف
Dim strSQL As String = ""
Dim Command As New OleDbCommand()
Dim cmd1, cmd2, cmd3, cmdUpdate As New OleDbCommand()
' فتح الاتصال
If Con.State = ConnectionState.Open Then Con.Close()
Con.Open()
' الاستعلام عن السجلات التي تحتوي تاريخ اليوم
cmd1 = New OleDbCommand(" Select DateOfDay From tbl2 WHERE DateOfDay=#" & Me.ArabicDate1.MyText & "#", Con)
Dim dr1 As OleDbDataReader = cmd1.ExecuteReader
If dr1.HasRows Then
MsgBox("بيانات هذا اليوم تم نقلها سابقا")
Exit Sub
Else
' اذا لم يكن هناك سجلات تحمل تاريخ اليوم سيتم اضافتها
'-----نقل البيانات-------'
strSQL = " INSERT INTO tbl2 (ManagEmp, UserName, EmpGrade)SELECT ManagEmp, UserName, EmpGrade FROM tbl1 "
cmd2 = New OleDbCommand(strSQL, Con)
cmd2.ExecuteNonQuery()
'-----الاستعلام عن حقل التاريخ الفارغ ثم التعديل-------'
cmd3 = New OleDbCommand(" Select DateOfDay From tbl2 WHERE ( DateOfDay IS NULL)", Con)
Dim dr3 As OleDbDataReader = cmd3.ExecuteReader
If dr3.HasRows Then
cmdUpdate.CommandText = "UPDATE tbl2 SET DateOfDay= #" & Me.ArabicDate1.MyText & "# WHERE (DateOfDay IS NULL)"
cmdUpdate.CommandType = CommandType.Text
cmdUpdate.Connection = Con
cmdUpdate.ExecuteNonQuery()
End If
End If
' اغلاق الاتصال
Con.Close()
Load_Data()
Me.DataGridView1.DataSource = DataDT
End Sub
الف شكر اخي العزيز ابراهيم
الكود شغام 100%
هل في حالة اذا تغيير اليوم يتم نقل البيانات من جديد بتاريخ اليوم الجديد
صح كذا