اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

السلام عليكم ورحمه الله

بالملف المرفق يوجد جدول باسم  "ارقام مسلسله"

المطلوب عمل استعلام تحديث  او فتح اجراء سريع او بالضغط على زر يقوم بتغيير الشق الايمن من محتوى السجلات جميعها بالحقل " مسلسل"  من  /2024     الى  رقم السنة الحالية بتاريخ الكمبيوتر   /2025    مع الحفاظ على الشق الايسر كما هو

 

image.png.613d71ad2035800e94d9ca6c973b9e4d.pngmodif.accdb

قام بنشر

وعليكم السلام ورحمة الله

جرب الكود التالي

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

 

شرح الكود:

  1. يحصل على السنة الحالية من النظام.
  2. ينشئ استعلام تحديث يستبدل الجزء الأيمن (/2024) بالسنة الجديدة.
  3. يستخدم دالة Left() لاستخراج الجزء الأيسر من السلسلة النصية قبل العلامة /، ثم يضيف /السنة الجديدة.
  4. ينفذ التحديث عبر db.Execute.
  5. يعرض رسالة تأكيد بعد انتهاء العملية.

طريقة الاستخدام:

  • يمكنك تشغيل هذا الكود من خلال زر في نموذج، بإضافة زر وتنفيذ الإجراء عند النقر عليه.
  • أو تشغيله يدويًا من نافذة VBA.

طريقة استخدام الكود انشئ زر وضع فيه

Call UpdateSerialNumbers

 

  • Thanks 1
قام بنشر

 وهذه مشاركتي بالنسبة لــــ  كود استعلام التحديث

UPDATE [ارقام مسلسله] SET مسلسل = Left([مسلسل], InStr([مسلسل], "/") - 1) & "/" & Year(Date());

ونصيحة نكررها داىما ابتعد عن المسميات باللغة العربية.

بالتوفيق

  • Like 1
قام بنشر (معدل)

مشاركة مع الأستاذ @kanory

UPDATE [ارقام مسلسله]
SET مسلسل = Left([مسلسل], InStr([مسلسل], "/") - 1) & "/" & Year(Date());

اذا كنت تريد استخدام هذا الإجراء بشكل سنوي لتحديث قيمة السنة 🤗 .

 

عذراً ، لم انتبه لمشاركة الأستاذ @سامي الحداد 🤗 .

تم تعديل بواسطه Foksh
  • Like 1
  • Haha 1
قام بنشر
UPDATE [ارقام مسلسله] 
SET [مسلسل] = IIf( InStr([مسلسل], "/2024") > 0, Left([مسلسل], Len([مسلسل]) - 5) & "/" & Year(Date()), [مسلسل] )


ولكن هذا افضل 

ليه

إذا كان الحقل "مسلسل" يحتوي على أكثر من شريط مائل / في النص فإن InStr([مسلسل], "/") سوف يعيد موضع أول شريط مائل فقط

في هذه الحالة سيتغير الجزء الأيسر ولكن لن يتم استبدال السنة بشكل صحيح إذا كان هناك شرطة مائلة آخري :yes:

الصح وانت تضع حل مشكله توقع الاخطاء التى قد تصادفها وتسبب خطأ فى حل المشكله :wink2:

  • Like 1
  • Haha 1
قام بنشر
31 دقائق مضت, ابو جودي said:

الصح وانت تضع حل مشكله توقع الاخطاء التى قد تصادفها وتسبب خطأ فى حل المشكله

هذا قد يعني ان الجزء المسؤول عن اضافة القيمة الى الحقل تشوبه شائبة ، وأنا لا أحب التفكير في المكونات الغير صرورية 😁 

  • Haha 1
قام بنشر
1 ساعه مضت, سامي الحداد said:

 وهذه مشاركتي بالنسبة لــــ  كود استعلام التحديث

UPDATE [ارقام مسلسله] SET مسلسل = Left([مسلسل], InStr([مسلسل], "/") - 1) & "/" & Year(Date());

ونصيحة نكررها داىما ابتعد عن المسميات باللغة العربية.

بالتوفيق

لم يعمل  يرجى تجربة الكود على ملف العمل المرفوع بجانب الصورة المرفوعه على طلبى

 

image.png.dc77e651c63dd3eb917848cac0258898.png

 

قام بنشر

أخي الكريم ، جربت كود الإستعلام التالي :-

UPDATE [ارقام مسلسله]
SET مسلسل = Left([مسلسل], InStr([مسلسل], "/") - 1) & "/" & Year(Date());

 

قام بنشر
6 دقائق مضت, Foksh said:

أخي الكريم ، جربت كود الإستعلام التالي :-

UPDATE [ارقام مسلسله]
SET مسلسل = Left([مسلسل], InStr([مسلسل], "/") - 1) & "/" & Year(Date());

 

كانت النتيجة كلها   اصفار

 

 

image.png.4c7484ea55a6da1ed91246588d51cbcf.png

 

image.png.dc85c71555956b68b461b5bc4c8af0a2.png

  • Confused 1
  • تمت الإجابة
قام بنشر
3 دقائق مضت, Abdelaziz Osman said:

كانت النتيجة كلها   اصفار

 

 

image.png.4c7484ea55a6da1ed91246588d51cbcf.png

 

image.png.dc85c71555956b68b461b5bc4c8af0a2.png

ليس صحيحاً أخي الكريم ,,,

 

انظر المرفق

modif.accdb

  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information