بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
1373 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
45
منتصر الانسي last won the day on يونيو 18
منتصر الانسي had the most liked content!
السمعه بالموقع
461 Excellentعن العضو منتصر الانسي

البيانات الشخصية
-
Gender (Ar)
ذكر
-
Job Title
موظف
-
البلد
اليمن
اخر الزوار
5198 زياره للملف الشخصي
-
ارسال رسائل ⭐ هدية ~ نظام إرسال الرسائل القصيرة SMS من اكسيس ⭐
منتصر الانسي replied to Foksh's topic in قسم الأكسيس Access
-
لم أقوم بأي شيئ إضافي سوى أنني كررت الامر الخاص بحدث Click للزر إلى حدث MouseMove 'هذا حدث النقر على الزر Private Sub Commande50_Click() SouSouMenu End Sub 'MouseMove وهذا حدث Private Sub Commande50_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) SouSouMenu End Sub
-
شاهد المرفق internet.rar
-
صراحة لم أفهم قصدك !!! هل تقصد أنك تريد تكرار العملية لزر آخر غير زر (Suivi Vente) ؟ عموما إذا كنت تقصد زر آخر غير زر (Suivi Vente) فيمكنك إستخدام نفس الـ Module أو إنشاء واحد جديد ولكن أهم شرط في الحالتين هو إستخدام أسماء فريدة لكل إجراء بمعنى عدم تكرار التسميات التالية (Mouvementcompany و OpenForm1 و OpenForm2 و ...... و OpenForm14) وكآلية عمل يمكنك تنفيذها يمكنك تمييز كل قائمة بكلمة معينة فمثلاً القائمة الجاهزة هنا نميزها بالكلمة (SouSou) فإذا إحتجنا لقائمة أخرى نقوم بنسخ هذه القائمة ونقوم ببحث وإستبدال لكلمة SouSou وتعديلها بكلمة أخرى تعبر عن القائمة الجديدة هكذا ستحصل على قائمة بدون أي مجهود ولن يتبقى عليك إلا إستبدال أسماء النماذج والتسميات قد يكون الشرح بتطبيق عملي أفضل لذلك قمت بتعديل المثال كالتالي - أعدت تسميات الإجراءات والتسميات الحالية لتمييزها بكلمة (SouSou) - قمت بعملية نسخ ولصق لكل الإجراءات في نفس الوحدة النمطية ثم بحث وإستبدال لكلمة (SouSou) وتعديلها بكلمة (Retour) لكل ما تم نسخه ثم عدلت أسماء النماذج في كل إجراء إلى أسماء النماذج التي تبدأ بحرف C ستلاحظ أني لم أحتاج إلا إلى 8 إجراءات فقط - قمت بعملية نسخ ولصق للقائمة الأولى مرة أخرى ولكن تم اللصق في Module جديد ثم بحث وإستبدال لكلمة (SouSou) وتعديلها بكلمة (Recette) ثم عدلت أسماء النماذج في كل إجراء إلى أسماء النماذج التي تبدأ بحرف D ستلاحظ أني هنا إحتجت لإضافة إجراء جديد لفتح النموذج الاخير الآن ستظهر القائمة الأولى عند النقر على الزر (Suivi Vente) والقائمة الثانية مع الزر (Retour) والثالثة مع الزر (Recette) تم تحديد الازرار كمثال فلغتي الفرنسية صفر كملاحظة أخيرة يمكنك الان تعديل التسميات الخاصة بعناصر القوائم الثلاث وكذلك يمكنك نقل القائمة الثالثة إلى نفس الوحدة النمطية للقائمتين الأخريين ارجو أن يكون الشرح قد وضح لك طريقة العمل بحيث أصبح بإمكانك إنشاء قوائم أو تعدبلها تحياتي internet.rar
-
تفضل قمت بتعديل المثال لينفذ طلبك الان كل ما عليك هو فتح الوحدة النمطية Module1 وتعديل المسميات "SouSou1-SouSou2-SouSou3-....SouSou14" إلى أي أسماء ترغب بها تحياتي internet.rar
-
إسمح لي أخي @ابوخليل أن أوضح هذه النقطة عندما يتم تعريف المتغيرات بالكلمة المفتاحية Const فإننا نقوم بتعريف قيمة ثابتة غير قابلة للتعديل إلا عن طريق الدخول إلى محرر VBE وتعديلها ولن نستطيع التعديل من النموذج سواء كانت متغيرات خاصة أو عامة أما مسألة أني جعلتها معلمات للإجراء نفسه فذلك لجعله مختصراً وأكثر مرونة فلو إفترضنا أن المتغيرات كانت عامة على مستوى النموذج فعند إستدعاء الإجراء سنضطر إلى كتابة أمر الإستدعاء بالشكل التالي MY_FONT = cboFonts MY_SIZE = txtFontSize ROW_HEIGHT = txtRowHeight * 567 Call ApplyGlobalFormatting حيث أنا سنقوم أولاً بتعيين قيمة لكل متغير ثم إستدعاء الإجراء أما عندما جعلنا المتغيرات كمعلمات للإجراء فإن أمر إستدعاء الإجراء أصبح بالشكل التالي Call ApplyGlobalFormatting(cboFonts, txtFontSize, txtRowHeight * 567) وأنا أطبق هذا الأسلوب دائماً لسهولته تخيل أننا نحتاج إلى إستدعاء إجراء أو دالة ما لأكثر من مرة وبمعلمات مختلفة فبدل أن نحتاج إلى 5 او 6 أسطر لكل إستدعاء سنكتفي بسطر واحد في الأخير مهما إختلفت طرق الحل لكنها تؤدي إلى نفس النتيجة وكما يقول المثل كل الطرق تؤدي إلى روما تحياتي
-
عفواً أخي @ابوخليل أنا حبيت أسهل الأمر على الأخ صاحب الموضوع فقد قال أن الكود ناجح ولا يريد إلا هذه الإضافات فوضعتها له في مثال يحتوي الحد الأدنى التعديلات التي سيقوم بتنفيذها على تطبيقه لتجربتها أما موضوع إحتواء البيانات في التقرير فلا أعتقد أن الكود له دخل بهذا الموضوع لانه سيقوم بتعديل حجم الخط بغض النظر عما إذا كان مناسباً أم لا أليس كذلك؟
-
قمت بالإستفادة من كود أحد الأمثلة في المنتدى وعدلت الإجراء ليعتمد على المعلمات بدل القيم الثابتة ستجد في المرفق ملف يحتوي على نموذج ووحدة نمطية قم بإسترادهما إلى تطبيقك وفتج النموذج ستجد فيه مربعات لتحديد القيم المطلوبة وبالنقر على زر (تنفيذ الإجراء) يفترض أن يتم تعميم القيم المحددة فيما يخص قيم (حجم الخط و الإرتفاع) قمت بتحديد القيم بالنطاق (من 7 الى 72) لحجم الخط لإن حجم أصغر من 7 أراه غير منطقي لأن النص سيصبح غير مقروء والرقم 72 هو الحد الأقصى لحجم الخط في أكسس ولست متأكداً من أنه يقبل رقم أعلى من 72 نفس الشيئ للإرتفاع فإرتفاع أقل من 4 ملم سيكون صغيرا جداً وإرتفاع أكبر من 1.4 سم سيكون كبيراً جداً ولكن في الأخير لك حرية تعديل القيم بصراحة أنا لم أجرب تنفيذ الأمر لذلك لا أدري إذا كانت ستظهر أي أخطاء فإذا ظهرت أي أخطاء يرجى إعلامنا بها تحياتي Fonts.accdb
-
لو كنت ركزت على كلامي كنت ستجد أني كنت قد وضحت لك أن التعديلات ستكون في عبارة If وحدث فتح النموذج ولكنك قمت بالتعديل الأول وتجاهلت الثاني وهو التعديل الذي يقوم بقراءة القيمة الإفتراضية المحفوظة عموما هذا ملفك الاخير بعد التعديل تحياتي Lab_small.rar
-
هذه المشكلة تكلمت عنها في ردي السابق إرجع اليه وستجد أنه إذا خرجت من السجل وعدت إليه مجدداً ستجد أنه قد إحتفظ بالرقم الصحيح وقد قمت بالبحث سريعاً عن أي أمر ضمن الكود يقوم بهذا ولم أجد فطلبت من الأخ صاحب الطلب لمراجعة طريقة عمل البرنامج وتصحيح المشكلة
-
هذا الحل قمت فيه بالإستفادة من أداة إنشاء وتحرير خصائص التطبيق والتعامل معها كمتغيرات عامة التي كنت قد رفعتها لمكتبة الموقع التعديلات ستجدها في عبارة If في حدث النقر المزدوج لمربع النص + حدث الفتح للنموذج بالإضافة إلى أنك ستحتاج إلى إستيراد الوحدة النمطية mdlDBProps وهكذا ستحصل على نفس النتيجة مع الإحتفاظ بالرقم الذي أدخلته حتى بعد إغلاق قاعدة البيانات تحياتي JO_Lab.rar
-
قام الاخ @Foksh مشكورا بحل المشكلة ولكن يتبقى على الاخ @jo_2010 مسح خاصية القيمة الإفتراضية لمربع النص في النموذج