بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
1343 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
41
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو منتصر الانسي
-
التحكم بتحريك سجلات النموذج بواسطة عجلة الماوس MouseWheel
منتصر الانسي replied to أبو سلمى's topic in قسم الأكسيس Access
الم يعجبك هذا الحل ؟؟ بهذه الطريقة ستحصل على ميزتين الأولى أن ملف MouseHook.dll سيكون بعيداً عن أنظار المستخدمين والميزة الثانية أنه يمكنك إستخدام كود إيقاف العجلة في أي تطبيق على مستوى الجهاز -
التحكم بتحريك سجلات النموذج بواسطة عجلة الماوس MouseWheel
منتصر الانسي replied to أبو سلمى's topic in قسم الأكسيس Access
يمكنك كذلك نسخه الى المجلد System32 داخل مجلد Windows -
التحكم بتحريك سجلات النموذج بواسطة عجلة الماوس MouseWheel
منتصر الانسي replied to أبو سلمى's topic in قسم الأكسيس Access
ماقبل 2007 كان بالامكان التنقل بين السجلات بإستخدام عجلة الماوس وفي الإصدارات الحديثة تم معالجة هذه المشكلة ولم تعد موجودة -
التحكم بتحريك سجلات النموذج بواسطة عجلة الماوس MouseWheel
منتصر الانسي replied to أبو سلمى's topic in قسم الأكسيس Access
يبدو أنك مازلت تستخدم أوفيس 2003 أو نسخة أقدم لأن هذه المشكلة لم تعد موجودة منذ أوفيس 2007 يوجد حل بسيط وهو تشغيل التطبيق في أكسس 2007 أو إصدار أحدث أما لو كنت مضطراً للعمل مع أوفيس 2003 فيمكنك تجربة الحل الموجود في المرفقات وسيكون المطلوب منك مايلي 1- نسخ الملف MouseHook.dll إلى نفس المجلد الخاص بتطبيقك 2- إستيراد الوحدة النمطية mdlMouseHook إلى التطبيق الخاص بك 3- في حدث عند التحميل (OnLoad) للنموذج الذي تريد توقيف عجلة الماوس فيه إنسخ السطرين التاليين Dim blRet As Boolean blRet = MouseWheelOFF(True) وفي حدث الإغلاق (OnClose) إنسخ السطرين التاليين Dim blRet As Boolean blRet = MouseWheelON() تلميح : إذا أردت إيقاف عمل عجلة الماوس في جميع نماذج التطبيق الخاص بك يمكنك تشغيل الكود الأول عند فتح أول نموذج في التطبيق والكود الثاني عند إغلاق آخر نموذج ستجد في الملف المرفق مثال يحتوي نموذجين واحد يتم التنقل خلال سجلاته بالعجلة والاخر تم توقيف عملها أرجو منك التأكد من عمل الكود أولاً تحياتي إيقاف عجلة الماوس.rar -
لم أعرف أي التقريرين تريد تطبيق طلبك عليه ولكني رأيت أن تقرير (مناداة قديم) هو الاقرب فقمت بتنفيذ الحل فيه ارجو أن يكون هذا الحل هو ماتريده بالضبط تحياتي 111.rar
-
تغيير عدد الطلاب في التقرير من 20 الى 10 في كل صفحة
منتصر الانسي replied to ahmed helmy draz's topic in قسم الأكسيس Access
يوجد لطلبك حلين الأول حل بسيط وهو مجرد مضاعفة إرتفاع الصف ليشغل كل صف مكان صفين الحل الثاني برمجي ويعتمد على قيمة مربع النص (م) أي المسلسل بحيث يتم فرض صفحة جديدة عندما تكون قيمة المسلسل يقبل القسمة على 10 بدون باقي ملاحظة إضافية الحل الذي كان موجود في مثالك فيه مشكلتين الأولى أنه يقوم بإخفاء السجلات التي بعد السجل العاشر ولا يقوم بنقلها إلى الصفخات التالية والمشكلة الثانية تخص اللغة فيبدو أنك نسخت الكود من مثال من نسخة اوفيس انجليزية والملف المرفق تم إنشاؤه في أوفيس نسخة عربية لذلك فالكود التالي مثلاً Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer) ' زيادة العداد بمقدار 1 لكل سجل intRecordCount = intRecordCount + 1 ' تغيير الرقم 10 إلى أي عدد تريده (20، 50، 100...) If intRecordCount > 10 Then ' ?? غير هذا الرقم حسب حاجتك ' إلغاء طباعة هذا السجل وما بعده Cancel = True End If End Sub يجب أن يكون بهذا الشكل Private Sub تفصيل_Format(Cancel As Integer, FormatCount As Integer) ' زيادة العداد بمقدار 1 لكل سجل intRecordCount = intRecordCount + 1 ' تغيير الرقم 10 إلى أي عدد تريده (20، 50، 100...) If intRecordCount > 10 Then ' ?? غير هذا الرقم حسب حاجتك ' إلغاء طباعة هذا السجل وما بعده Cancel = True End If End Sub لاحظ إسم المقطع (Detail سيصبح تفصيل) وهذه الملاحظة جانبية حبيت أضيفها لتنبيهك فقد تقوم بالإستفادة من أكواد أخرى مشابهة لهذا وعند تجربتها تجدها لا تعمل فتظن أن الكود غير صحيح والسبب لايكون منه تحياتي New Microsoft Access Database.accdb -
نموذج بحث بسيط .. رجاء التعديل عليه
منتصر الانسي replied to أحمد العيسى's topic in قسم الأكسيس Access
جرب التعديل المرفق db3.mdb -
نموذج بحث بسيط .. رجاء التعديل عليه
منتصر الانسي replied to أحمد العيسى's topic in قسم الأكسيس Access
انا لم الاحظ أن هناك فرق قد يكون حجم البيانات عندك كبير مما يؤدي إلى ملاحظة هذا التأخير هناك خاصية مهمة يفضل إضافتها إلى الحقول التي يتم البحث عن بيانتها بكثرة وهي خاصية الفهرسة (في أكسس إسمها مفهرس أو Indexed) بالطريقة الموضحة بالصورة التالية الخيار المحدد هنا هو نعم مع السماح بتكرار نفس الإسم أكثر من مرة وإذا كنت متأكداً من عدم تكرار الإسم يمكن إختيار نعم بدون تكرار وهذا سيكون طبقة حماية إضافية حتى لايتم تكرار الأسماء الآن بعد أن تقوم بتعيين هذه الخاصية جرب عملية البحث هل ستكون أسرع؟ في حالتك هذه يفضل أن يكون النموذج الذي تبحث فيه إما نموذج فرعي أو نموذج مستقل عن نموذج البحث (النموذج الذي يتم إدخال نص البحث فيه) وهذا بسبب أنه يتم تنفيذ تحديث أو Requery للنموذج أثناء إدخال نص البحث ولكن لو كان البحث يتم بعد إدخال النص كاملاً فلن تكون هناك مشكلة عموما جرب تطبيق خاصية الفهرسة على المثال السابق وشوف النتيجة هل سيتحسن الأداء أم لا ومن ثم نشوف حل للطريقة الثانية التي قلت عليها (أن يكون نفس النموذج) تحياتي -
نموذج بحث بسيط .. رجاء التعديل عليه
منتصر الانسي replied to أحمد العيسى's topic in قسم الأكسيس Access
حاضر سأوضح لك ماكنت أقصده الخطأ كان يحدث في هذا السطر DoCmd.GoToControl [haqel] والذي معناه أن يتم إنتقال التركيز إلى عنصر التحكم الذي أسمه محدد في مربع التحرير والسرد [haqel] لذا لو رجعنا لمربع التحرير والسرد هذا سنجده يحتوي على أسماء عناصر التحكم باللغة الإنجليزية كما بالصورة ولكن أسماء عناصر التحكم لديك أسمائها باللغة العربية كما بالصورة (للتوضيح ليست المشكلة بأنها بالعربي انما بعدم تطابقها مع الإسم المحدد في مربع التحرير والسرد) لذلك فإن الحل هو بتعديل مسميات عناصر النحكم لتطابق المسميات الواردة في مربع التحرير والسرد (كمثال حقل الرقم يصبح كما بالصورة) ويتم التعديل لبقية الحقول بنفس الطريقة أرجو أن أكون قد وضحت طريقة الحل التي قصدتها تحياتي -
تفضل الملف بعد التعديل saad.accdb
-
نموذج بحث بسيط .. رجاء التعديل عليه
منتصر الانسي replied to أحمد العيسى's topic in قسم الأكسيس Access
اخي الكريم لو طبقت ماجاء ردي السابق كنت حصلت على النتيجة المطلوبة عموما هذا مثلك بعد التعديل DB.accdb -
نموذج بحث بسيط .. رجاء التعديل عليه
منتصر الانسي replied to أحمد العيسى's topic in قسم الأكسيس Access
يجب تعديل أسماء عناصر التحكم (الرقم - الإسم - الوظيفة) إلى أسمائها بالإنجليزي حتى تتطابق مسميات الحقول كما هي في مربع التحرير والسرد (اختر الحقل) -
إليكم : دالة التفقيط المحسنة المبسطة NoToTxt
منتصر الانسي replied to Moosak's topic in قسم الأكسيس Access
عمل رائع أخي @Moosak وإثراءً للموضوع أرفق لكم مثالين الاول للأستاذ الغالي @عبدالله باقشير الله يذكره بالخير (كان مشرفاً لمنتدى أكسل وكان إسمه في المنتدى خبور خير) حيث أنه قد قام بتغطية كل ماجاء في هذا المثال مع إضافة بعض الإضافات الجميلة التي يمكن أن يراها البعض مهمة ولعل أهمها - طريقة كتابة إسم العملة للأرقام من 3 إلى 10 (مثال خمسة ريالات وليس خمسة ريال) - إمكانية تفقيط رقم يصل إلى البلايين (مايزيد عن 999 مليار) المثال الآخر للأستاذ الكبير أبو هادي (لن يعرفه إلا القدامى 😅) ويشبه مثال الاخ عبدالله كثيراً ولكنه يتميز عنه بأنه ثنائي اللغة فيمكنك التفقيط باللغتين العربية والإنجليزية فلو أمكنك أستاذ موسى الإطلاع على المثالين لترى إذا ماكان بإمكانك إضافة الخيارات الإضافية التي وردت فيها لتخرج بعمل أكثر تكاملاً أمثلة للتفقيط.rar -
تعديل كود يعمل على اوفيس 32بت ولا يعمل على اوفيس 64 بت
منتصر الانسي replied to jo_2010's topic in قسم الأكسيس Access
بالفعل لم تعمل معي -
فتح نموذج فرعى لاضافة بيانات جديدة او عرض القديمة
منتصر الانسي replied to jo_2010's topic in قسم الأكسيس Access
وهذا نفس الكلام الذي قلته شوف أخ @jo_2010 الحل مش صعب وانا ارفقت لك ملفك بعد التعديل إنما طريقة تصميم قاعدة البيانات مش صح TEST -2.rar -
فتح نموذج فرعى لاضافة بيانات جديدة او عرض القديمة
منتصر الانسي replied to jo_2010's topic in قسم الأكسيس Access
بماذا يرتبط الجدول Tbl_Lab_All مع الجدول Tbl_Mobile ؟ إذا كان عن طريق إسم المريض فأنصحك التراجع من الان فمجرد إضافة همزة لإسم المريض أو تبديل التاء المربوطة بالهاء سيتم إعتباره مريض آخر لذلك من الأفضل إنشاء جدول خاص لبيانات المريض يتم فيه إدخال أي بيانات شخصية تخص المريض (رقم المريض - إسم المريض - تاريخ الميلاد - العنوان .... إلخ) ثم ربط هذا الجدول مع الجدولين Tbl_Lab_All و Tbl_Mobile بحقل رقم المريض -
مكتبة الموقع - UiMsg Framework - نظام رسائل احترافي
منتصر الانسي replied to قلم.رصاص's topic in قسم الأكسيس Access
ليس بالضرورة أي شيئ مما سبق فالمواضيع الخاصة بالمكتبة عادة تكون على سبيل الهدية من قبل العضو لبقية أعضاء المنتدى للإستفادة منها بعكس المواضيع التي يتم نشرها في المنتدى والتي تكون إما مشاكل أو إستفسارات مطلوب الرد عليها بل بالعكس قد يكون عدم التفاعل هو نتيجة لسهولة العمل بالملف وعدم الإحتياج لأي إستفسار حوله فمن خلال تجربتي مع {سلسلة الادوات المساعدة المخصصة} الخاصة بي ورغم ندرة التفاعل فيها إلا أني أجد أن الكثير قد قامو بتحميلها والاستفادة منها في تطبيقاتهم وتكون سعادتي أكبر عندما تصلني كلمات والشكر والاعجاب لاحقاً وفي مواضيع أخرى وهذا هو المردود الحقيقي الذي يبتغيه صاحب العمل أن يشعر بأن عمله له التأثير الإيجابي لدى الآخرين . -
هل يمكن تمديد صورة زر بالعرض بدون تشوهات
منتصر الانسي replied to أحمد العيسى's topic in قسم الأكسيس Access
لم اقصد أنك قللت من شأن العمل بل إعتقدت أني أكون قد أغفلت شيئ بدون قصد وأردت معرفته إذا كنت قد جهزت العمل في القالب ما عليك الا إستيراد الجدولين (ztblHelpSubjects و ztblHelpText) والنموذج (zfrmHelp) والوحدة النمطية (zmdlHelpFile) ولإستدعاء التعليمات المذكورة في الصورة المرفقة في ردك ستنشئ زر أمر في نموذج (بيانات الموظف) ثم قم بنسخ الصيغة المذكورة في الصورة أأدناه وألصقها في حدث النقر لهذا الزر أو أي صيغة وفقاً للخيار الذي تختاره من القائمة وتم توضيح وظيفة كل خيار في (العرض التوضيحي) وتوضيح النتيجة في المثال العملي -
هل يمكن تمديد صورة زر بالعرض بدون تشوهات
منتصر الانسي replied to أحمد العيسى's topic in قسم الأكسيس Access
غريب !!!! 😐 بناء على كلامك قمت بمراجعة الملف المرفق مع الاداة الذي بالإسم (مثال عملي) وأعتقد أنه قد شمل جميع النقاط التي قد تحتاجها لعمل تعليمات مخصصة فإذا كان لديك نقطة غفلت عن ذكرها في شرحي ياريت توضح ماهي أما إمكانية اللصق تكون مفعلة للمطور ويتم إلغاء تفعيلها للمستخدم النهائي ياريت ترجع وتتابع الشرح الوارد في المثال العملي بتأني وبنفس ترتيب الخطوات بدون القفز بينها شكرا للاخ @Barna على تفاعله وترشيحه للأداة لكن لدي ملاحظة جانبية (يبدو أني نسيت أن أذكرها في تعليمات الأداة) وهي أنه عندما تكون التعليمات باللعة الأنجليزية يفضل تغيير إتجاه النص من اليسار إلى اليمين كما بالصورة ليظهر بهذا الشكل تحياتي -
عند الطباعة لا تظهر البيانات اللون الاصفر
منتصر الانسي replied to ahmed23652's topic in قسم الأكسيس Access
في هذه الحالة يجب على البيانات التي تريد إظهارها أن تكون في مربع نص وليس مربع تسمية إصدار الفواتير.accdb -
سؤال : لماذا تكون بعض التطبيقات بطيئة بعد تطويرها ؟
منتصر الانسي replied to أحمد العيسى's topic in قسم الأكسيس Access
هذا الشيئ طبيعي فالبيانات تكون قليلة والأكواد مازالت في أول إصدار لها (أي أنها مثالية وفقاً للدراسة التي تمت عند التصميم) وهذا الشيئ أيضا طبيعي فأنت لا تقوم بأي عملية تطوير إلا لحل مشكلة طارئة أو تحسين وتبسيط للمهام بحسب طلب المستخدمين وأول ماستفكر به هو طالما وأن البرنامج يعمل بطريقة سليمة فسأبقي الوضع على ماهو عليه وسأقوم بإضافة بعض التعليمات البرمجية الجديدة التي من شأنها حل المشكلة التي طرأت أو تنفيذ التحسين المطلوب ولكنك وبدون أن تشعر تكون قد أضفت أعباء جديدة على البرنامج والتي تتراكم لتسبب بعض التأخير الذي يزداد مع زيادة حجم البيانات ليصبح التأخير مزعجاً. بالإضافة لما جاء ضمن رد الأخ @jjafferr فنصيحتي هنا أنه عند الوصول لهذه المرحلة فأن الأمر يتطلب منك مراجعة شاملة للبرنامج من حيث - إعادة بناء قاعدة البيانات بطريقة علمية سليمة وذلك لعدة أسباب منها - أن من ضمن الحلول التي كنت تضعها من المؤكد أنك قد تضطر لإجراء بعض التعديلات على الجداول - عند إنشاء البرنامج لأول مرة قد ترى أن هناك حقول لاتستدعي منك فصلها في جداول مستقلة ولكن مع تضخم البيانات فإن الأكواد التي تقوم بإسترجاع البيانات من هذه الحقول سيقل أداؤها لذلك سيكون من الافضل فصلها في جداول مستقلة وهذا ما سينتج عنه تسريع في الأداء - عدم التعامل مع بيانات الجدول مباشرة بل مع بيانات مفلترة منه (ماذا اقصد ؟) الان عندما تقوم بتحديد الجدول كاملاً كمصدر لبيانات النموذج او التقرير فإنه يتم تحميل جميع بياناته في كل مرة تقوم بفتح هذا النموذج او التقرير لذلك يفضل أن يتم فتح النموذج على بيانات محددة مثلاً نموذج المبيعات يفضل أن يرتبط ببيانات العام او الشهر الحالي فقط وهذا سيؤدي الى تحسن في سرعة الاداء تزداد ملاحظته مع زيادة حجم البيانات كذلك عمليات البحث كلما كانت عينة البحث اصغر كان البحث أسرع لذلك وعلى سبيل المثال عندما يكون لدينا كود يقوم باستخدام دوال تجميع المجال لإسترجاع بيانات من إستعلام يحتوي بيانات سنة مالية واحدة سيكون أداؤه اسرع من نفس الكود لو كان يبحث في الجدول ككل - تطبيق مفهوم الأرشفة مفهوم الارشفة يقوم على فصل البيانات التاريخية وإستبدالها بجداول تحتفظ ببيانات إحصائية للرجوع اليها في حال الاحتياج لها للتقارير طبعا هذا يعتمد على طريقة عمل كل شركة ورؤية المطور فإذا رأي المطور أن الاحتياج للبيانات التاريخية يقل للحد الادنى مع مرور الوقت فيمكنه اقتراح الفكرة لانشاء الية عمل تشبه آلية انشاء السنة المالية الجديدة حيث يتم فيها أرشفة البيانات التاريخية كل سنة بترحيل بيانات السنة السابقة الى قاعدة بيانات جديدة والاحتفاظ ببيانات احصائية منها (كآرصدة اول الفترة) وتصفية الجداول من جميع البيانات لتبدأ من الصفر للسنة المالية الجديدة بهذا سيظل البرنامج دائما خفيفا وسريعا - اعادة دراسة وتقييم التعليمات البرمجية من واقع تجربتي فإني أحياناُ كثيرة وأثناء مراجعتي لأكواد قديمة قمت بكتابنها في أكثر من تطبيق تكون ردة فعلي (بماذا كنت أفكر وقتها ؟؟؟) أو أضحك على بساطته وأعتقد أن الكثير منا مر بنفس التجربة وهذا شيئ طبيعي فمع مرور الوقت وتراكم الخبرة تجد أن ما كنت تعالجه بكود يحتوي عشرات الأسطر بإمكانك معالجته بكود لايتعدى العشرة أسطر كذلك الحال في الحالات التي ذكرتها في بداية كلامي فأنك قد تضطر إلى إضافة أكواد لحل مشاكل طارئة أو تبسيط مهام وتقضل إضافة الأكواد بدون مساس للاكواد الحالية وهذا قد يؤدي (وعن غير قصد) إلى مضاعفة العمل أو التعارض مع تعليمات برمجية قائمة وتحميلها بأعباء إضافية لم تنتبه لها في حينه أو إنتبهت لها ولكنك تجاهلتها إما لضيق الوقت أو لأثرها الغير ملحوظ وقتها على الاداء ومن خلال عملية إعادة دراسة وتقييم التعليمات البرمجية يمكنك إعادة كتابة التعليمات البرمجية التي يمكن إختصارها وتحسينها وهذا سيكون له الأثر الكبير في الأداء وعلى فكرة هذه العملية هي إجراء قياسي يقوم به جميع مطوري البرامج فدائماً ما يتم تنزيل تحديثات بسيطة لبرامج ويندوز تقوم بتصحيح أو إصلاح مشكلات بسيطة وفجأة نجد تحديث كبير ينتج عنه إصدار جديد كليا من البرنامج وغالبا مايكون بسبب تطوير شامل للبرنامج من حيث المظهر والوظائف تنويه - كل الملاحظات والنصائح المذكورة أعلاه هي مجرد تسليط للضوء على أهم أسباب تباطؤ تطبيقات أكسس (المرتبطة بالكائنات التابعة لأكسس) وطرق معالجتها وأريد على التأكيد على أنها لا تشمل كل الأسباب أو كل الحلول إنما هي أهم الأسباب والحلول (من وجهة نظري) يوجد أيضاً أسباب أخرى تكون مرتبطة بالشبكة والتي يكون حلها بأحد حلين (برمجي Software أو عتاد Hardware) - الحل البرمجي يقوم به المطور خصوصاً بتطبيق النصيحة الثانية المذكورة أعلاه (إستخدام البيانات المفلترة) فقد تكون المشكلة غير ملموسة عند العمل في الوضع العادي (قاعدة البيانات المحلية) ولكن يمكن أن تظهر عند العمل من خلال الشبكة لذلك سيكون من الأفضل تصفية البيانات التي يتم العمل معها إلى الحد الأدنى حتى لايتم تحميل الشبكة ببيانات إضافية لن يحتاجها المستخدم أثناء العمل. - الحل الثاني وهو مرتبط بالتجهيزات وخدمة الإتصال بالسيرفر وهذا الحل يجب أن يتم فيه إستشارة مهندسي الشبكات فهم من سيقدمون الحل الأفضل للمشكلة حيث سيكون لديهم الخبرة الكافية في أنواع التجهيزات الحديثة وأفضل أنواع الكابلات وأسرع خدمة إتصال يمكن الحصول عليها . الملاحظة التي يجب ذكرها أن الحل الثاني يعتمد إعتماداً كلياً على أداء التطبيق في الوضع العادي (قاعدة البيانات المحلية) فمن غير المعقول أن أبحث عن حل لمشكلة الشبكة والبرنامج أصلاً بطئ حتى بدون شبكة. في الأخير أرجو أن أكون قد قدمت فكرة بسيطة عن أهم مشاكل تباطؤ تطبيقات الأكسس -
عند الطباعة لا تظهر البيانات اللون الاصفر
منتصر الانسي replied to ahmed23652's topic in قسم الأكسيس Access
السبب هو خيار طباعة البيانات في مربع حوار إعداد الصفحة كما بالصورة ومرفق لك الملف بعد تعديل الخيار إصدار الفواتير.accdb -
المشكلة لم تكن في التطبيق بل كانت في طريقة الإستخدام
-
هذا لانك لم تحدد له قاعدة البيانات التي سيتم عمل نسخة لها ففي الوضع الحالي أنت تقول له قم بعمل نسخة من مجلد (البرامج الخاصة) الموجود في القرص D وكان يجب أن تضيف إسم قاعدة البيانات التي سيقوم بنسخها أيضاً مثال عملي إذا إفترضنا أن لدينا مجلدين Folder1 و Folder2 يقعان في القرص D ولدينا قاعدة بيانات أسمها MyDatabase بالإمتداد mdb موجودة في Folder1 ونريد إنشاء نسخ إحتياطية منها في المجلد Folder2 فيجب إدخال مايلي في حقل (مسار قاعدة البيانات) D:\Folder1\MyDataBase.mdb لاحظ أن المسار يحتوي على إسم قاعدة البيانات مع إمتدادها وفي حقل (مسار حفظ النسخة) سندخل مايلي D:\Folder2 هنا لا نحتاج لإدخال إسم قاعدة البيانات لأن البرنامج سيقوم بإعادة تسميتها بحسب التاريخ والوقت إن شاء الله يكون الشرح واضح تحياتي