jjafferr قام بنشر يناير 25, 2021 قام بنشر يناير 25, 2021 17 ساعات مضت, nssj said: الأكسس الذي عندي لم يعجبه السطر الذي أضفته وأخرج لي رسالة وظلله بالأصفر نعم ،مكان الكود كان في السطر الخطأ !! اما الآن ، وبعد التجربة ، فهو شغال تمام ان شاء الله 🙂 هكذا اصبحت الدالة: Function Remove_Extras(myValue As String) As String Dim x() As String Dim j As Integer For j = 1 To 999 'remove all the extra characters at the end of the line If Right(myValue, 1) = Chr(7) Or _ Right(myValue, 1) = vbCr Or _ Right(myValue, 1) = vbLf Or _ Right(myValue, 1) = vbCrLf Then myValue = Mid(myValue, 1, Len(myValue) - 1) Else Exit For End If Next j 'now remove the empty lines 'unify the end of the line characters myValue = Replace(myValue, Chr(7), vbCrLf) myValue = Replace(myValue, vbCr, vbCrLf) myValue = Replace(myValue, vbLf, vbCrLf) x = Split(myValue, vbCrLf) For j = 0 To UBound(x) If Len(x(j)) < 2 Then Else 'remove the extra spaces on: 'separate the text from vbcrlf, Remove the extra spaces, then attache vbcrlf to it x(j) = Trim(Mid(x(j), 1, Len(x(j)) - 1)) & vbCrLf Remove_Extras = Remove_Extras & x(j) End If Next j Remove_Extras = Replace(Remove_Extras, Chr(11), vbCrLf) 'remove all VT characters End Function جعفر أسطر2.zip
jjafferr قام بنشر يناير 25, 2021 قام بنشر يناير 25, 2021 اخوي هاوي 🙂 بعض الاحيان ، وبمجرد رؤية المطلوب ، تقفز الحلول الى الخاطر ، ولكن وبعد التجربة ، نرى ان بعض هذه الحلول لا تعطي النتائج الصحيحة ، والنقطة اللي نتناقش حولها هي مثل هذا الاحتمال: مسافة مسافة 1234 مسافة مسافة vbcrlf الدالة Trim واخواتها ممكن ان يحذفو المسافات الفارغة قبل وبعد اي قيمة ، ولكن في حال المثال اعلاه ، فإن الدالة ستقوم بحذف المسافات في مقدمة الرقم ، سواء Trim او LTrim، ولكن وبسبب وجود اشارة السطر التالي vbcrlf ، فالمسافات التي قبلها لن تحذفها الدالة ، فعليه ، يكون نتيجة اجراء الدالة: 1234 مسافة مسافة vbcrlf لهذا السبب ، فالموضوع يتطلب اجراء اضافي 🙂 جعفر
biskra قام بنشر يناير 25, 2021 قام بنشر يناير 25, 2021 بناء على بحث في هذه النقطة و في موقع فرنسي كانت النتيجة التالية تقليل المسافات في السلسلة تم النشر في 13 آب (أغسطس) 2012 خاصة بعد استيراد البيانات ، ينتهي بنا الأمر أحيانًا بمسافات متعددة بين الكلمات. هذه وظيفة تزيل بشكل فعال هذه المسافات المتعددة في واحدة. الوظيفة في VBA Public Function ReduireEspaces(ByVal Chaine As String) As String Const DoubleEspace As String = " " Const Espace As String = " " While InStr(1, Chaine, DoubleEspace, vbBinaryCompare) > 0 Chaine = Replace(Chaine, DoubleEspace, Espace, , , vbBinaryCompare) Wend ReduireEspaces = Chaine End Function مع كل تمريرة للحلقة ، يتم تقليل المسافة المزدوجة إلى واحد. على سبيل المثال ، لتقليل 3 مسافات متجاورة إلى واحدة ، يتم تنفيذ الحلقة مرتين. في الحلقة الأولى ، يُنظر إلى 3 مسافات متجاورة على أنها مسافتان + مسافة واحدة ، ومن ثم يتم تقليل المساحة إلى مسافة واحدة + مسافة واحدة. ثم تجد الحلقة الثانية مسافتين متجاورتين يتم تقليلهما بعد ذلك إلى مسافتين. للتذكير ، نزيل المسافات في بداية السلسلة باستخدام الدالة LTrim () ، والمسافات الموجودة في نهاية السلسلة بواسطة RTrim () والكل بواسطة Trim () (أو LTrim $ ، RTrim $ ، Trim $ لسلسلة من نوع String). مثال على الاستخدام في نافذة Run VBE: 'Attendu: Un espace sinon rien! ?ReduireEspaces("Un espace sinon rien!") و المثال الذي قمت رفعه أعلاه قمت بتجربته و أضفت العديد من المسافات بين الكلمات و بعد تنفيذ الاستعلام نجح في إرجاع المسافات الى موقعها العادي دون أن يتأثر التنسيق أو ينقص من الجملة أو الكلمة ربما يمكن إضافة هذه الخاصية الى الكود الذي قمت بتصميمه. 1
nssj قام بنشر يناير 25, 2021 الكاتب قام بنشر يناير 25, 2021 الأخ الكريم جعفر .. صحيح أن شرطي المرور لم يعترض هذه المرة على الكود .. لكن يظهر أن الكود نفسه جائع بعض الشيء .. كل مرة أشغله فيها يأكل حرفا من آخر الحقل 😂 وشكراً للأخ biskra على اهتمامه بالموضوع .. الموضوع الذي يظهر لي أنه أكثر تعقيداً مما ظننت .. 🤔
Hawiii قام بنشر يناير 25, 2021 قام بنشر يناير 25, 2021 59 دقائق مضت, biskra said: ناء على بحث في هذه النقطة و في موقع فرنسي كانت النتيجة التالية حياك الله يا أخونا الكريم ، لو بحثت في المنتدى سوف ترى هذا الحل موجود (الحل/الفكرة وليس المثال). 1 ساعه مضت, jjafferr said: لهذا السبب ، فالموضوع يتطلب اجراء اضافي 🙂 حياك أخي جعفر سوف أضيف سطرا إضافيا وأرفعه بعد قليل.
jjafferr قام بنشر يناير 25, 2021 قام بنشر يناير 25, 2021 وتعديل آخر: Function Remove_Extras(myValue As String) As String Dim x() As String Dim j As Integer Dim mySpace As String For j = 1 To 999 'remove all the extra characters at the end of the line If Right(myValue, 1) = Chr(7) Or _ Right(myValue, 1) = vbCr Or _ Right(myValue, 1) = vbLf Or _ Right(myValue, 1) = vbCrLf Then myValue = Mid(myValue, 1, Len(myValue) - 1) Else Exit For End If Next j 'now remove the empty lines myValue = Replace(myValue, Chr(7), vbCrLf) myValue = Replace(myValue, vbCr, vbCrLf) myValue = Replace(myValue, vbLf, vbCrLf) x = Split(myValue, vbCrLf) For j = 0 To UBound(x) If Len(x(j)) < 2 Then Else 'remove the extra spaces on: x(j) = LTrim(x(j)) 'remove the left spaces 'separate the text from vbcrlf, Remove the extra spaces, then attache vbcrlf to it 'only if the right character is a spcae mySpace = Mid(x(j), 1, Len(x(j)) - 1) If Right(mySpace, 1) = " " Then x(j) = Trim(mySpace) & vbCrLf End If Remove_Extras = Remove_Extras & x(j) End If Next j Remove_Extras = Replace(Remove_Extras, Chr(11), vbCrLf) 'remove all VT characters End Function . منذ ساعه, biskra said: بناء على بحث في هذه النقطة ولكن المطلوب ليس تحويل المسافات الى مسافة واحدة ، وانما المطلوب حذف هذه المسافات/المسافة 🙂 قاعدة البيانات المرفقة فيها مثال ، فجرب كودك عليها 🙂 جعفر 1
Hawiii قام بنشر يناير 25, 2021 قام بنشر يناير 25, 2021 Sub CleanTable(Table As String, Field As String) DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],'" & vbNewLine & "','');" DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],' ',' ');" DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Trim([" & Field & "]);" End Sub 'لاستدعاء كود تنظيف الجدول Private Sub CmdCleanTable_Click() Call CleanTable("مسند", "nass") End Sub إن شاء الله يكون حلا نهائيا.
nssj قام بنشر يناير 25, 2021 الكاتب قام بنشر يناير 25, 2021 الأخ الكريم جعفر .. الكود لم يعد يأكل الكلام 🙂 .. لكنه لا يحذف السطر الفارغ إذا كان السطر الذي بعده في أوله مسافة .. يحذف أولا المسافة في أول السطر ثم بعد تشغيله مرة ثانية يحذف السطر الفارغ بينما الكود الأول الذي تفضلت به Function Remove_Extras(myValue As String) As String Dim x() As String Dim j As Integer For j = 1 To 999 'remove all the extra characters at the end of the line If Right(myValue, 1) = Chr(7) Or _ Right(myValue, 1) = vbCr Or _ Right(myValue, 1) = vbLf Or _ Right(myValue, 1) = vbCrLf Then myValue = Mid(myValue, 1, Len(myValue) - 1) Else Exit For End If Next j 'now remove the empty lines myValue = Replace(myValue, Chr(7), vbCrLf) myValue = Replace(myValue, vbCr, vbCrLf) myValue = Replace(myValue, vbLf, vbCrLf) x = Split(myValue, vbCrLf) For j = 0 To UBound(x) 'remove the extra spaces on: x(j) = LTrim(x(j)) 'the Left x(j) = RTrim(x(j)) 'the Right If Len(x(j)) < 2 Then Else Remove_Extras = Remove_Extras & x(j) End If Next j Remove_Extras = Replace(Remove_Extras, Chr(11), vbCrLf) 'remove all VT characters End Function كان يحذف الأسطر الفارغة بغض النظر عن المسافات في اوائل الأسطر وشكرا للأخ (هاوي) على مشاركته .. لكن لم أعرف كيف أستدعي الكود .. ولما جربته بشكل منفصل وكتبت أسم الجدول والحقل لم يحذف إلا المسافات التي في آخر الحقل فقط، أما إلمسافات التي في أواخر الأسطر الأخرى فبقيت كما هي 1
jjafferr قام بنشر يناير 25, 2021 قام بنشر يناير 25, 2021 13 دقائق مضت, nssj said: الكود لم يعد يأكل الكلام 🙂 .. لكنه لا يحذف السطر الفارغ إذا كان السطر الذي بعده في أوله مسافة .. يحذف أولا المسافة في أول السطر ثم بعد تشغيله مرة ثانية يحذف السطر الفارغ اما تجربتي فتقول ، قبل: . وبعد: . جرب المرفق 🙂 جعفر أسطر2.zip 1
nssj قام بنشر يناير 25, 2021 الكاتب قام بنشر يناير 25, 2021 أعتذر ربما لم أشرح جيدا أو اختلط علي الأمر الكود لا يحذف السطر الفارغ إذا كان فيه مسافة أو مسافات .. لابد أولا من حذف المسافات ثم يحذف السطر الفارغ .. ربما لأنه إذا كان فيه مسافة لا يعتبره فارغا .. بصراحة معه حق في هذا .. فهذا مقتضى الدقة 🙂 1
ابوخليل قام بنشر يناير 25, 2021 قام بنشر يناير 25, 2021 بالنسبة للمسافات الزائدة ((( وليس الأسطر (لم ابحث من قبل)) ) وطريقة البحث عنها وضبطها فميكروسوفت اوجدت طريقة محكمة في جميع تطبيقاتها : اكسس او اكسل او وورد بواسطة البحث والاستبدال في وورد معروف مكانها ضمن قائمة التحرير ، وفي اكسس يتم ذلك على الجدول مباشرة : النقر بزر الفأرة الأيمن على العمود واختيار بحث من التبويب استبدال: في حقل استبدال : ننقر مسافتين وفي حقل استبدال بــ : ننقر مسافة ونوافق على العملية 1
jjafferr قام بنشر يناير 25, 2021 قام بنشر يناير 25, 2021 جرب هذا الكود : Function Remove_Extras(myValue As String) As String Dim x() As String Dim j As Integer Dim mySpace As String For j = 1 To 999 'remove all the extra characters at the end of the line If Right(myValue, 1) = Chr(7) Or _ Right(myValue, 1) = vbCr Or _ Right(myValue, 1) = vbLf Or _ Right(myValue, 1) = vbCrLf Then myValue = Mid(myValue, 1, Len(myValue) - 1) Else Exit For End If Next j 'now remove the empty lines myValue = Replace(myValue, Chr(7), vbCrLf) myValue = Replace(myValue, vbCr, vbCrLf) myValue = Replace(myValue, vbLf, vbCrLf) x = Split(myValue, vbCrLf) For j = 0 To UBound(x) 'remove the extra spaces on: x(j) = LTrim(x(j)) 'remove the left spaces If Len(x(j)) < 2 Then Else 'remove the extra spaces on: x(j) = LTrim(x(j)) 'remove the left spaces 'separate the text from vbcrlf, Remove the extra spaces, then attache vbcrlf to it 'only if the right character is a spcae mySpace = Mid(x(j), 1, Len(x(j)) - 1) If Right(mySpace, 1) = " " Then x(j) = Trim(mySpace) & vbCrLf End If Remove_Extras = Remove_Extras & x(j) End If Next j Remove_Extras = Replace(Remove_Extras, Chr(11), vbCrLf) 'remove all VT characters End Function جعفر 3
biskra قام بنشر يناير 25, 2021 قام بنشر يناير 25, 2021 يظهر أن الكود ناجح و يؤدي المطلوب، حسب رأيي ينقصه فقط حذف المسافات وسط النص فقط ليحل مشاكل الفراغات اينما وجدت.
nssj قام بنشر يناير 25, 2021 الكاتب قام بنشر يناير 25, 2021 (معدل) الأخ الكريم جعفر .. بعد التجربة الأولية كانت النتيجة ممتازة .. ولكن بعد إجراء التجارب على ملفات أخرى ظهر لي أن الكود يحذف آخر حرف في آخر سطر في الحقل إذا كانت قبله مسافة أو مسافات يعني ( 1/ 21 ) فذكره . تصبح هكذا ( 1/ 21 فذكره بينما الكود الأول لم يفعل ذلك .. فإذا كان موضوع حذف المسافات في آخر السطر فيه احتمالية ولو ضعيفة لحذف شيء من النص فالأسلم تركها تم تعديل يناير 25, 2021 بواسطه nssj
nssj قام بنشر يناير 26, 2021 الكاتب قام بنشر يناير 26, 2021 (معدل) الأخ الكريم Hawiii .. شكرا لك أن راعيت كوني مبتدئا وطبقت الكود على الملف لكن لما حاولت أن أحوله إلى استعلام كي أتخلص من رسائل التأكيد (أنت على وشك ..) لم أنجح مع أني استخدمت هذه الصيغة UPDATE مسند SET مسند.nass = CleanTable([nass]); وكذلك الأمر حين حولت الوحدة النمطية إلى Function CleanTable(..) . . End Function فأين الخطأ ثم بالنسبة للكود الذي تفضلت به فهو فعال في حذف الأسطر الفارغة إذ يحذف الأسطر الفارغة أينما كانت حتى لو كان فيها مسافة أو مسافات فارغة لكن بالنسبة لحذف المسافات في أول وآخر السطر فهو يحول المسافتين إلى واحدة ولا يحذفها يبدو فعلا أن موضوع حذف المسافات أكثر تعقيدا من حذف الأسطر 🤔 تم تعديل يناير 26, 2021 بواسطه nssj
Hawiii قام بنشر يناير 26, 2021 قام بنشر يناير 26, 2021 @nssj أرح نفسك ولا تحول الكود إلى استعلام!!. ولماذا متمسك بالاستعلام؟!! أما رسائل التأكيد فيمكنك أن تبحث في المنتدى عن كيفية إيقاف الرسائل . وأي مسافات التي لم تحذف؟! زودنا بصورة لو سمحت. ركز على حل مسألتك واترك الكيفية عىل من يقدم لك الحل.
أفضل إجابة jjafferr قام بنشر يناير 26, 2021 أفضل إجابة قام بنشر يناير 26, 2021 (معدل) السلام عليكم 🙂 هذه آخر محاولة لي ، وقد قمت بتغيير العمل: Option Compare Database Option Explicit Function Remove_Extras(myValue As String) As String Dim x() As String Dim j As Integer 'unify endline characters, so that we can use Split function myValue = Replace(myValue, Chr(7), vbCrLf) myValue = Replace(myValue, Chr(10) & Chr(13), vbCrLf) myValue = Replace(myValue, vbCr, vbCrLf) myValue = Replace(myValue, vbLf, vbCrLf) ' myValue = Replace(myValue, " ", " ") ' myValue = Replace(myValue, " ", " ") ' myValue = Replace(myValue, " ", " ") 'convert the one paragraph into different phrases separated by vbcrlf x = Split(myValue, vbCrLf) 'Loop through the phrases For j = 0 To UBound(x) 'remove the extra spaces on the Left x(j) = Trim(x(j)) If Len(x(j)) > 1 And j <> UBound(x) Then 'separate the text from vbcrlf, Remove the extra spaces, then attache vbcrlf to it 'only if the right character is a spcae and its not the last phrase x(j) = Trim(Mid(x(j), 1, Len(x(j)) - 1)) & vbCrLf End If 'Remove the Empty lines (one character length), and accumelate the rest of the lines If Len(x(j)) < 2 Then Else Remove_Extras = Remove_Extras & x(j) End If Next j 'this is an Access conversion error, so lets uninfy it like all endlines Remove_Extras = Replace(Remove_Extras, Chr(11), vbCrLf) 'replace the VT characters with vbcrlf 'if the last character is vbcrlf, remove it, so that we dont have extra empty line at the end If Right(Remove_Extras, 1) = vbCrLf Or Right(Remove_Extras, 1) = Chr(10) Or Right(Remove_Extras, 1) = Chr(13) Then Remove_Extras = Mid(Remove_Extras, 1, Len(Remove_Extras) - 2) End If End Function جعفر أسطر3.zip تم تعديل يناير 29, 2021 بواسطه jjafferr تعديل بسيط 2
nssj قام بنشر يناير 26, 2021 الكاتب قام بنشر يناير 26, 2021 الأخ الكريم جعفر .. تم الأمر بحمد الله .. حذفت جميع الأسطر الفارغة حيثما كانت وبغض النظر عن المسافات الفارغة فيها أو قبلها أو بعدها، وحذفت جميع المسافات في أوائل وأواخر الأسطر، دون المساس بالنص، وذلك بعد التجربة والمقارنة فجزاك الله خيراً على صبرك علي .. وبارك الله فيك
jjafferr قام بنشر يناير 26, 2021 قام بنشر يناير 26, 2021 الحمدلله 🙂 والمفروض يكون اسرع من الكود السابق 🙂 ورجاء تجربته في الموضوع الآخر كذلك ، وضع الجواب هناك 🙂 حعفر 1
Hawiii قام بنشر يناير 26, 2021 قام بنشر يناير 26, 2021 لم تحل المشكلة 100%. وهذه كذلك آخر مشاركة لي في هذا الموضوع. طلبتك ترفق صورة ولم تفعل ، فيبدو لي أنك تريد الحل من شخص محدد. موفق أخي.
nssj قام بنشر يناير 26, 2021 الكاتب قام بنشر يناير 26, 2021 1 ساعه مضت, Hawiii said: طلبتك ترفق صورة ولم تفعل لأني كنت منشغلا بالتجارب رغبة في التعلم حتى أحل مشاكلي بنفسي في المستقبل أخي الكريم (Hawiii) لو جربتَ الكود للاحظتَ أنه لا يحذف المسافات إلا إذا كانت أكثر من اثنتين، أما المسافة الواحدة في أول وآخر السطر فتبقى كما هي وأنا أحاول أن أتعلم من كل مشاركة من أي أخ من أهل الخبرة، حتى لو لم تكن مشاركته فيها الحل الجذري للمشكلة .. فأنا بحمد الله أجيد التعلم بالمقارنة والقياس .. وكل محاولة تضيف جديدا في رصيد معرفتي .. وبالرغم من أن كود الأخ جعفر قد حل المشكلة .. فأنا تعلمت من الكود الذي تفضلت به، وكذا من مشاركات الإخوة الذين أتحفونا بمشاركاتهم .. تعلمت أمورا ربما تنفعني في حل مشاكل أخرى وقد أضفت على الكود الذي تفضلت به جملتين حصل بهما المقصود .. حذف المسافة في أول وآخر السطر DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],'" & vbNewLine & "','');" DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],' ',' ');" DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],' ',' ');" DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],' '+Chr(13),Chr(13));" DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],Chr(13)+' ',Chr(13));" DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Trim([" & Field & "]);" بقي أن أتعلم كيف أحوله إلى استعلام تحديث، حتى تخرج لي رسالة واحدة فقط، بدل أن تخرج لي ست رسائل بعدد أسطر الكود، ولأنه ظهر لي أن استخدام الاستعلام وأنا خارج النموذج أسلم، خشية أن أستعمل الكود وأنا في سجل قد قمت بتحديثه ولم أقم بحفظه فتخرج لي رسالة: لقد قام مستخدم آخر بتغيير هذا السجل .. ثم سوف أحتفظ بهذا الكود فقد أستخدمه في قاعدة بيانات أخرى غير قاعدة البيانات الرئيسية التي سوف أستخدم فيها الكود الذي تفضل به الأخ جعفر .. وإن لم أستخدمه فيكفي أنه أضاف لي جديدا في رصيد معرفتي
Hawiii قام بنشر يناير 27, 2021 قام بنشر يناير 27, 2021 47 دقائق مضت, nssj said: وبالرغم من أن كود الأخ جعفر قد حل المشكلة لم تحل عزيزي ولو تركز قليلا سوف ترى أن الأستاذ جعفر أضاف سطرين في آخر السجل الأول ولم ينجح الكود في التعامل معهما. عند الرغبة في تعطيل رسائل التأكيد للاستعلامات اعمل التالي: - افتح Access Options - اختر Advanced - اختر Confirm - أزل إشارة الصح من Action queries أو يمكنك تركه وتعطل الرسائل في أول الكود بعبارة DoCmd.SetWarnings False كالتالي: Sub CleanTable(Table As String, Field As String) Dim i As Byte DoCmd.SetWarnings False '---------------------- DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],'" & vbNewLine & "','');" DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],'{{','{');" DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],'}}','}');" '---------------------- DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Trim([" & Field & "]);" For i = 1 To 3 DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],' ',' ');" Next i '---------------------- DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],'} {','}" & Chr(13) & "{');" DoCmd.RunSQL "UPDATE " & Table & " SET [" & Table & "].[" & Field & "] = Replace([" & Field & "],'} ','}" & Chr(13) & "');" '---------------------- DoCmd.SetWarnings True End Sub أسطر4.rar
jjafferr قام بنشر يناير 27, 2021 قام بنشر يناير 27, 2021 6 ساعات مضت, Hawiii said: جعفر أضاف سطرين في آخر السجل الأول ولم ينجح الكود في التعامل معهما. وين؟ . جعفر
nssj قام بنشر يناير 27, 2021 الكاتب قام بنشر يناير 27, 2021 (معدل) أخي الكريم (Hawiii) .. لا يزال الكود لا يحذف المسافة الواحدة في أول وآخر السطر. لكن توجد إشكالية أخرى في هذا الكود .. بسبب وجود القوسين {} فيه وهي أقواس أستخدمها لترقيم خاص، فأصبح يحذف المتكرر منها، ويضيف سطرا بعد كل واحد، يعني: تصبح هكذا ولاحظ المسافة باللون الأصفر ثم وبخصوص كود الأخ جعفر الذي ظهر لي أنه يؤدي المطلوب ولا يؤثر على النص، ليس هذا بالملاحظة بل بالمقارنة بعد تصدير الملفات إلى وورد ومقارنتها آليا مع الأصول، فإذا لاحظتَ خلاف ذلك فالرجاء التحديد بشكل أوضح إن تكرمت هذا وأعتقد أن تعدد الأفكار والحلول ظاهرة صحية، ولا مانع من استخدام عدة أكواد، طبعا في قواعد بيانات متعددة، هذا هنا وهذا هناك، وليس في مكان واحد 🙂 تم تعديل يناير 27, 2021 بواسطه nssj
الردود الموصى بها