Abdelaziz Osman قام بنشر فبراير 10 قام بنشر فبراير 10 السلام عليكم ورحمه الله بالملف المرفق يوجد جدول باسم "ارقام مسلسله" المطلوب عمل استعلام تحديث او فتح اجراء سريع او بالضغط على زر يقوم بتغيير الشق الايمن من محتوى السجلات جميعها بالحقل " مسلسل" من /2024 الى رقم السنة الحالية بتاريخ الكمبيوتر /2025 مع الحفاظ على الشق الايسر كما هو modif.accdb
kanory قام بنشر فبراير 10 قام بنشر فبراير 10 وعليكم السلام ورحمة الله جرب الكود التالي Sub UpdateSerialNumbers() Dim db As DAO.Database Dim sql As String Dim currentYear As String ' الحصول على السنة الحالية من نظام الكمبيوتر currentYear = Year(Date) ' إنشاء استعلام التحديث sql = "UPDATE [أرقام مسلسلة] " & _ "SET مسلسل = Left(مسلسل, InStr(مسلسل, '/') - 1) & '/" & currentYear & "'" ' فتح قاعدة البيانات وتنفيذ الاستعلام Set db = CurrentDb db.Execute sql, dbFailOnError ' تنظيف الذاكرة Set db = Nothing ' إظهار رسالة تأكيد MsgBox "تم تحديث أرقام المسلسل إلى سنة " & currentYear, vbInformation, "تحديث ناجح" End Sub شرح الكود: يحصل على السنة الحالية من النظام. ينشئ استعلام تحديث يستبدل الجزء الأيمن (/2024) بالسنة الجديدة. يستخدم دالة Left() لاستخراج الجزء الأيسر من السلسلة النصية قبل العلامة /، ثم يضيف /السنة الجديدة. ينفذ التحديث عبر db.Execute. يعرض رسالة تأكيد بعد انتهاء العملية. طريقة الاستخدام: يمكنك تشغيل هذا الكود من خلال زر في نموذج، بإضافة زر وتنفيذ الإجراء عند النقر عليه. أو تشغيله يدويًا من نافذة VBA. طريقة استخدام الكود انشئ زر وضع فيه Call UpdateSerialNumbers 1
سامي الحداد قام بنشر فبراير 10 قام بنشر فبراير 10 وهذه مشاركتي بالنسبة لــــ كود استعلام التحديث UPDATE [ارقام مسلسله] SET مسلسل = Left([مسلسل], InStr([مسلسل], "/") - 1) & "/" & Year(Date()); ونصيحة نكررها داىما ابتعد عن المسميات باللغة العربية. بالتوفيق 1
Foksh قام بنشر فبراير 10 قام بنشر فبراير 10 (معدل) مشاركة مع الأستاذ @kanory UPDATE [ارقام مسلسله] SET مسلسل = Left([مسلسل], InStr([مسلسل], "/") - 1) & "/" & Year(Date()); اذا كنت تريد استخدام هذا الإجراء بشكل سنوي لتحديث قيمة السنة 🤗 . عذراً ، لم انتبه لمشاركة الأستاذ @سامي الحداد 🤗 . تم تعديل فبراير 10 بواسطه Foksh 1 1
ابو جودي قام بنشر فبراير 10 قام بنشر فبراير 10 UPDATE [ارقام مسلسله] SET [مسلسل] = IIf( InStr([مسلسل], "/2024") > 0, Left([مسلسل], Len([مسلسل]) - 5) & "/" & Year(Date()), [مسلسل] ) ولكن هذا افضل ليه إذا كان الحقل "مسلسل" يحتوي على أكثر من شريط مائل / في النص فإن : InStr([مسلسل], "/") سوف يعيد موضع أول شريط مائل فقط في هذه الحالة سيتغير الجزء الأيسر ولكن لن يتم استبدال السنة بشكل صحيح إذا كان هناك شرطة مائلة آخري الصح وانت تضع حل مشكله توقع الاخطاء التى قد تصادفها وتسبب خطأ فى حل المشكله 1 1
سامي الحداد قام بنشر فبراير 10 قام بنشر فبراير 10 7 دقائق مضت, Foksh said: عذراً ، لم انتبه لمشاركة الأستاذ @سامي الحداد الظاهر اننا كنا نكتب في نفس الوفت استادي الفاضل فادي تحياتي لك. 1
Foksh قام بنشر فبراير 10 قام بنشر فبراير 10 31 دقائق مضت, ابو جودي said: الصح وانت تضع حل مشكله توقع الاخطاء التى قد تصادفها وتسبب خطأ فى حل المشكله هذا قد يعني ان الجزء المسؤول عن اضافة القيمة الى الحقل تشوبه شائبة ، وأنا لا أحب التفكير في المكونات الغير صرورية 😁 1
Abdelaziz Osman قام بنشر فبراير 10 الكاتب قام بنشر فبراير 10 1 ساعه مضت, سامي الحداد said: وهذه مشاركتي بالنسبة لــــ كود استعلام التحديث UPDATE [ارقام مسلسله] SET مسلسل = Left([مسلسل], InStr([مسلسل], "/") - 1) & "/" & Year(Date()); ونصيحة نكررها داىما ابتعد عن المسميات باللغة العربية. بالتوفيق لم يعمل يرجى تجربة الكود على ملف العمل المرفوع بجانب الصورة المرفوعه على طلبى
Foksh قام بنشر فبراير 10 قام بنشر فبراير 10 أخي الكريم ، جربت كود الإستعلام التالي :- UPDATE [ارقام مسلسله] SET مسلسل = Left([مسلسل], InStr([مسلسل], "/") - 1) & "/" & Year(Date());
Abdelaziz Osman قام بنشر فبراير 10 الكاتب قام بنشر فبراير 10 6 دقائق مضت, Foksh said: أخي الكريم ، جربت كود الإستعلام التالي :- UPDATE [ارقام مسلسله] SET مسلسل = Left([مسلسل], InStr([مسلسل], "/") - 1) & "/" & Year(Date()); كانت النتيجة كلها اصفار 1
تمت الإجابة Foksh قام بنشر فبراير 10 تمت الإجابة قام بنشر فبراير 10 3 دقائق مضت, Abdelaziz Osman said: كانت النتيجة كلها اصفار ليس صحيحاً أخي الكريم ,,, انظر المرفق modif.accdb 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.