بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
371 -
تاريخ الانضمام
-
تاريخ اخر زياره
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو nssj
-
تمام .. ولكن السؤال هنا: معرفة أنه هذا العمود (في وورد أو الحقل في أكسس) لا يحتوي إلا على نص مختصر (250 بايت مثلا) وما سوى ذلك يحدد لي أين الخلل أو أن هذا العمود لا يحتوي إلا على هذه الرموز المعينة، وما سوى ذلك يحدد لي أين الخلل أو أن هذا العمود لا يحتوي إلا على أرقام ، وما سوى ذلك يحدد لي أين الخلل أو أن هذا العمود لا يحتوي على مسافات أو فقرات، وما سوى ذلك يحدد لي أين الخلل هذا الأمور وما على شاكلتها أنا بمعلوماتي البسيطة أظن أنها في أكسس أسهل، فيكفي أنني سأتعامل حينها مع جدول واحد وليس (50) جدول أو أكثر .. فهل الأمر كما ظننت
-
أخي الكريم جعفر .. تم المطلوب على أحسن وجه وبحمد الله، سواء في الاستيراد أو في التصحيح، مع سلامة النص في الحالتين .. فجزاك الله خيراً وأحسن إليك إلا أن قولك زَعَّلني شوي 😟 ولخبط حساباتي 🙃 .. كان أملي أن يكون هذا الأمر في أكسس سهلاً، لأني أريد أن أتخلص من الخطوات الطوييييييلة والمملة التي كنت أتبعها في وورد لمعرفة أين الخطأ على كل حال .. موضوعنا هنا: (استيراد الجدول من وورد لأكسس كما هو)، قد وفقك الله لإتمامه على أحسن وجه، فبارك الله فيك، والحمد لله أولاً وآخراً أما موضوع معالجة وتصحيح البيانات وتغيير خصائص الحقول فسأطرحه في موضوع مستقل .. وساعتها بنشوف أحسن طريقة نتعامل فيها مع شرطي المرور (Access) لأنه على الأغالب أكثر مرونة في هالموضوع من شرطي مرور (Word) 😄 ولكن أولاً -وبعد الانتهاء من المهم- علي ترتيب أوراقي لمتابعة الموضوع الأهم: إضافة ونقل السجلات .. والله ولي التوفيق
-
أخي الكريم جعفر .. رسالة (3163) تظهر إذا لم يكن عمود النص الطويل هو آخر عمود ولو كان الجدول 4 أعمدة، أو أني بالخطأ في أحد الصفوف وضعت النص في غير العمود المخصص له، وهذا لم يحدث معي إلا نادرا لكنه حدث على أي حال المقصود أخي الكريم .. أن فكرة جعل كل الحقول (مذكرة) -بشكل مؤقت عند الاستيراد فقط- هي لتلافي مثل هذه الأخطاء .. ولكي لا أضطر إلى تغيير الخصائص في الجدول الافتراضي (tbl_From_Word) حسب الحاجة لأنه كما ذكرت سابقا: تحويل الجداول من وورد إلى أكسس هو عملية متكررة أقوم بها لأكثر من غرض وليس فقط من أجل البرنامج الرئيسي، وفي بعض الأحيان يكون الجدول المراد تحويله يحتوي على أكثر من عمود فيه نص طويل ولزيادة البيان أقول: أني سوف أخصص قاعدة بيانات خاصة للتحويل من وورد لأكسس، ولن أدرجها في البرنامج الرئيسي، وعند استيراد مجموعة الجداول المطلوبة سوف أصدرها لقاعدة البيانات المطلوبة -سواء الرئيسية أو غيرها حسب طبيعة العمل- وهناك سوف أجري عليها التعديلات الخاصة بها ولن تبقى الحقول كلها (مذكرة) بل سوف أحولها للمطلوب سواء (رقم) أو (نص) .. وهذا كله بعد التأكد من أن حقل (الرقم) لا يحتوي إلا على الأرقام فقط، وحقل (النص) لا يحتوي على نص طويل، وفي حالة وجود شيء من ذلك فأرجو أن تكون هناك طريقة في أكسس يمكنني بها أن أعرف أرقام هذه السجلات وأعالج الأمر قبل التحويل .. لأن الخطأ في إدخال البيانات في الوورد وارد، ولا بد من تصحيحه وأظن -ولست من أهل الخبرة- أن الجدول بهذه الإجراءات سيأخذ وضعه المناسب ولن يكون سببا في ثقل البرنامج .. وأرجو أن يكون ظني في محله
-
الأخ الكريك جعفر .. هذه نتيجة تجربة الكود الجديد كما طلبت .. الكود الجديد يزيد سطرا فارغا في آخر كل حقل، ما سوى ذلك فالنتيجة تمام والنص سليم ولا توجد أسطر فارغة أو مسافات في أوائل وأواخر الأسطر حتى لو كانت موجودة في ملف الوورد بالخطأ ويمكنك أن ترى الفرق بين الكودين في الملف المرفق، الملف (04) تم استيراده بالكود القديم، أما (05) فبالكود الجديد ثم وبالعودة للملاحظة المتقدمة بخصوص رسالة (3163)، فظهرت معي خلال التجارب المتعددة رسالة أخرى (3421): خطأ في تحويل نوع البيانات وكان التفكير سابقا أن تتكرم بحل لهذه الرسائل بحيث يتوقف الكود عن العمل مهما كبست عليه ولا تكون هناك حاجة لإجبار البرنامج على التوقف لكن ظهر لي أمر آخر أحب أن آخذ رأيك فيه، وهو أن نجعل خصائص كل الحقول في الجدول الرئيسي (tbl_From_Word) نص طويل (مذكرة) حتى لا تخرج هذه الرسائل، وحتى يتم تحويل الجدول بكل بياناته، ثم بعد ذلك يمكن معالجة الجداول وتغيير خصائصها حسب المطلوب في أكسس، لا سيما وأن استخدامي لهذا الكود لن يكون فقط للملف الرئيسي بخصائصة الموحدة، بل لأغراض متعددة ومتجددة يقتضي كل منها أن تكون بعض الجداول بخصائص مختلفة عن الأخرى لكن قبل ذلك أحب أن أتأكد من أمر ما: فبعض الحقول ينبغي ألا تحتوي إلا على أرقام، ووجود غيرها خطأ ينبغي معالجته وبعض الحقول أرقام وأقواس ووجود أحرف عادية غير مرغوب به وحقول لا ينبغي أن تكون فيها النصوص طويلة فهل توجد آليات في أكسس لتمييز هذه الأمور قبل تغيير خصائص الحقول يعني أن أتأكد أولا قبل تحويل الحقل من (مذكرة) إلى (رقم) أن هذا الحقل لايحتوي إلا على أرقام، والحقول التي تحتوي على غيرها يعطيني أرقامها لمعالجتها وكذلك الحال إذا كانت بعض الحقول تحتوي على نص طويل، قبل تحويله من (مذكرة) إلى (نص) أنا عادة أقوم ببعض هذه الأمور في الوورد عبر خطوات طويلة، فإن كان هذا الأمر ممكنا في أكسس فلعله من الأفضل أن تعالج هذه الأمور فيه ونجعل خصائص كل حقول الجدول (tbl_From_Word) على (مذكرة)، ثم سأطرح موضوع هذه الآليات المطلوبة في موضوع مستقل فما هو رأيك أخي الكريم ؟ 1322.6.تحويل.accdb
-
أخي الكريم (Hawiii) .. لا يزال الكود لا يحذف المسافة الواحدة في أول وآخر السطر. لكن توجد إشكالية أخرى في هذا الكود .. بسبب وجود القوسين {} فيه وهي أقواس أستخدمها لترقيم خاص، فأصبح يحذف المتكرر منها، ويضيف سطرا بعد كل واحد، يعني: تصبح هكذا ولاحظ المسافة باللون الأصفر ثم وبخصوص كود الأخ جعفر الذي ظهر لي أنه يؤدي المطلوب ولا يؤثر على النص، ليس هذا بالملاحظة بل بالمقارنة بعد تصدير الملفات إلى وورد ومقارنتها آليا مع الأصول، فإذا لاحظتَ خلاف ذلك فالرجاء التحديد بشكل أوضح إن تكرمت هذا وأعتقد أن تعدد الأفكار والحلول ظاهرة صحية، ولا مانع من استخدام عدة أكواد، طبعا في قواعد بيانات متعددة، هذا هنا وهذا هناك، وليس في مكان واحد 🙂
-
لأني كنت منشغلا بالتجارب رغبة في التعلم حتى أحل مشاكلي بنفسي في المستقبل أخي الكريم (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 .. شكرا لك أن راعيت كوني مبتدئا وطبقت الكود على الملف لكن لما حاولت أن أحوله إلى استعلام كي أتخلص من رسائل التأكيد (أنت على وشك ..) لم أنجح مع أني استخدمت هذه الصيغة UPDATE مسند SET مسند.nass = CleanTable([nass]); وكذلك الأمر حين حولت الوحدة النمطية إلى Function CleanTable(..) . . End Function فأين الخطأ ثم بالنسبة للكود الذي تفضلت به فهو فعال في حذف الأسطر الفارغة إذ يحذف الأسطر الفارغة أينما كانت حتى لو كان فيها مسافة أو مسافات فارغة لكن بالنسبة لحذف المسافات في أول وآخر السطر فهو يحول المسافتين إلى واحدة ولا يحذفها يبدو فعلا أن موضوع حذف المسافات أكثر تعقيدا من حذف الأسطر 🤔
-
الأخ الكريم جعفر .. بعد التجربة الأولية كانت النتيجة ممتازة .. ولكن بعد إجراء التجارب على ملفات أخرى ظهر لي أن الكود يحذف آخر حرف في آخر سطر في الحقل إذا كانت قبله مسافة أو مسافات يعني ( 1/ 21 ) فذكره . تصبح هكذا ( 1/ 21 فذكره بينما الكود الأول لم يفعل ذلك .. فإذا كان موضوع حذف المسافات في آخر السطر فيه احتمالية ولو ضعيفة لحذف شيء من النص فالأسلم تركها
-
أعتذر ربما لم أشرح جيدا أو اختلط علي الأمر الكود لا يحذف السطر الفارغ إذا كان فيه مسافة أو مسافات .. لابد أولا من حذف المسافات ثم يحذف السطر الفارغ .. ربما لأنه إذا كان فيه مسافة لا يعتبره فارغا .. بصراحة معه حق في هذا .. فهذا مقتضى الدقة 🙂
-
الأخ الكريم جعفر .. الكود لم يعد يأكل الكلام 🙂 .. لكنه لا يحذف السطر الفارغ إذا كان السطر الذي بعده في أوله مسافة .. يحذف أولا المسافة في أول السطر ثم بعد تشغيله مرة ثانية يحذف السطر الفارغ بينما الكود الأول الذي تفضلت به 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 كان يحذف الأسطر الفارغة بغض النظر عن المسافات في اوائل الأسطر وشكرا للأخ (هاوي) على مشاركته .. لكن لم أعرف كيف أستدعي الكود .. ولما جربته بشكل منفصل وكتبت أسم الجدول والحقل لم يحذف إلا المسافات التي في آخر الحقل فقط، أما إلمسافات التي في أواخر الأسطر الأخرى فبقيت كما هي
-
الأخ الكريم جعفر .. صحيح أن شرطي المرور لم يعترض هذه المرة على الكود .. لكن يظهر أن الكود نفسه جائع بعض الشيء .. كل مرة أشغله فيها يأكل حرفا من آخر الحقل 😂 وشكراً للأخ biskra على اهتمامه بالموضوع .. الموضوع الذي يظهر لي أنه أكثر تعقيداً مما ظننت .. 🤔
-
الأخ الكريم جعفر .. الأكسس الذي عندي لم يعجبه السطر الذي أضفته وأخرج لي رسالة وظلله بالأصفر ولما قلت له تابع على أي حال .. غضب وحذف كل شيء 😂 خلينا عالكود الأول أحسن 🙂
-
الأخ الكريم جعفر .. تم الأمر بحمد الله فجزاك الله خيراً مع ملاحظة أن الكود لم يحذف المسافات التي في آخر السطر .. وربما لأنني لم أطلب ذلك في بداية الموضوع 🙂 .. ولكن الأمر هين ولا أريد أن أعقد الأمر أكثر من ذلك ثم وأنا أجري التجارب وبعد تقليب النظر بين الأكواد السابقة اخترعت استعلامين، أحدهما لحذف المسافة في بداية السطر UPDATE مسند SET nass = Replace(nass,Chr(13)+" ",Chr(13)); والثاني لحذف المسافة في آخر السطر UPDATE مسند SET nass = Replace(nass," "+Chr(13),Chr(13)); طبعا .. هو يحذف مسافة واحدة فقط .. ولكن هذا بالنسبة لي إنجاز كبييير 🙂 .. وحتى في الوورد الذي أعمل عليه منذ سنين أنا أقوم بهذا الأمر بنفس الطريقة تقريبا .. أستمر بعملية الاستبدال أكثر من مرة لحذف جميع المسافات والأسطر الزائدة ولكن -وإن كان طلبا جانبيا خارج الموضوع- كيف يمكنني إدماج مثل هذين الاستعلامين في استعلام واحد .. لعلي أستخدم هذا الأمر في استعلامات أخرى
-
الأخ الكريم biskra .. الكود الذي تفضلت به يحذف المسافات المكررة خلال النص، ولم ألاحظ أنه حذف المسافات أول وآخر السطر، وهي المطلوبة ثم بصراحة .. الموضوع يزداد تشعبا بالنسبة لمبتدئ مثلي بينما كنت أظن أنه أيسر من ذلك .. وأنا خايف يصير وضعي أصعب من الصعب 🙄
-
الأخ الكريم Hawiii .. جربت استخدام الكود فلم أفلح .. سواء لوحده أم باستعلام أم مع وحدة نمطية 🙄 وأود أن أذكرك بأن وضعي صعب جداً .. ولم أصل بعد لدرجة مبتدئ .. ومصطلحات: وحدة نمطية .. واستدعاء الكود .. والتحويل لاستعلام .. مصطلحات لم أستطع تطبيقها إلى الآن فالرجاء التطبيق العملي على الملف حتى أتعلم وأطبق في المرات القادمة .. سواء في هذا الكود أو غيره
-
أخي الكريم .. هذا الكود قلب الملف رأسا على عقب 🙃 وألغى كل المسافات 😂
-
الأخ الكريم جعفر .. تم المطلوب بخصوص الأسطر الفارغة لكن .. هل هذا الكود يعمل أيضا على حذف المسافات في بداية ونهاية السطر .. فلم ألاحظ أنه حذفها
-
الإخوة الكرام .. الظاهر أن وضعي أصعب مما ظننت 😪 جربت الكود الذي تفضل به الأخ أبو مهاب ولم يحدث شيئ ثم رأيث مشاركة الأخ جعفر وعملت المطلوب، لكن بخصوص الملاحظتين الأمر لا زال على حاله: التغيير فقط على السحل الذي أنا فيه وليس كل الملف، وإذا وضعت المؤشر تعود المسافات التي تم حذفها حتى لو غادرت السجل ثم عدت إليه !! ثم يظهر لي بخصوص حذف المسافات في بداية السطر أنه يحذف مسافة واحدة فقط والرجاء من أهل الخبرة مراعاة وضعي الصعب وإجراء اللازم على الملف وإعادة رفعه تلافيا لسوء فهمي أو تصرفي
-
الأخ المكرم جعفر .. صبرك علي شوي .. وخليك معي خطوة بخطوة سلمك الله .. فيظهر أني لم أصل بعد إلى مرتبة: مبتدئ 🤔 أولا: هل لابد من وحدة نمطية .. ألا يمكن أن يقوم الكود بالعمل بدونها ؟ ثانيا: بالتطبيق على الملف المرفق حسب فهمي المتواضع، ظهر لي أن الكود يعمل على السجل الموجود انا فيه فقط، والمطلوب أن يعمل على كل الملف ثم وبمجرد ان أضع المؤشر على خانة النص تعود المسافات في أول الأسطر فيظهر أني أم أفهم الدرس جيداً 🙄 أسطر2.accdb
-
وعليكم السلام ورحمة الله وبركاته أخي الكريم جعفر .. وبارك الله فيك لكن إذا تكرمت أنا بحاجة لهذا الكود منفصلاً عن كود التحويل من وورد. أي أني بحاجة لهذا الكود لاستخدامه بين الحين والآخر على أي نموذج في أي قاعدة بيانات، كل المطلوب من مبتدئ مثلي حينها تغيير اسم النموذج أو الجدول في زر تنفيذ الكود وهي عملية أقوم بها بين الحين والآخر لمعالجة ظهور هذه المسافات والأسطر الفارغة نتيجة عمليات القص واللصق المتكررة والمتعددة من هنا وهناك، فضلا عن احتمال وجودها بالخطأ عند الكتابة السريعة ونحو ذلك .. فهي أشبه بعملية تشطيب (سوبر ديلوكس) بعد ورشة عمل عنيييييفة ☺️ ثم على ذكر موضوعنا بخصوص التحويل من وورد .. هل لك أن تنظر في وضع اللمسة الأخيرة هناك لنغلق الموضوع .. وجزاك الله خيرا
-
الأخ الكريم (أبو عبد الله) لم أعرف أن أستخدم هذه الدالة على حقل النص، فالرجاء تطبيقه على الملف المرفق ويبقى موضوع: حذف الأسطر الفارغة
-
الإخوة الكرام .. ماهو الكود الذي يقوم بحذف الأسطر الفارغة سواء في بداية الحقل أو أثنائه وكذلك كود حذف المسافة أو المسافات التي تكون في بداية الأسطر أسطر.accdb
-
وأخيراً وبحمد الله .. ظهرت هذه الرسالة .. بدون عمليات تجميل أو استبدال في الوورد فجزاك الله خيراً أخي الكريم جعفر .. ولكن معلش .. هل هناك مجال للمسة فنية أرجو أن تكون الأخيرة 😅 بخصوص الرسائل السابقة .. بقيت الرسالة الثانية (3163) والتي تخرج بسبب اختلاف ترتيب الأعمدة بين الجدولين، فإذا نسيت أن أجعل عمود النص العمود الأخير، وهو المبرمج ليكون مذكرة تخرج هذه الرسالة .. فلعلك تعالجها بنفس الطريقة ، وإذا كان من الأيسر لك أن تخصص لهما رسالة واحدة، كأن تكون: الرجاء التأكد من مطابقة الملف للخصائص المطلوبة المهم ألا يعمل الكود في هذه الحالة أيضاً وهل من الضروري أن تخرج بعد ذلك الرسالة التي تخرج بعد إتمام العملية: Done وحياك الله أخي الكريم أحمد الفلاحجي وشكراً للأخ (أبو إبراهيم) على مشاركته، لكن لم أعرف أن أتصرف مع الملف المرفق، بسبب خروج رسائل بخصوص مسار الملفات لم أعرف التصرف معها لقلة خبرتي لكن بخصوص الاستيراد بعد حفظ ملف الوورد على هيئة ملف Html، فجربتها لكن تبقى مشكلتنا الأساسية: أن يستورد الفقرات كما هي، وعندما قمت بذلك تم إلغاء الفقرات وأصبح النص كله في فقرة واحدة أما كلامك أخي الكريم عن البطء في معالجة البيانات .. فهو كلام مهم جداً لكنه كلام بين الخبراء ولا أفهم فيه 🙄.. وهو مفيد في الموضوع المهم جداً بالنسبة لي: إضافة سجل بين السجلات ونقل السجلات
-
ملاحظة فنية تخرج هذه الرسائل إذا كان هناك اختلاف في عدد الأعمدة وخصائصها بين الملف وبين الجدول الافتراضي (tbl_From_Word) وإذا لم أنتبه وأعدت الكبس على (Import Word Files) قد أضطر لإجبار البرنامج على الخروج لأنه يأخذ وقتا طويلاً فلو كان بالإمكان عند حدوث هذا الأمر (عدم تطابق الملف مع tbl_From_Word) ألا يبدأ الكود بالعمل وإن كررت -خطأ- الكبس على (Import Word Files) كما يحدث عندما لا تحدد ملفا معينا، تخرج رسالة (رجاء اختيار الملف) ولا يبدأ الكود بالعمل مهما كررت الكبس عليه