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

Foksh

أوفيسنا
  • Posts

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

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

  • Days Won

    182

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

  1. ارسل ملف يحتوي نموذجك وجدوله وحدد اسم مربع نص المصدر ومربع نص الهدف . وماذا تريد بالضبط اشرحه حتى نفهم مقصدك . مع العلم أن لطلبك هذا :- حل بسيط باستخدام الدالة Mid :- =Mid([txtNID], 3, 5) حيث الرقم 3 = من اي خانة تريد أن يبدأ الإقتطاع . وحيث رقم 5 = عدد الخانات التي تريد جلبها . طبعاً مع ضرورة أن تكون واثقاً من أن قيمة مربع النص المطروح كمثال هنا يحتوي قيمة تتكون من 7 خانات على الأقل حسب وصفك وكلامك . وحتى تعلم أيضاً أنه يمكنك استخدام هذه الدوال مع مساعدات كثيرة ، ولكن بدايةً جرب ما تم ذكره سابقاً . وإن شاء الله تنحل مشكلتك . خلاف ذلك نعود معك بعد ارسالك ملف
  2. هنا ستضطر لدمج VBA في التنفيذ لأن الاستعلامات لا تقبل الدالة Replace المتعددة في الإستعلامات . وحيث أنك في تمنيك لم تفصح عنه إلا أن هذه محاولة بسيطة .. db2.zip
  3. لا جديد عن الملف السابق ، قد يكون الخلل في اكسل عندي على العموم بارك الله فيك وزادك الله فضلاً وبركة لما قصدت بهذا العمل . قد يكون لمن يمر من هنا تجربة يوافيك بها . متمنياً لك النجاح دوماً
  4. وعليكم السلام ورحمة الله وبركاته ,, هذه فكرتي المتواضعة التي استعملها ، وقد تجد أفكار أفضل بكثير منها .. فلا تتسرع 😉 db1.zip
  5. بدايةً أشكر أخي @منتصر الانسي على شرحه الجميل . والذي رد به على الكثير مما قد يخطر ببالك من أساليب للبدء بصورة سليمة برمجياً . أما عن سؤالك بالبداية من جديد أو التعديل فهو أمر متروك لك ( أيهما أفضل لك )
  6. وعليكم السلام ورحمة الله وبركاته ,, أخي الكريم أنت في كود زر التصدير والذي يعمل بشكل سليم بشكل مبدأي ، تقوم بتصدير الاستعلام ContactsExtended ، والذي هو فارغ فعلاً . من خلال السطر :- TableName:="ContactsExtended", _ لذا لا يتم تصدير البيانات التي تريدها ( واعتقد الجدول هو "بيانات" ) ، ولذا لتجربة النتيجة ، امسح ملف اكسل ، واستبدل السطر السابق بالسطر التالي كتجربة :- TableName:="بيانات", _ وتحقق هل يتم التصدير فعلاً ؟؟؟؟
  7. وعليكم السلام ورحمة الله وبركاته .. استخدم الدالة Left أو Right حسب عدد الخانات التي تريد جلبها من اليمين أو اليسار ، مثل :- الدالة Left :- =Left([txtNID], 7) لنفترض ان مربع النص txtNID يحتوي على القيمة 28305678857 ، فالنتيجة ستكون أول 7 قيم من اليسار = 2830567 الدالة Right :- =Right([txtNID], 7) ولنفترض ان مربع النص txtNID يحتوي على القيمة 28305678857 ، فالنتيجة ستكون أول 7 قيم من اليمين = 5678857 وهناك تداخلات كثيرات قد يتم اضافتها لهذه الدالة .. ولكن جرب السابق إن كان يحقق طلبك أولاً 🤗
  8. وعليكم السلام ورحمة الله وبركاته .. بداية نسأل الله أن يكون لك الأجر على النية التي تقصدها بنشرك هذه الفكرة . عند تشغيل الملف تظهر هذه الرسالة :- وعند النقر على Yes تظهر الرسالة التالية أيضاً :-
  9. أخي @ابو البشر ، جزاكم الله خيراً على هذا التوضيح ، أردت أن تكون الفكرة واضحة لمن يمر من هنا ويقرأ وإرضاءاً لسؤال قد يدور في بال أي شخص يستعمل طريقتك الجميلة شكراً مرة أخرى لتوضيحك
  10. ملاحظة للأستاذ ابو البشر ، لاحظت انك حجزت المتغير العام :- Public PageSum As Double ولكنك استخدمت :- PageTot هلا أوضحت لي الفكرة !!! أم ان المتغير لا حاجة له
  11. وعليكم السلام ورحمة الله وبركاته .. ارسل المرفق أخي الكريم حتى تجد إجابات لطلبك
  12. 🤭 أخجلتم تواضعنا أخي منتصر شكراً لإطراءك ومرورك اللذين أسرّاني بنجاح التجربة جهودكم مشكورة في أفكاركم السابقة والتي هي فعلاً جميلة ، والتي يمكن الإستفادة منها بضبطها ضمن جدول الإعدادات عند إنشاء المشاريع لاحقاً
  13. اخي وائل ، ربي يبارك فيك. وشكراً لمرورك 💐
  14. وعليكم السلام ورحمة الله وبركاته .. بداية أهلاً بك معنا في عالمك المتواضع هنا .. قد اطلعت على الملف الآن ، وأول ما لفت انتباهي أنك ارسلت المشروع كاملاً متكاملاً وبجميع عناصر التي للأسف كانت باللغة العربية !!! لا أريد أن أكسر من مجاديفك أو أقلل من قيمة البداية الجميلة التي بدأتها ، وخصوصاً في العلاقات بين الجداول . خذ مني نصيحة أخذتها من أساتذتي هنا بأن :- أبتعد عن التسميات العربية للعناصر ومكونات الجداول والنماذج والتقارير . استخدام أكثر من كلمة للتسميات كافة ( وجود مسافة بين الكلمات ) ؛ حيث الأصح في بناء مشروع سليم هو استخدام إما إشارة Under Score "_" ، او أن تجعل الإسم بدون فراغات ولكن لتميز بين كلماته اجعل أول حرف من كل كلمة = حرف كبير = طبعاً للتسميات الإنجليزية . أدرج بيانات أكثر ولو بقليل من مجرد صنفين ، رغم وجود حركات كثيرة لها . لا تبخل في الشرح اذا كان طلبك متشعباً ( كثير الأحداث ) . فأسرف بالتوضيح ولا تبخل = من اين يبدأ التتبع أو البيع أو أين تسجل كل حركة ... إلخ من توضيح تراه مناسباً و وافياً . أعجبتني أيضاً فكرة ان الجداول الفرعية تحتوي على مفاتيح القيم الأساسية ( مثل اسم الصنف ، جهات التوريد ، المواقع ... ) فهي تسهل عليك لاحقاً الإستعلامات ( من وجهة نظري طبعاً ) . ومتأملين منك أن تعيد النظر في ملاحظاتي التي هي ليست إلا اقتراحات - وأنت صاحب الشأن - في النهاية وقد اكون اخوك الصغير الذي لا يفضل التعامل مع المسميات العربية لأنها مربكة ، وشكراً لتفهمك
  15. باااارك الله فيكم مهندسنا الغالي .. والحمد لله على نجاح أول تجربة بنتيجة إيجابية من خلالكم
  16. وعليكم السلام ورحمة الله تعالى وبركاته .. أحد الكتب الإلكترونية التي شاركه أحد الأخوة سابقاً تعلم آكسيس.pdf
  17. وعليكم السلام ورحمة الله وبركاته .. استخدم هذه المعادلة كفكرة مبدأية في الخلية O3 ، ثم اسحب للتطبيق حتى X3 ( في نطاق الجدول 2 ) =IFERROR(INDEX($B$3:$B$22,AGGREGATE(15,6,ROW($B$3:$B$22)-ROW($B$3)+1/(COUNTIF($E$3:$N$3,$B$3:$B$22)=0),COLUMNS($O$3:O3))),"") جرب وأخبرنا بالنتيجة
  18. أخواني وأساتذتي ومعلمينا ( دون استثناء ) بعد محاولات في فهم المشكلة التي أرّقت الكثيرين من مستخدمي آكسيس ( مطورين ومبرمجين أو مستخدمين عاديين ) ، كنا نلاحظ أنه ومع تحديد لغة إدخال عربية لعناصر مثل مربعات النص أو غيرها . فأن آكسيس يقوم بإجبار الويندوز على إضافة لغة لوحة مفاتيح خاصة بالعربية التي تم إنشاء قاعدة البيانات عليها . وقد قمت بطرح فكرة بسيطة تقليدية مبنية على باتش يعمل بتحديد اللغة العربية التي يريدها المستخدم حسب دولته في هذا الموضوع تثبيت لغة لوحة المفاتيح في ويندوز . إلى أن تم فهم آلية آكسيس وعلاقته المتينة في الذاكرة التي يحجزها عند تشغيله ؛ فيتعامل معها كمساحته الخضراء داخل ويندوز ويفعل بها ما يحلو له . ولكن وبفضل الله تم كسر هذه المساحة الخضراء وجعلها مساحة خضراء مزروعة بحصريات منتديات أوفيسنا . الفكرة أداة تعمل عند حسب رغبتك عزيزي القارئ ( مع الويندوز أو بشكل يدوي ) تقوم على مراقبة تخطيطات لوحات المفاتيح الحالية ، وبالتالي لا تسمح لأي برنامج بأن يقوم بالتعديل عليها كيفما يشاء دون الحاجة إلى الخروج من النظام أو اغلاق آكسيس أو حتى التدخل والتعديل في مشاريع آكسيس الموجودة . لنتعرف أولاً على شكل و واجهة الأداة :- شرح ما تفعله الأداة بمكوناتها :- :- هذا الجزء سيعرض لك لغات لوحات المفاتيح التي تم تثبيتها في جهازك . :- هذا الزر وظيفته إزالة اي تخطيط تحدده في القائمة السابقة . :- هذا الزر وظيفته إخفاء مراقب لوحات المفاتيح بجوار الساعة . :- السماح للتطبيق بالعمل عند تشغيل ويندوز . :- مساحة مخصصة لعرض الأحداث . ✔ صورة توضيحية لعمل الأداة :- ✔ لإجراءاتكم في التجربة AccessLayoutMonitor.zip
  19. وعليكم السلام ورحمة الله وبركاته ,, لو استخدمت خاصية البحث لوجدت العديد من الأمثلة ، على العموم راجع هذه المشاركة للهندسة @ابو جودي
  20. اعلم أن هذا التعديل قد يفي بالغرض ، ولكن مشكلتي هنا هي أن المستخدم أو المطور ( كلاهما ) سيكون مجبراً على اضافة الكود داخل جميع النماذج ............ إلخ من تعديلات قد تكون غير مجدية . لكني أبحث عن حل يقوم فعلاً بإزالة التخطيط الجديد عند اضافته ، وهنا بيت القصيد .
  21. في الوقت الحالي ، انا متابع بتركيز على النهاية وليس الذي ما بين اليدين حالياً . لذا ولأحيطكم علماً بما خرجت به من كثرة التجارب ، آكسيس لا يخضع لأي تطويع أو مراقبة أو قيود تعتمد على الريجستري أو حتى Local Group Policy Editor ، فهنا سيكون في جميع الحلول القصرية حتى إلغاء حق التعديل على إضافة لغات وتخطيطات أخرى من طرف المستخدم ( لو أراد ذلك ) .... ولهذا متابع بتركيز في أي نقاش حتى نخرج بحل جذري . وللعلم عند إضافة اي تخطيط جديد فإنه لا يسجل في الريجستري بتاتاً ولا في أي مسار داخل الريجستري ، ويبقى متاحاً في الذاكرة المؤقته لذا لن يتم اكتشافه بأي شكل تقريباً إلا بعد تسجيله في الريجستري ، وهنا اعتقد المشكلة العويصة السوداء .
  22. السلام عليكم أخي الكريم ، وأهلاً بك في عالمنا الإلكتروني أوفيسنا .. أود لفت انتباهك إلى أن زر ، تم إيجاده كي يتمكن صاحب الموضوع من تعليم موضوعه عند إيجاده للحل المناسب بأنه وجد الحل . وهذا الزر يستخدم عادةً للإجابة التي رأى أنها حققت مطلبه ( بغض النظر عن الصحة أو تعدد الإجابات ) . وهنا يقع الكثير من الأخوة الأعضاء المنتسبين في مشكلة بسيطة ، هي أنه يقوم بالنقر على الزر لإجابته وليست للإجابة التي حلت مشكلته ( مشاركة الأخوة والأساتذة ) . لذا متأملاً منك تصويب الخطأ الغير مقصود باختيار الإجابة التي حلت مشكلتك . سيتم الغاء إجابتك لنفسك وأنت عليك تصويب الوضع
×
×
  • اضف...

Important Information