kaser906 قام بنشر ديسمبر 13, 2017 قام بنشر ديسمبر 13, 2017 السلام عليكم ورحمة الله وبركاتة بالمرفق يوجد استعلام للبحث عن غير المتطابقات بالجدولين Tabl_Itinerary و Tabl_Itinerarytemp المطلوب : 1- تحويل الاستعلام الى استعلام حذف بحيث يحذف السجلات غير المتطابقة من الجدول Tabl_Itinerary 2 - عمل كود يمكنني من تنفيذ نفس اجراء الاستعلام من النموذج بدون الحاجة الى الاستعلام Qdel.rar
jjafferr قام بنشر ديسمبر 13, 2017 قام بنشر ديسمبر 13, 2017 وعليكم السلام يجب على كل جدول ان يحتوي على حقل ترقيم تلقائي ، فهذا مهم جدا للبرنامج ، وسرعته وقد عملت لك هذا الحقل في الجدول Tabl_Itinerary ، واختصرت استعلام عدم المطابقات ، واسميته qry_Diff_tbl_Itinerary_tbl_Itinerarytemp ، كود زري الحذف: Option Compare Database Option Explicit Private Sub cmd_Delete_With_Code_Click() Dim rstQry As DAO.Recordset Dim rstTbl As DAO.Recordset Dim RCqry As Integer Dim i As Integer Dim mySQL As String Set rstTbl = CurrentDb.OpenRecordset("Select * From Tabl_Itinerary") mySQL = "SELECT Tabl_Itinerary.Auto_ID, Tabl_Itinerarytemp.Num_Itinerary" mySQL = mySQL & " FROM Tabl_Itinerary LEFT JOIN Tabl_Itinerarytemp ON Tabl_Itinerary.[Num_Itinerary] = Tabl_Itinerarytemp.[Num_Itinerary]" mySQL = mySQL & " WHERE (((Tabl_Itinerarytemp.Num_Itinerary) Is Null));" Set rstQry = CurrentDb.OpenRecordset(mySQL) rstQry.MoveLast: rstQry.MoveFirst RCqry = rstQry.RecordCount For i = 1 To RCqry rstTbl.FindFirst "[Auto_ID]=" & rstQry!Auto_ID rstTbl.Delete rstQry.MoveNext Next i rstQry.Close: Set rstQry = Nothing rstTbl.Close: Set rstTbl = Nothing MsgBox "Done" End Sub Private Sub cmd_Delete_With_Query_Click() Dim rstQry As DAO.Recordset Dim rstTbl As DAO.Recordset Dim RCqry As Integer Dim i As Integer Set rstTbl = CurrentDb.OpenRecordset("Select * From Tabl_Itinerary") Set rstQry = CurrentDb.OpenRecordset("Select * From qry_Diff_tbl_Itinerary_tbl_Itinerarytemp") rstQry.MoveLast: rstQry.MoveFirst RCqry = rstQry.RecordCount For i = 1 To RCqry rstTbl.FindFirst "[Auto_ID]=" & rstQry!Auto_ID rstTbl.Delete rstQry.MoveNext Next i rstQry.Close: Set rstQry = Nothing rstTbl.Close: Set rstTbl = Nothing MsgBox "Done" End Sub جعفر 795.Qdel.accdb.zip 1
kaser906 قام بنشر ديسمبر 13, 2017 الكاتب قام بنشر ديسمبر 13, 2017 6 ساعات مضت, jjafferr said: وعليكم السلام يجب على كل جدول ان يحتوي على حقل ترقيم تلقائي ، فهذا مهم جدا للبرنامج ، وسرعته وقد عملت لك هذا الحقل في الجدول Tabl_Itinerary ، واختصرت استعلام عدم المطابقات ، واسميته qry_Diff_tbl_Itinerary_tbl_Itinerarytemp ، كود زري الحذف: Option Compare Database Option Explicit Private Sub cmd_Delete_With_Code_Click() Dim rstQry As DAO.Recordset Dim rstTbl As DAO.Recordset Dim RCqry As Integer Dim i As Integer Dim mySQL As String Set rstTbl = CurrentDb.OpenRecordset("Select * From Tabl_Itinerary") mySQL = "SELECT Tabl_Itinerary.Auto_ID, Tabl_Itinerarytemp.Num_Itinerary" mySQL = mySQL & " FROM Tabl_Itinerary LEFT JOIN Tabl_Itinerarytemp ON Tabl_Itinerary.[Num_Itinerary] = Tabl_Itinerarytemp.[Num_Itinerary]" mySQL = mySQL & " WHERE (((Tabl_Itinerarytemp.Num_Itinerary) Is Null));" Set rstQry = CurrentDb.OpenRecordset(mySQL) rstQry.MoveLast: rstQry.MoveFirst RCqry = rstQry.RecordCount For i = 1 To RCqry rstTbl.FindFirst "[Auto_ID]=" & rstQry!Auto_ID rstTbl.Delete rstQry.MoveNext Next i rstQry.Close: Set rstQry = Nothing rstTbl.Close: Set rstTbl = Nothing MsgBox "Done" End Sub Private Sub cmd_Delete_With_Query_Click() Dim rstQry As DAO.Recordset Dim rstTbl As DAO.Recordset Dim RCqry As Integer Dim i As Integer Set rstTbl = CurrentDb.OpenRecordset("Select * From Tabl_Itinerary") Set rstQry = CurrentDb.OpenRecordset("Select * From qry_Diff_tbl_Itinerary_tbl_Itinerarytemp") rstQry.MoveLast: rstQry.MoveFirst RCqry = rstQry.RecordCount For i = 1 To RCqry rstTbl.FindFirst "[Auto_ID]=" & rstQry!Auto_ID rstTbl.Delete rstQry.MoveNext Next i rstQry.Close: Set rstQry = Nothing rstTbl.Close: Set rstTbl = Nothing MsgBox "Done" End Sub جعفر 795.Qdel.accdb.zip هذا هو المطلوب بالضبط لكن ظهرت لدي مشكلة حيث تعارض الكود الذي وضعته مع كود أخر بالنموذج انظر الصورة هذه الصورة للكود الأخر الذي اصبح يظهر مشكلة بعد إضافة الكود الذي عملته لي
kaser906 قام بنشر ديسمبر 13, 2017 الكاتب قام بنشر ديسمبر 13, 2017 وضعت الكود في زر امر sav لن يعمل الكود لعدم وجود بعض الكائنات وضعته لتنظر اليه 795.Qdell.rar 2 ساعات مضت, jjafferr said: شو رسالة الخطأ؟
jjafferr قام بنشر ديسمبر 13, 2017 قام بنشر ديسمبر 13, 2017 انا وضعت هذا الشرط في ثاني سطر من الكود: Option Explicit ومعناه ، لا تسمح بإستعمال أي متغير ، قبل ان تعمل له Dim ، لكن ، ومثل ما العمانيين يقولون: الباب اللي يجيك منه ريح ، سده واستريح ، فإحذف هذا السطر جعفر 1
kaser906 قام بنشر ديسمبر 13, 2017 الكاتب قام بنشر ديسمبر 13, 2017 17 دقائق مضت, jjafferr said: انا وضعت هذا الشرط في ثاني سطر من الكود: Option Explicit ومعناه ، لا تسمح بإستعمال أي متغير ، قبل ان تعمل له Dim ، لكن ، ومثل ما العمانيين يقولون: الباب اللي يجيك منه ريح ، سده واستريح ، فإحذف هذا السطر جعفر تمام الله يعطيك العافية
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.