محمد القدسي قام بنشر أكتوبر 23, 2020 قام بنشر أكتوبر 23, 2020 السلام عليكم اساتذتي الكرام كيف يمكن استعمال هذا الكود ليضيف جميع حقول الجدول table1 hg الى الجدول table2 دفعة واحدة مثل استعمال مود الاحاق باستخدام (*) Dim rstFrom As DAO.Recordset Dim rstTo As DAO.Recordset Dim StrSql2 As String Set rstTo = CurrentDb.OpenRecordset("Select * From table2") Set rstFrom = CurrentDb.OpenRecordset("Select * From table1") rstFrom.MoveLast: rstFrom.MoveFirst RC = rstFrom.RecordCount For i = 1 To RC rstTo.AddNew rstTo!codhesab = rstFrom!codhesab rstTo.Update rstFrom.MoveNext Next i Set rstTo = Nothing Set rstFrom = Nothing MsgBox "Done" وبارك الله فيكم وفي علمكم
kanory قام بنشر أكتوبر 23, 2020 قام بنشر أكتوبر 23, 2020 (معدل) تفضل .... Dim db As DAO.Database Dim rstFrom As Recordset Dim rstTo As Recordset Set db = CurrentDb Dim RC, i As Integer Set rstTo = db.OpenRecordset("table2", dbOpenDynaset) Set rstFrom = db.OpenRecordset("table1", dbOpenDynaset) RC = rstFrom.RecordCount rstFrom.MoveFirst For i = 1 To RC rs.AddNew rstTo!codhesab = rstFrom!codhesab rs.Update rstFrom.MoveNext Next i rstTo.Close rstFrom.Close Set rstTo = Nothing Set rstFrom = Nothing Set db = Nothing تم تعديل أكتوبر 23, 2020 بواسطه kanory 3
محمد القدسي قام بنشر أكتوبر 24, 2020 الكاتب قام بنشر أكتوبر 24, 2020 اشكرك استاذي العزيز @kanory لاكن اولا هذا الكود يضيف سجل واحد فقط ثانيا يضيف الحقل codhesab فقط وما اريده اذا كان الجدول الاول يحتوي على عشرين حقل مثلا فسيكون تسجيل جميع الحقول في الكود امر متعب قليلا وبما ان الجدول الثاني يحمل نفس حقول الجدول الاول فانا اريد الكود يضيف الحقول دفعة واحدة وبنفس عدد السجلات كاملة ارجو ان اكود اوصلت سؤالي بالشكل المطلوب
kanory قام بنشر أكتوبر 24, 2020 قام بنشر أكتوبر 24, 2020 (معدل) 1 ساعه مضت, محمد القدسي said: لاكن اولا هذا الكود يضيف سجل واحد فقط الكود يضيف كل السجلات الموجود في الجدول وذلك عن طريق الكود التالي RC = rstFrom.RecordCount rstFrom.MoveFirst For i = 1 To RC 1 ساعه مضت, محمد القدسي said: ثانيا يضيف الحقل codhesab فقط وما اريده اذا كان الجدول الاول يحتوي على عشرين حقل مثلا فسيكون تسجيل جميع الحقول في الكود امر متعب قليلا وبما ان الجدول الثاني يحمل نفس حقول الجدول الاول فانا اريد الكود يضيف الحقول دفعة واحدة وبنفس عدد السجلات كاملة هذا الكود الذي انت وضعت جزءا منه لا يضيف كل الحقول الا اذا كتبت وحددت له الحقول بالشكل التالي rs.AddNew السطر التالي يعبر عن الحقل ..... قم بتكرار السطر بعدد الحقول الموجودة لديك rstTo!codhesab = rstFrom!codhesab rstTo!الحقل الثاني = rstFrom!الحقل الثاني وهكذا rs.Update أرفق لنا الجدولين وبه بيانات تجريبية للتطبيق تم تعديل أكتوبر 24, 2020 بواسطه kanory 3
kanory قام بنشر أكتوبر 24, 2020 قام بنشر أكتوبر 24, 2020 (معدل) .هذه طريقة اخرى بدون كتابة اسماء الحقول وخاصة عندما تكون كثيرة ولكن بشرط ان تتشابه ترتيب الحقول في الجدولين Dim db As DAO.Database Dim rstFrom As Recordset Dim rstTo As Recordset Set db = CurrentDb Dim RC, i, r As Integer Set rstTo = db.OpenRecordset("tblB1", dbOpenDynaset) Set rstFrom = db.OpenRecordset("tblB", dbOpenDynaset) rstFrom.MoveFirst: rstFrom.MoveLast RC = rstFrom.RecordCount rstFrom.MoveFirst For i = 1 To RC rstTo.AddNew For r = 1 To rstFrom.Fields.Count - 1 rstTo.Fields(r) = rstFrom.Fields(r) Next r rstTo.Update rstFrom.MoveNext Next i rstTo.Close rstFrom.Close Set rstTo = Nothing Set rstFrom = Nothing Set db = Nothing Kan_355.accdb تم تعديل أكتوبر 24, 2020 بواسطه kanory 6
محمد القدسي قام بنشر أكتوبر 24, 2020 الكاتب قام بنشر أكتوبر 24, 2020 سلمت يداك اخي واستاذي @kanory هذا هو المطلوب بعينه بارك الله فيك وفي كل من تعاون معانا في هذا الصرح المبارك وحعله في ميزان حسناتكم يوم القيامة 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.