mohamed_ets قام بنشر مارس 8, 2023 قام بنشر مارس 8, 2023 اساذتنا الكرام . . الكودد يعلم تمام 100 % وقد جربت هذا الكود فى عدد صغير من السجلات ولكن عند نسخ عدد تجاوز 10000 عشرة آلاف سجل تم تنفيذ الكود على كل السجلات ما عاد تقريبا 200 سجل وتظهر هذه الرسالة ولم اجد لها على المواقع المختلفة غير تغير اعدادت الرجسترى ولكن تظهر نفس الرسالة . وعند نسخ نفس 200 سجل على نفس القاعدة ولكن فارغة يعمل الكود ولكن بدون الرسالة هذه هل لها حل من خلال تجاربكم . . . شكرا استاذتنا الكرام وزاردكم الله من فضله
mohamed_ets قام بنشر مارس 9, 2023 الكاتب قام بنشر مارس 9, 2023 هذا الموضوع قد صرحته سابقا على الموقع وقام اساذتنا الكرم بحل المشكلة وهى ترتيب الاقساط الاول والثانى والثالث . . حسب تاريخ الاذن وتاريخ السداد والاستاذ ابوخليل مشكورا صمم هذا الكود ويعمل بكفاءة ولكن عند نسخ السجلات تقريبا عشرة آلاف سجل لا يطبق الكود على آخر 2000 سجل تقريبا Private Sub zer1_Click() Dim rs As DAO.Recordset Dim i, x As Integer Dim r As String Set rs = CurrentDb.OpenRecordset("SELECT Sheet1.cod, Sheet1.nname,Sheet1.num ,Sheet1.mesaha , Sheet1.na_id , Sheet1.date_sdad fROM Sheet1 ORDER BY Sheet1.nname,Sheet1.na_id , Sheet1.date_ezen,Sheet1.date_sdad ") If rs.RecordCount > 0 Then rs.MoveFirst Else Exit Sub End If rs.MoveFirst r = rs!cod x = 1 Do While Not rs.EOF rs.Edit If rs!cod = r Then rs!num = x x = x + 1 Else x = 1 r = rs!cod rs!num = x x = x + 1 End If rs.Update rs.MoveNext Loop rs.Close: Set rs = Nothing End Sub Database151.rar
ابوخليل قام بنشر مارس 9, 2023 قام بنشر مارس 9, 2023 الكود يتعامل مع جدول Sheet1 ومن خلال فرز التاريخ يتم الترقيم وفي مثالك الجدول cod_id لا يحتوي حقل التاريخ وبما انك اضفت هذا الجدول الذي يشتمل على الآلاف سوف احاول معاجة الامر من خلال الجدولين
ابوخليل قام بنشر مارس 9, 2023 قام بنشر مارس 9, 2023 4 ساعات مضت, ابوخليل said: الكود يتعامل مع جدول Sheet1 ومن خلال فرز التاريخ يتم الترقيم لم اجد طريقة لاكتشاف الخلل ، ولا يمكنني التجربة ... بسبب عدم اكتمال البيانات صحيح الجدول الثاني يحتوي اكثر من 47 الف سجل ولكن لا يوجد تاريخ يتم من خلاله الترقيم جرب هذا الحل لعل وعسى ، وهو جعل الكود يذهب الى آخر سجل ثم يعود الى اول سجل .. قبل التشغيل Dim rs As DAO.Recordset Dim x As Integer Dim r As String Set rs = CurrentDb.OpenRecordset("SELECT Sheet1.cod, Sheet1.num , Sheet1.na_id , Sheet1.date_sdad fROM Sheet1 ORDER BY Sheet1.nname,Sheet1.na_id , Sheet1.date_ezen ") If rs.RecordCount > 0 Then rs.MoveLast rs.MoveFirst Else Exit Sub End If r = rs!cod x = 1 Do While Not rs.EOF rs.Edit If rs!cod = r Then rs!num = x x = x + 1 Else x = 1 r = rs!cod rs!num = x x = x + 1 End If rs.Update rs.MoveNext Loop rs.Close: Set rs = Nothing
mohamed_ets قام بنشر مارس 10, 2023 الكاتب قام بنشر مارس 10, 2023 (معدل) شكر لاستاذنا / ابوخليل وجعله الله فى ميزان حسناتك فقد أرهتقك كثيرا . . الكود فعلا يعمل تمام وبكفاءة والنتائج صحيحة بنسبة 100 % ولا تظهر الرسالة السابقة ويتم ترقيم الاقساط. ولكن نفس المشكلة تقريبا أن 1200 سجل الاخيرة لا يعمل عليها الكود أى لا يتم ترقيم الاقساط . ملحوظة : لقد قمت بسخ 7000 سجل فقط من العشرة آلف واشتغل الكود وتم ترقيم الاقساط فى جميع السجلات كلها , ملحوظة : لقد قمت بسخ 9000سجل فقط من العشرة آلف واشتغل الكود وتم ترقيم الاقساط فى جميع السجلات كلها , عندما انسخ السجلات انسخ ألف ألف ولكن المشكلة بعد 9000 آلف !!!!!!! ولكن عند نسخ 10000 عشرة آلف سجل تقريبا اخر الفين لا يتم ترقيم أقساط للسجلات . . . . . . . هل المشكلة تكمن فى عدد السجلات ؟ ؟ ؟ ؟ !!!!!! تم تعديل مارس 10, 2023 بواسطه mohamed_ets
ابوخليل قام بنشر مارس 10, 2023 قام بنشر مارس 10, 2023 المتغيرات في الكود ليس لها علاقة بعدد الارقام فالمتغير x يمثل رقم صحيح مع انه لا يتجاوز بضعة ارقام فهو يتراوح بين 1 وآخر قسط للعميل طيب سوف نغير دالة الدوران ونرى هل يعطي نتيجة كاملة ام لا اذا لم يعطي نتيجة فانت ملزم برفع البيانات كاملة للتطبيق عليها عن قرب ... الاسماء وبقية البيانات لا تهم ، فقط حقلبن كود العميل وتاريخ السداد وحقل فارغ للترقيم Dim rs As DAO.Recordset Dim i As Long Dim x As Integer Dim r As String Set rs = CurrentDb.OpenRecordset("SELECT Sheet1.cod, Sheet1.num , Sheet1.na_id , Sheet1.date_sdad fROM Sheet1 ORDER BY Sheet1.nname,Sheet1.na_id , Sheet1.date_ezen ") If rs.RecordCount > 0 Then rs.MoveLast rs.MoveFirst Else Exit Sub End If r = rs!cod x = 1 For i = 1 To rs.RecordCount rs.Edit If rs!cod = r Then rs!num = x x = x + 1 Else x = 1 r = rs!cod rs!num = x x = x + 1 End If rs.Update rs.MoveNext Next rs.Close: Set rs = Nothing
mohamed_ets قام بنشر مارس 11, 2023 الكاتب قام بنشر مارس 11, 2023 شكرا وجزاك الله خير اخونا الكريم . . بهذا الكود تقريبا 177 سجل لم يتم ترقيم الاقساط وأرفق لك البيانات فى ملف اكسيل به الكود وتاريخ السداد . . وفقك الله أخى الكريم وكل كلمات الشكر لا توفيك قدرك وجهدك معى . Book1.xlsx
ابوخليل قام بنشر مارس 11, 2023 قام بنشر مارس 11, 2023 لو تأكدت من البيانات قبل الارسال المصنف يحتوي اكثر من 10600 سجل منها اكثر من 2000 بدون تاريخ يبدوا ان مشكلتك في عدم اكمال الترقيم من هذا الباب
mohamed_ets قام بنشر مارس 12, 2023 الكاتب قام بنشر مارس 12, 2023 عند تنفيذ الكود يتم تننفذه ولكن تظهر نفس الرسالة السابقة ولكن عدد السجلات التى لم تأخذ رقم القسط قل كثيرا إلى 389 سجل من 10670 سجل . . هل هناك حل ليتم تنفيذ الكود على كل السجلات خاصة ان عدد السجلات هذه قد يتضاعف مرتين أو ثلاثة وقد يصل عدد السجلات إلى خمسين ألف سجل . . بارك الله فيكم ورفع الله قدركم Database12mar.rar
ابوخليل قام بنشر مارس 12, 2023 قام بنشر مارس 12, 2023 شوفت اخوي محمد لما رفعت البيانات كاملة امكنني فحص الخلل وعلاجه مازال تاريخ التسديد ناقص 2000 سجل ولكني اعتمدت تاريخ الأذن المشكلة من النظام نفسه لا يسمح باكثر من 9500 سجل التي هي القيمة الافتراضية لذا يجب تعديلها بهذا السطر DAO.DBEngine.SetOption dbMaxLocksPerFile, 45000 انا جعلتها 45000 يمكنك انقاص الرقم او زيادته ليصبح الكود هكذا : Dim rs As DAO.Recordset Dim i As Long Dim x As Integer Dim r As String DAO.DBEngine.SetOption dbMaxLocksPerFile, 45000 Set rs = CurrentDb.OpenRecordset("SELECT Sheet1.cod, Sheet1.num , Sheet1.date_ezen fROM Sheet1 ORDER BY Sheet1.nname,Sheet1.cod , Sheet1.date_ezen ") If rs.RecordCount > 0 Then rs.MoveLast rs.MoveFirst Else Exit Sub End If r = rs!cod x = 1 For i = 1 To rs.RecordCount rs.Edit If rs!cod = r Then rs!num = x x = x + 1 Else x = 1 r = rs!cod rs!num = x x = x + 1 End If rs.Update rs.MoveNext Next rs.Close: Set rs = Nothing تفضل المثال بعد التعديل افتح الاستعلام بعد عملية الترقيم لترى النتيجة 1
متقاعد قام بنشر مارس 12, 2023 قام بنشر مارس 12, 2023 منذ ساعه, ابوخليل said: DAO.DBEngine.SetOption dbMaxLocksPerFile, 45000 نعم هذا هو الحل ويمكن عملها عن طريق الرجيستري
ابوخليل قام بنشر مارس 12, 2023 قام بنشر مارس 12, 2023 شكرا اخي العزيز خالد على المرور والتعقيب ويمكن ان يزود العميل بلف يتم تشغيله لتعديل الرقم ، ومن دون دخول على الريجستري ونحتاج هذا الاجراء السريع اذا كان البرنامج قائم .. ويصعب ارسال نسخة محدثة ههههههههه انا اكتب وانت تعمل
متقاعد قام بنشر مارس 12, 2023 قام بنشر مارس 12, 2023 (معدل) 3 دقائق مضت, ابوخليل said: ويمكن ان يزود العميل بلف يتم تشغيله لتعديل الرقم ، ومن دون دخول على الريجستري وهذا ما اشرت اليه في ملف الفيديو ☝️ ممكن يكون ملف req او ملف دفعي bat او cmd ولكن يبقى السطر الذي اشرتم اليه افضل طالما نحن نتحدث عن access تم تعديل مارس 12, 2023 بواسطه متقاعد
ابوخليل قام بنشر مارس 12, 2023 قام بنشر مارس 12, 2023 آسف اخي انسيت رفع المثال المعدل تفضل Database13mar.rar 1
mohamed_ets قام بنشر مارس 13, 2023 الكاتب قام بنشر مارس 13, 2023 (معدل) شكرا اخوتى الكرم ومجهود مشكور منكم وونفعنا الله بكم وزادكم من فضله ورفع الله قدركم فقد ازلتم من على صدرى هم كبير لترتيب هذه البيانات التى كان من الصعب على ترتيبها لولا مساعتدكم لى وصبركم وجهدكم زرادكم الله من علمه وفضله. ملحوظة : تاريخ السداد يعتمد على سداد القسط فاذا لم يسدد فلا يوجد تاريخ للسداد تم تعديل مارس 13, 2023 بواسطه mohamed_ets
ابوخليل قام بنشر مارس 13, 2023 قام بنشر مارس 13, 2023 انا عملت لك المثال على تاريخ الأذن لأتأكد من ترقيم الجميع .. لانه موجود في جميع السجلات تفضل الآن الترقيم بناء على تاريخ التسديد باستخدام استعلام الذي سيحصر المسدد فقط وعملت لك استعلامين لاظهار المسدد / وغير المسدد Database14mar.rar 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.