اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

الإخوة الكرام .. السلام عليكم ورحمة الله وبركاته

في الملف المرفق جدول (Book) وفيه حقل (Nass) يبدأ بأرقام بين &1&&

والمطلوب نقل الرقم فقط لحقل  (page)

وللتوضيح فقط عملت المطلوب في أول خمسة صفوف

ثم كود آخر لحذف هذه الأسطر التي تبدأ بـ (&) لأنه لم تعد لها حاجة

والأفضل أن يكون كل كودا منفصلا عن الآخر، فلا يلزم من استخدام أحدهما أن أستخدم الآخر

Book.rar

قام بنشر
42 دقائق مضت, nssj said:

في الملف المرفق جدول (Book) وفيه حقل (Nass) يبدأ بأرقام بين &1&&

والمطلوب نقل الرقم فقط لحقل  (page)

تفضل .....

الكود لنقل الرقم فقط ...اعلمنا بالنتيجة ....

Sub ExtractSingleNumber()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim strPattern As String
    Dim strInput As String
    Dim regExp As Object
    Dim matches As Object
    
    ' النمط لاستخراج الرقم بين & و &&
    strPattern = "&(\d+)&&"
    
    ' تهيئة قاعدة البيانات
    Set db = CurrentDb
    Set rs = db.OpenRecordset("SELECT nass, page FROM book")
    
    ' تهيئة كائن التعبير النمطي
    Set regExp = CreateObject("VBScript.RegExp")
    regExp.Pattern = strPattern
    regExp.Global = False
    
    ' المرور عبر السجلات
    Do While Not rs.EOF
        strInput = rs!nass
        
        If regExp.Test(strInput) Then
            Set matches = regExp.Execute(strInput)
            rs.Edit
            rs!Page = matches(0).SubMatches(0) ' الرقم المستخرج
            rs.Update
        End If
        
        rs.MoveNext
    Loop
    
    ' تنظيف الموارد
    rs.Close
    Set rs = Nothing
    Set db = Nothing
    Set regExp = Nothing
    
    MsgBox "تم نسخ الأرقام إلى الحقل page بنجاح!"
End Sub

والكود التالي لحذف السطر الذي به النمط
تفضل ......
 

Sub RemoveAllPatterns()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim strPattern As String
    Dim strInput As String
    Dim regExp As Object
    
    ' النمط لإزالة كل ما يشبه &رقم&&
    strPattern = "&\d+&&"
    
    ' تهيئة قاعدة البيانات
    Set db = CurrentDb
    Set rs = db.OpenRecordset("SELECT nass FROM book")
    
    ' تهيئة كائن التعبير النمطي
    Set regExp = CreateObject("VBScript.RegExp")
    regExp.Pattern = strPattern
    regExp.Global = True ' لضمان إزالة جميع التطابقات داخل النص
    
    ' المرور عبر السجلات
    Do While Not rs.EOF
        strInput = rs!nass
        
        If regExp.Test(strInput) Then
            rs.Edit
            ' إزالة جميع التطابقات للنمط من النص
            rs!nass = regExp.Replace(strInput, "")
            rs.Update
        End If

        rs.MoveNext
    Loop
    
    ' تنظيف الموارد
    rs.Close
    Set rs = Nothing
    Set db = Nothing
    Set regExp = Nothing
    
    MsgBox "تم حذف جميع الأنماط &رقم&& بنجاح!"
End Sub

 

  • Like 4
قام بنشر

أحسن الله إليك أخي الكريم

الكودان يؤديان المهمة المطلوبة

لكن إن تكرمت .. هل يمكن إضافة على الكود الثاني كود الحذف بحيث يحذف الفقرة كلها ولا يبقى في النص سطرا فارغا

01.png.c436e3c22be135c66d30bd0564266638.png

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