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

nssj

03 عضو مميز
  • Posts

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

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

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

  1. الإخوة الكرام .. في الملف المرفق كود لإضافة جدول فيه حقلان من نوع (نعم/لا) DoCmd.RunSQL "CREATE TABLE .. .. .. .. .. ,Mult_mno yesno,NO_hno yesno والمشكلة أنهما يظهران على شكل (مربع نص) والمطلوب أن يكونا على شكل (خانة اختيار)، مع قيمة افتراضية (لا)، وذلك من خلال الكود نفسه دون الحاجة لفتح الجدول في وضع التصميم وتعديله هناك هل هذا ممكن ؟ YesNo.accdb
  2. شراً للأخوين الكريمين Barna Moosak ولكن من المخجل القول بأن سبب الحيص بيص الذي وقعت فيه هو خطأ واضح في الكود 🙄، وهو أنني نسيت جملة (Exit Sub) قبل (ERR:) والكود بشكله الصحيح واكتشفت هذا الخطأ وأنا أجري التجارب لاختراع كود جديد 😀 وأعتذر للإخوة الكرام على إزعاجهم بسبب هذا الخطأ البدائي 😐
  3. أحسن الله إليك اخي الكريم Moosak .. تم المطلوب بحمد الله وهذه من فوائد عدم الابتعاد عن الجهاز 😅
  4. تمام .. راحت الرسالة 🙂 ولكن أخي الكريم للاستفادة اسمح لي ببعض الاستفسارات: هذه السطر أستخدمه كثيرا في أكواد أخرى وبطريقة مشابهة لما في هذا الكود، ولم أجابه هذه المشكلة إلا هنا .. هل يوجد خطأ آخر في الكود يتسبب بهذه المشكلة ؟ وهل يؤثر حذفه على الكود إذا كانت هناك أخطاء أخرى عند التنفيذ ؟
  5. الإخوة الكرام .. في الملف المرفق كود لإنشاء جدول مع استيراد بعض بياناته من جدول آخر .. والكود يعمل بشكل جيد بحمد الله .. لكن بعد الانتهاء تخرج هذه الرسالة وهي تخرج فقط عند نجاح العملية .. أما عند وجود أخطاء فلا تخرج ADDBOOK.accdb
  6. تمام أخي الكريم Moosak لم تعد هنا إشكالية بخصوص البحث عن أول فقرة بعد "عن" وبقيت إشكالية ما إذا كان النص يبدأ أصلاً "بعن" فلا يظهر في النص المختصر شيء والحل الذي فكرت فيه هو القيام بالاختصار على عدة خطوات أولاً إضافة مربع نص جديد، يكون مصدره النص القديم مع إضافة أي حرف في بدايته، وليكن ($) من خلال دالة =("$"+[Text1]) ثم تطبيق كود الاختصار عليه هذا اللي عندي حسب معلوماتي المتواضعة .. فهل عندك حل آخر أكثر احترافية أخي الكريم 😁 وشكراً لك أخي الكريم rockjone33 لكن كلامك صعب علي أن أستوعبه .. لأني أصلاً عندي ضعف في هذه الدوال واستيعاب طريقة عملها .. كل ما أجيده هو القص واللصق بين الأكواد السهلة والمتوسطة على أحسن تقدير 😁
  7. أخي الكريم .. هذا غير وارد بالنظر لكبر حجم الجدول وتكرار كلمة عن .. لذلك انا بحاجة للقيام بالعملية برمجيا 🙂
  8. في الملف المرفق محاولة لتوضيح المطلوب، حيث توجد ثلاث مربعات نص في مربع النص الأول يظهر النص المطلوب وقد اختصرته يدويا وفي الثاني النص الناتج عن الدالة التي تفضل بها الأخ Moosak .. وفي أول حديثين النتيجة موافقة للنص المطلوب، وفي الباقي تظهر الإشكاليات وأهمها أن الدالة تقف عند أول نقطة "." والمطلوب أن تقف عند نهاية الفقرة وجربت أن أستبدل "." بـ [chr(13) // chr(10) // chr(13)+chr(10)] والنتيجة في المربع الثالث فما هي الصيغة التي تؤدي المطلوب Short text 3.accdb
  9. الأخ الكريم Moosak الحل الذي اقترحته قام بجزء كبير من المطلوب، لكن توجد ملاحظتان: 1 – إذا كان النص يبدأ أصلا بكلمة (عن) فالنتيجة صفحة خالية من أي نص، انظر عند التطبيق رقم (4) وهذه الملاحظة يمكن تجاوزها مؤقتاً لأن الجدول المطلوب التطبيق عليه حاليا أنا متأكد أن جميع نصوصه لا تبدأ بعن، لكن إن أمكن حل هذه الإشكالية فهو أفضل عند التطبيق على جداول أخرى 2 – هذه الطريقة تبقى على النص إلى أول نقطة ، كما جاء في الكود "." ، والمطلوب أول فقرة بمعنى سطر جديد، فقد يأتي في النص نقطة قبل نهاية الفقرة .. وأيضاً لا يشترط أن تكون نهاية الفقرة نقطة، فقد تكون فاصلة وقد لا يوجد في النص ولا نقطة كما في رقم (15) وعندها تكون النتيجة (#دالة!) وجربت أن أستبدل "." بـ (chr(13)) وما زبطت .. Short text 2.accdb
  10. الإخوة الكرام .. هل يمكن عمل كود يقوم باختصار النص وفق ضوابط محددة. والاختصار المطلوب عبارة عن خطوتين: أولا: حذف كل شيء في بداية النص إلى أول كلمة (عن) وهذا يعني أنه إذا كان النص يبدأ أصلاً بـ (عن) فيتم تجاوز هذه الخطوة ثانيا: وبعد الخطوة السابقة يحذف الكود كل ما بعد أول فقرة، بحيث لا يبقى في النص إلا الفقرة الأولى فقط. يعني إذا كان النص هكذا: يصبح هكذا: وفي الملف المرفق جدولان: الأول (TAB) وهو المطلوب اختصاره، وقد قمت باختصاره يدويا في الجدول الثاني (TAB2) ليتضح المطلوب Short text.accdb
  11. جربت الملفات على جهازين غير جهازي، واحد منهم نفس الوندوز (10) لكن أوفس (2010) والثاني وندوز (7) وأوفس (2010) والنتيجة أحسن بخصوص الملف الأول في مشاركتك الأولى (Book2) لم تظهر الحروف (v) (c) في الجهازين وكان يظهر الكلام المطلوب قصه .. لكن نفس الملاحظة بخصوص تأثر مفتاح (NumLock) أما الملفات اللي بعده فالنتيجة نفسها .. ظهرت الرسالتين في الجهازين .. وأيضاً لما طبقت اقتراح الأخ ابو البشر النتيجة نفسها على كل الأجهزة: ما في مشكلة بالقص واللصق .. القضية بتأثر مفتاح (NumLock) وإن الكود يعمل حتى لو لم يتم تحديد أي شيء
  12. أصبح الآن يعمل لكن كما كان الأمر أول مرة .. يعمل حتى لو لم يتم تحديد شيء، وأيضاً لا زال مفتاح (Num Lock) يتغير أحيانا مع الكود .. وبعد مرور بعض الوقت برنامج الأكسس يتوقف ولا بد من إجباره على الإغلاق وإعادة تشغيله
  13. الآن أصبحت تظهر هذه الرسالة .. واعذروني أيها الإخوة الكرام .. الكود معقد بالنسبة لمبتدئ مثلي ومن الصعب علي معالجة هذه المشاكل بنفسي 😐
  14. هذه الرسالة التي تظهر عند فتح الملف .. والأوفس عندي (2013) وأنا عادة عندما أرى مثل هذه الأسطر الحمراء أرفع الراية البيضاء .. وأكف عن التجارب والتخبيصات 😁
  15. جزاك الله أخي الكريم .. ما قمت به قد حقق 90% من المطلوب .. أحيانا وليس دائماً 🤔 !! هذا بعد أن قمت بتعديل بسيط عليه .. وقد كنتُ في غنى عن هذا لو أنني استطعت أن أشرح لك المطلوب بشكل أفضل بخصوص اللصق في التالية أو السابقة وفي أول الكلام أو آخره ولأن الصورة واضحة بالنسبة لي وصلت للمطلوب بحمد الله ببعض التعديلات التي ستراها في الملف المرفق، فقد أبقيت على الجمل التي كتبتَها مع (‘) * المشكلة في الظاهرة الغريبة التي ظهرت عندي أنه عند اللصق لا تظهر الجملة التي تم قصها إنما يظهر (v) (c) وجربت أن ألغي السطر 'Call SendKeys("^c", True) وزبطت .. ومضيت في التجارب لكن لم يدم الأمر .. رجعت الحروف بالظهور بدل الكلام .. وإذا أعدت الكرة وفعَّلت هذا السطر ثم ألغيته يعمل الكود لبعض الوقت ثم تعود هذه الحروف بالظهور * أما الـ 10% المتبقية فهي أنه إذا لم يتم تحديد شيء فإن الكود يقص الكلام كله .. والأفضل أنه إذا لم يتم تحديد شيء من الكلام ألا يعمل الكود أو يخرج رسالة وحاولت أعمل حالي معلِّم 🙂 وأضفت هذه الأسطر Me.cop.SetFocus Me.cop = "" DoCmd.RunCommand acCmdPaste Refresh If IsNull(cop) Or cop = "" Then MsgBox "لم تقم بتحديد النص المطلوب", vbExclamation Me.nass.SetFocus Exit Sub End If لكن هالمرة ما زبطت 🙄 * كما ولا حظت أن مفتاح (Num Lock) يتغير عندما أستخدم الكود .. بيشتغل وبيطفي .. وأيضاً ليس في كل مرة !! BOOK (3).accdb
  16. الإخوة الكرام .. أحتاج إلى كود يقوم بقص النص الذي تم تحديده بالفأرة ثم يضعه في أول الصفحة التالية أو آخر الصفحة السابقة وفي الملف المرفق محاولتي بهذا الخصوص، وهي ناقصة من جهتين: 1- الذي قمت به قص النص كله، والمطلوب قص النص المحدد فقط وليس كل النص 2- تمكنت من لصق النص في الموضع المطلوب في آخر الصفحة السابقة أو أول الصفحة التالية، ولا مشكلة إن كانت الصفحة المطلوب اللصق فيها فارغة، المشكلة التي واجهتني هي وجود نص في الصفحة فلا بد حينها من لص النص في فقرة مستقلة وليس ملتصقا بالنص القديم ففي حالة اللصق في التالية المطلوب لصق النص المحدد في أول الصفحة التالية، ويليها في سطر جديد النص القديم وفي حالة اللصق في السابقة المطلوب لصق النص في سطر جديد بعد النص القديم DoCmd.RunCommand acCmdCut DoCmd.GoToRecord , "", acPrevious Me.nass.SelStart = Me.nass.SelLength DoCmd.RunCommand acCmdPaste BOOK.accdb
  17. شكراً للإفادة اخي الكريم kanory وشكراً لك أيضاً لأنك صاحب كود الإضافة الذي استخدمته وأجريت عليه بعض التعديلات .. وأرجوا ألا تكون تخبيصات 😁
  18. الإخوة الكرام .. في الملف المرفق أمر (إضافة بعد هذا) يقوم بإضافة سجل جديد ولا مشكلة في الإضافة .. المشكلة أني أضفت بعض الأسطر للكود لإضافة رقم الجزء والصفحة الحالية للصفحة الجديدة المضافة pt = Me.Part pg = Me.page .. .. Me.Part = pt Me.page = pg وعندها ظهرت هذه الرسالة فما الخطأ ؟ Book01.accdb
  19. أخي الكريم .. دعني أصوغ الأمر بشكل آخر بعد الاكتشافات الأخيرة لدي كود عند حدث (KeyDown) الغرض منه منع الكتابة باستخدام الكيبورد في حقل (takhrij) النموذج الفرعي (takhrij) لكنه لا يعمل في النموذج المنقسم (3frm) في حين أنه يعمل في النموذج المفرد (4frm) كما تراه في المرفق لماذا يعمل هنا ولا يعمل هناك والكود نفسه والملفات نفسها .. الذي اختلف فقط هو طريقة عرض النموذج ؟؟ ولماذا هذه الظاهرة هي في هذا الكود فقط، بينما الكود الآخر في حدث (عند النقر المزدوج) يعمل بشكل جيد في النموذجين: المنقسم والمفرد ؟؟ وأمر آخر .. أنشأت نموذجا آخر (5Frm) بطريقة عرض (نموذج منقسم) ووضعت فيه هذا الكود Private Sub takhrij_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Or KeyAscii = 9 Or KeyAscii = 8 Or KeyAscii = 46 Then KeyAscii = KeyAscii Else KeyAscii = 0 End If End Sub وعمل الكود بشكل جيد إذا المشكلة هي في كود (KeyDown) مع النموذج المنقسم فقط وأنا أتطلع لمعرفة السبب والحل إن أمكن ، فليست القضية هي قضية هذا الكود فقط فقد تم استبداله بآخر يقوم بنفس المهمة ولكن معرفة السبب ستفيدني حتى لا يتكرر الأمر في كود آخر، حيث أنني أستخدم (النموذج المنقسم) كثيرا .. فقد أكون بصدد إنشاء كود وأحاول وأكرر المحاولة لأن الكود لا يعمل ظنا مني أن الخطأ في الكود .. والحقيقة أنه لا يعمل لأن النموذج (نموذج منقسم) فهل عند أهل الخبرة تفسير لهذه الظاهرة .. أم أنه علي أن أعيد النظر في استخدامي للنموذج المنقسم إذا كان يتسبب بمشاكل في تنفيذ بعض الأكواد وأرجو ألا أفاجأ بأن المشكلة هي عندي فقط وأن الكود يعمل عند غيري في جميع النماذج .. كما حدث معي في موضوع سابق 😒 takhrij2.accdb
  20. المطلوب هو حصر طريق إدخال البيانات بالطرق الثلاث التي ذكرتها في أول الموضوع وعدم السماح بإدخال البيانات باستخدام الكيبورد، تلافيا للخطأ غير المقصود في الكتابة هذا الكود الذي وضعته في النموذج أستخدمه كثيرا في أكثر من نموذج ويعمل بشكل جيد .. ولكن لماذا (حضرتو) لا يعمل هنا ؟؟؟ والآن اكتشفت شيئا جديدا .. وأنا بشرب (أبريق شاي بالنعنع 😁) قلت: معقول السبب هو أن النموذج الرئيسي (Frm3) نموذج منقسم ؟؟ ومع أنها مجرد خاطرة مرت على ذهني كالسراب .. حولت النموذج إلى نموذج مفرد .. والغريب إنو الكود اشتغل 🤔 وهنا السؤال: بماذا يختلف النموذج المنقسم عن غيره برمجيا حتى لا يعمل هذا الكود فيه أنا أحب التعامل مع النموذج المنقسم لأنه يتيح لي رؤية الأحاديث قبل وبعد الحديث الحالي الذي يتم عرضه، مع إمكانية التنقل بين الأحاديث فيه واختيار المطلوب ليظهر في المربع الكبير فوق
  21. ولكن الكود يعمل عند فتح النموذج (takhrij) لوحده مع انه ورقة بيانات .. وجتى عندما حوله إلى نموذج مستمر الكود لا يعمل في النموذج الفرعي .. يعمل فقط عند فتحه لوحده جزاك الله خيرا أخي الكريم .. ولكن في هذه الحالة لا أستطيع إدخال البيانات بالنسخ واللصق .. فأحيانا أحتاج لنسخ أرقام معينة ولصقها في هذا الحقل بالفأرة صدقت أخي الكريم .. نتعلم من بعضا ونتعاون للوصول لأفضل الحلول المتاحة
  22. المطلوب عدم إمكانية الكتابة بالكيبورد في هذا الحقل (takhrij) ولكن الكود المذكور سابقا لا يعمل في النموذج الفرعي وعند استخدام الكيبورد يقوم بالكتابة وأنا كمان .. كل اللي بعرفه النسخ واللصق من هنا وهناك 😅
×
×
  • اضف...

Important Information