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

nssj

03 عضو مميز
  • Posts

    318
  • تاريخ الانضمام

  • تاريخ اخر زياره

كل منشورات العضو nssj

  1. الأخ الكريك جعفر .. هذه نتيجة تجربة الكود الجديد كما طلبت .. الكود الجديد يزيد سطرا فارغا في آخر كل حقل، ما سوى ذلك فالنتيجة تمام والنص سليم ولا توجد أسطر فارغة أو مسافات في أوائل وأواخر الأسطر حتى لو كانت موجودة في ملف الوورد بالخطأ ويمكنك أن ترى الفرق بين الكودين في الملف المرفق، الملف (04) تم استيراده بالكود القديم، أما (05) فبالكود الجديد ثم وبالعودة للملاحظة المتقدمة بخصوص رسالة (3163)، فظهرت معي خلال التجارب المتعددة رسالة أخرى (3421): خطأ في تحويل نوع البيانات وكان التفكير سابقا أن تتكرم بحل لهذه الرسائل بحيث يتوقف الكود عن العمل مهما كبست عليه ولا تكون هناك حاجة لإجبار البرنامج على التوقف لكن ظهر لي أمر آخر أحب أن آخذ رأيك فيه، وهو أن نجعل خصائص كل الحقول في الجدول الرئيسي (tbl_From_Word) نص طويل (مذكرة) حتى لا تخرج هذه الرسائل، وحتى يتم تحويل الجدول بكل بياناته، ثم بعد ذلك يمكن معالجة الجداول وتغيير خصائصها حسب المطلوب في أكسس، لا سيما وأن استخدامي لهذا الكود لن يكون فقط للملف الرئيسي بخصائصة الموحدة، بل لأغراض متعددة ومتجددة يقتضي كل منها أن تكون بعض الجداول بخصائص مختلفة عن الأخرى لكن قبل ذلك أحب أن أتأكد من أمر ما: فبعض الحقول ينبغي ألا تحتوي إلا على أرقام، ووجود غيرها خطأ ينبغي معالجته وبعض الحقول أرقام وأقواس ووجود أحرف عادية غير مرغوب به وحقول لا ينبغي أن تكون فيها النصوص طويلة فهل توجد آليات في أكسس لتمييز هذه الأمور قبل تغيير خصائص الحقول يعني أن أتأكد أولا قبل تحويل الحقل من (مذكرة) إلى (رقم) أن هذا الحقل لايحتوي إلا على أرقام، والحقول التي تحتوي على غيرها يعطيني أرقامها لمعالجتها وكذلك الحال إذا كانت بعض الحقول تحتوي على نص طويل، قبل تحويله من (مذكرة) إلى (نص) أنا عادة أقوم ببعض هذه الأمور في الوورد عبر خطوات طويلة، فإن كان هذا الأمر ممكنا في أكسس فلعله من الأفضل أن تعالج هذه الأمور فيه ونجعل خصائص كل حقول الجدول (tbl_From_Word) على (مذكرة)، ثم سأطرح موضوع هذه الآليات المطلوبة في موضوع مستقل فما هو رأيك أخي الكريم ؟ 1322.6.تحويل.accdb
  2. أخي الكريم (Hawiii) .. لا يزال الكود لا يحذف المسافة الواحدة في أول وآخر السطر. لكن توجد إشكالية أخرى في هذا الكود .. بسبب وجود القوسين {} فيه وهي أقواس أستخدمها لترقيم خاص، فأصبح يحذف المتكرر منها، ويضيف سطرا بعد كل واحد، يعني: تصبح هكذا ولاحظ المسافة باللون الأصفر ثم وبخصوص كود الأخ جعفر الذي ظهر لي أنه يؤدي المطلوب ولا يؤثر على النص، ليس هذا بالملاحظة بل بالمقارنة بعد تصدير الملفات إلى وورد ومقارنتها آليا مع الأصول، فإذا لاحظتَ خلاف ذلك فالرجاء التحديد بشكل أوضح إن تكرمت هذا وأعتقد أن تعدد الأفكار والحلول ظاهرة صحية، ولا مانع من استخدام عدة أكواد، طبعا في قواعد بيانات متعددة، هذا هنا وهذا هناك، وليس في مكان واحد 🙂
  3. لأني كنت منشغلا بالتجارب رغبة في التعلم حتى أحل مشاكلي بنفسي في المستقبل أخي الكريم (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 & "]);" بقي أن أتعلم كيف أحوله إلى استعلام تحديث، حتى تخرج لي رسالة واحدة فقط، بدل أن تخرج لي ست رسائل بعدد أسطر الكود، ولأنه ظهر لي أن استخدام الاستعلام وأنا خارج النموذج أسلم، خشية أن أستعمل الكود وأنا في سجل قد قمت بتحديثه ولم أقم بحفظه فتخرج لي رسالة: لقد قام مستخدم آخر بتغيير هذا السجل .. ثم سوف أحتفظ بهذا الكود فقد أستخدمه في قاعدة بيانات أخرى غير قاعدة البيانات الرئيسية التي سوف أستخدم فيها الكود الذي تفضل به الأخ جعفر .. وإن لم أستخدمه فيكفي أنه أضاف لي جديدا في رصيد معرفتي
  4. الأخ الكريم جعفر .. تم الأمر بحمد الله .. حذفت جميع الأسطر الفارغة حيثما كانت وبغض النظر عن المسافات الفارغة فيها أو قبلها أو بعدها، وحذفت جميع المسافات في أوائل وأواخر الأسطر، دون المساس بالنص، وذلك بعد التجربة والمقارنة فجزاك الله خيراً على صبرك علي .. وبارك الله فيك
  5. الأخ الكريم Hawiii .. شكرا لك أن راعيت كوني مبتدئا وطبقت الكود على الملف لكن لما حاولت أن أحوله إلى استعلام كي أتخلص من رسائل التأكيد (أنت على وشك ..) لم أنجح مع أني استخدمت هذه الصيغة UPDATE مسند SET مسند.nass = CleanTable([nass]); وكذلك الأمر حين حولت الوحدة النمطية إلى Function CleanTable(..) . . End Function فأين الخطأ ثم بالنسبة للكود الذي تفضلت به فهو فعال في حذف الأسطر الفارغة إذ يحذف الأسطر الفارغة أينما كانت حتى لو كان فيها مسافة أو مسافات فارغة لكن بالنسبة لحذف المسافات في أول وآخر السطر فهو يحول المسافتين إلى واحدة ولا يحذفها يبدو فعلا أن موضوع حذف المسافات أكثر تعقيدا من حذف الأسطر 🤔
  6. الأخ الكريم جعفر .. بعد التجربة الأولية كانت النتيجة ممتازة .. ولكن بعد إجراء التجارب على ملفات أخرى ظهر لي أن الكود يحذف آخر حرف في آخر سطر في الحقل إذا كانت قبله مسافة أو مسافات يعني ( 1/ 21 ) فذكره . تصبح هكذا ( 1/ 21 فذكره بينما الكود الأول لم يفعل ذلك .. فإذا كان موضوع حذف المسافات في آخر السطر فيه احتمالية ولو ضعيفة لحذف شيء من النص فالأسلم تركها
  7. أعتذر ربما لم أشرح جيدا أو اختلط علي الأمر الكود لا يحذف السطر الفارغ إذا كان فيه مسافة أو مسافات .. لابد أولا من حذف المسافات ثم يحذف السطر الفارغ .. ربما لأنه إذا كان فيه مسافة لا يعتبره فارغا .. بصراحة معه حق في هذا .. فهذا مقتضى الدقة 🙂
  8. الأخ الكريم جعفر .. الكود لم يعد يأكل الكلام 🙂 .. لكنه لا يحذف السطر الفارغ إذا كان السطر الذي بعده في أوله مسافة .. يحذف أولا المسافة في أول السطر ثم بعد تشغيله مرة ثانية يحذف السطر الفارغ بينما الكود الأول الذي تفضلت به 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 كان يحذف الأسطر الفارغة بغض النظر عن المسافات في اوائل الأسطر وشكرا للأخ (هاوي) على مشاركته .. لكن لم أعرف كيف أستدعي الكود .. ولما جربته بشكل منفصل وكتبت أسم الجدول والحقل لم يحذف إلا المسافات التي في آخر الحقل فقط، أما إلمسافات التي في أواخر الأسطر الأخرى فبقيت كما هي
  9. الأخ الكريم جعفر .. صحيح أن شرطي المرور لم يعترض هذه المرة على الكود .. لكن يظهر أن الكود نفسه جائع بعض الشيء .. كل مرة أشغله فيها يأكل حرفا من آخر الحقل 😂 وشكراً للأخ biskra على اهتمامه بالموضوع .. الموضوع الذي يظهر لي أنه أكثر تعقيداً مما ظننت .. 🤔
  10. الأخ الكريم جعفر .. الأكسس الذي عندي لم يعجبه السطر الذي أضفته وأخرج لي رسالة وظلله بالأصفر ولما قلت له تابع على أي حال .. غضب وحذف كل شيء 😂 خلينا عالكود الأول أحسن 🙂
  11. الأخ الكريم جعفر .. تم الأمر بحمد الله فجزاك الله خيراً مع ملاحظة أن الكود لم يحذف المسافات التي في آخر السطر .. وربما لأنني لم أطلب ذلك في بداية الموضوع 🙂 .. ولكن الأمر هين ولا أريد أن أعقد الأمر أكثر من ذلك ثم وأنا أجري التجارب وبعد تقليب النظر بين الأكواد السابقة اخترعت استعلامين، أحدهما لحذف المسافة في بداية السطر UPDATE مسند SET nass = Replace(nass,Chr(13)+" ",Chr(13)); والثاني لحذف المسافة في آخر السطر UPDATE مسند SET nass = Replace(nass," "+Chr(13),Chr(13)); طبعا .. هو يحذف مسافة واحدة فقط .. ولكن هذا بالنسبة لي إنجاز كبييير 🙂 .. وحتى في الوورد الذي أعمل عليه منذ سنين أنا أقوم بهذا الأمر بنفس الطريقة تقريبا .. أستمر بعملية الاستبدال أكثر من مرة لحذف جميع المسافات والأسطر الزائدة ولكن -وإن كان طلبا جانبيا خارج الموضوع- كيف يمكنني إدماج مثل هذين الاستعلامين في استعلام واحد .. لعلي أستخدم هذا الأمر في استعلامات أخرى
  12. الأخ الكريم biskra .. الكود الذي تفضلت به يحذف المسافات المكررة خلال النص، ولم ألاحظ أنه حذف المسافات أول وآخر السطر، وهي المطلوبة ثم بصراحة .. الموضوع يزداد تشعبا بالنسبة لمبتدئ مثلي بينما كنت أظن أنه أيسر من ذلك .. وأنا خايف يصير وضعي أصعب من الصعب 🙄
  13. الأخ الكريم Hawiii .. جربت استخدام الكود فلم أفلح .. سواء لوحده أم باستعلام أم مع وحدة نمطية 🙄 وأود أن أذكرك بأن وضعي صعب جداً .. ولم أصل بعد لدرجة مبتدئ .. ومصطلحات: وحدة نمطية .. واستدعاء الكود .. والتحويل لاستعلام .. مصطلحات لم أستطع تطبيقها إلى الآن فالرجاء التطبيق العملي على الملف حتى أتعلم وأطبق في المرات القادمة .. سواء في هذا الكود أو غيره
  14. أخي الكريم .. هذا الكود قلب الملف رأسا على عقب 🙃 وألغى كل المسافات 😂
  15. الأخ الكريم جعفر .. تم المطلوب بخصوص الأسطر الفارغة لكن .. هل هذا الكود يعمل أيضا على حذف المسافات في بداية ونهاية السطر .. فلم ألاحظ أنه حذفها
  16. الإخوة الكرام .. الظاهر أن وضعي أصعب مما ظننت 😪 جربت الكود الذي تفضل به الأخ أبو مهاب ولم يحدث شيئ ثم رأيث مشاركة الأخ جعفر وعملت المطلوب، لكن بخصوص الملاحظتين الأمر لا زال على حاله: التغيير فقط على السحل الذي أنا فيه وليس كل الملف، وإذا وضعت المؤشر تعود المسافات التي تم حذفها حتى لو غادرت السجل ثم عدت إليه !! ثم يظهر لي بخصوص حذف المسافات في بداية السطر أنه يحذف مسافة واحدة فقط والرجاء من أهل الخبرة مراعاة وضعي الصعب وإجراء اللازم على الملف وإعادة رفعه تلافيا لسوء فهمي أو تصرفي
  17. الأخ المكرم جعفر .. صبرك علي شوي .. وخليك معي خطوة بخطوة سلمك الله .. فيظهر أني لم أصل بعد إلى مرتبة: مبتدئ 🤔 أولا: هل لابد من وحدة نمطية .. ألا يمكن أن يقوم الكود بالعمل بدونها ؟ ثانيا: بالتطبيق على الملف المرفق حسب فهمي المتواضع، ظهر لي أن الكود يعمل على السجل الموجود انا فيه فقط، والمطلوب أن يعمل على كل الملف ثم وبمجرد ان أضع المؤشر على خانة النص تعود المسافات في أول الأسطر فيظهر أني أم أفهم الدرس جيداً 🙄 أسطر2.accdb
  18. وعليكم السلام ورحمة الله وبركاته أخي الكريم جعفر .. وبارك الله فيك لكن إذا تكرمت أنا بحاجة لهذا الكود منفصلاً عن كود التحويل من وورد. أي أني بحاجة لهذا الكود لاستخدامه بين الحين والآخر على أي نموذج في أي قاعدة بيانات، كل المطلوب من مبتدئ مثلي حينها تغيير اسم النموذج أو الجدول في زر تنفيذ الكود وهي عملية أقوم بها بين الحين والآخر لمعالجة ظهور هذه المسافات والأسطر الفارغة نتيجة عمليات القص واللصق المتكررة والمتعددة من هنا وهناك، فضلا عن احتمال وجودها بالخطأ عند الكتابة السريعة ونحو ذلك .. فهي أشبه بعملية تشطيب (سوبر ديلوكس) بعد ورشة عمل عنيييييفة ☺️ ثم على ذكر موضوعنا بخصوص التحويل من وورد .. هل لك أن تنظر في وضع اللمسة الأخيرة هناك لنغلق الموضوع .. وجزاك الله خيرا
  19. الأخ الكريم (أبو عبد الله) لم أعرف أن أستخدم هذه الدالة على حقل النص، فالرجاء تطبيقه على الملف المرفق ويبقى موضوع: حذف الأسطر الفارغة
  20. الإخوة الكرام .. ماهو الكود الذي يقوم بحذف الأسطر الفارغة سواء في بداية الحقل أو أثنائه وكذلك كود حذف المسافة أو المسافات التي تكون في بداية الأسطر أسطر.accdb
  21. وأخيراً وبحمد الله .. ظهرت هذه الرسالة .. بدون عمليات تجميل أو استبدال في الوورد فجزاك الله خيراً أخي الكريم جعفر .. ولكن معلش .. هل هناك مجال للمسة فنية أرجو أن تكون الأخيرة 😅 بخصوص الرسائل السابقة .. بقيت الرسالة الثانية (3163) والتي تخرج بسبب اختلاف ترتيب الأعمدة بين الجدولين، فإذا نسيت أن أجعل عمود النص العمود الأخير، وهو المبرمج ليكون مذكرة تخرج هذه الرسالة .. فلعلك تعالجها بنفس الطريقة ، وإذا كان من الأيسر لك أن تخصص لهما رسالة واحدة، كأن تكون: الرجاء التأكد من مطابقة الملف للخصائص المطلوبة المهم ألا يعمل الكود في هذه الحالة أيضاً وهل من الضروري أن تخرج بعد ذلك الرسالة التي تخرج بعد إتمام العملية: Done وحياك الله أخي الكريم أحمد الفلاحجي وشكراً للأخ (أبو إبراهيم) على مشاركته، لكن لم أعرف أن أتصرف مع الملف المرفق، بسبب خروج رسائل بخصوص مسار الملفات لم أعرف التصرف معها لقلة خبرتي لكن بخصوص الاستيراد بعد حفظ ملف الوورد على هيئة ملف Html، فجربتها لكن تبقى مشكلتنا الأساسية: أن يستورد الفقرات كما هي، وعندما قمت بذلك تم إلغاء الفقرات وأصبح النص كله في فقرة واحدة أما كلامك أخي الكريم عن البطء في معالجة البيانات .. فهو كلام مهم جداً لكنه كلام بين الخبراء ولا أفهم فيه 🙄.. وهو مفيد في الموضوع المهم جداً بالنسبة لي: إضافة سجل بين السجلات ونقل السجلات
  22. ملاحظة فنية تخرج هذه الرسائل إذا كان هناك اختلاف في عدد الأعمدة وخصائصها بين الملف وبين الجدول الافتراضي (tbl_From_Word) وإذا لم أنتبه وأعدت الكبس على (Import Word Files) قد أضطر لإجبار البرنامج على الخروج لأنه يأخذ وقتا طويلاً فلو كان بالإمكان عند حدوث هذا الأمر (عدم تطابق الملف مع tbl_From_Word) ألا يبدأ الكود بالعمل وإن كررت -خطأ- الكبس على (Import Word Files) كما يحدث عندما لا تحدد ملفا معينا، تخرج رسالة (رجاء اختيار الملف) ولا يبدأ الكود بالعمل مهما كررت الكبس عليه
  23. أخي الكريم .. فعلت ذلك أكثر من مرة .. وحصل تقدم بسيط ، ولا أدري لعل الخطأ مني منذ البداية في الطريقتين (1 - 2) النتيجة تمام الطريقة (3) وهي الأكثر أمانا بالنسبة لي النتيجة نفسها: وجود الشرطة والمهم في الأمر أن المربع لا يزال موجوداً في أكسس في كل المواضع التي كانت علامة السطر الجديد فيها في الوورد (فاصل أسطر يدوي) بمعني انه في أكسس لا تظهر الفقرة في سطر جديد بل بعد هذا (المربع المش ظريف) وهذا ملف الوورد الذي أجريت عليه التجارب، وعلامة (فاصل أسطر يدوي) موجودة فيه في خمسة مواضع، بعد (##) 03.doc
  24. أنا حريص كل الحرص على الاستماع لنصائح الخبراء أمثالكم أخي الكريم .. وأحب أن أطمئنك أن الجدول الرئيسي هو جدول واحدأ لكن في البداية أنا بحاجة للتعامل مع كل جدول -أو مسند- لوحده لإجراءات خاصة بكل واحد منها، وبعد الانتهاء من كل ذلك سيصبحون جدولاً واحدا .. وإلا فكيف سيكون الجدول الرئيسي بهذا الحجم الذي سبب لي البطء والمشاكل 😒 وبالعودة إلى موضوعنا .. لا يزال صاحبنا (مربع الاستفهام الظريف 😅) مصراً على الإزعاج .. وإن كان هذه المرة بشكل أقل .. وبطريقة حيرتني فأنا أستخدم أكثر من طريقة لتحويل حقل النص إلى وورد وإجراء المقارنة، ليس من بينها استخدام التقرير لأني لا أعرفها بعد وهذه المرة .. كل طريقة تختلف نتيجتها 1- الطريقة الأسرع: نسخ العمود من أكس ولصقه كنص عادي (الاحتفاظ بالنص فقط) في الوورد .. والنتيجة بهذه الطريقة تمام .. كما كان في الوررد .. لكن أصبحت أتجنب هذه الطريقة لأنها تزيد " في أول وآخر كل حقل، بل وأثناء النص بجانب كل " موجودة في النص !! 2- نسخ العمود ولصقه في الوورد كما هو، ثم تحويله إلى نص عادي غير منسق، والنتيجة: الكلام متصل وليس في سطر جديد وملاحظة جانبية في هذه الطريقة: لا توجد مشكلة " ، لكن تم إلغاء المسافات المتكررة !! 3- تصدير الجدول كلف (Word RTF) ثم نسخ العمود المطلوب ولصقه كنص عادي، والنتيجة: استبدال الفقرة بشرطة وسبب كل هذا: حضرة جناب (المربع الظريف)، لأنه لا يزال موجوداً في أكسس ولم يتم تحويله لسطر جديد، سواء في الجدول أو في النموذج مع أنني إذا نسخت هذا السطر مع (المربع الظريف) ولصقته في الوورد سيتحول لسطر جديد! وبما أنني لا أجيد في الكود إلا القص واللصق، وبعد النظر في الأكواد السابقة استخدمت هذا الإستعلام: UPDATE tbl_From_Word SET Col_4 = replace(Col_4,Chr(11),Chr(13)); وتم تحويل (المربعات الظريفة) لأسطر، وعند التحويل للوورد بجميع الطرق والمقارنة كانت النتيجة المطلوبة: لا فروق بين المستندات الحاصل بعد كل هذا .. لضمان سلامة النص على كل الاحتمالات لابد من ضمان تحول هذا (المربع الظريف) إلى سطر جديد في أكسس وأن لا يظهر أبداً، فهل هذا بالإمكان؟ إن لم يكن .. فلعله من الأسلم القيام بعملية الاستبدال المذكروة في وورد قبل البدء بالتحويل بانتظار رأيكم أخي الكريم لوضع اللمسة الأخيرة على هذا الموضوع
  25. الأخ الكريم جعفر .. تم المطلوب بحمد الله .. وجزاك الله خيراً
×
×
  • اضف...

Important Information