اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

منتصر الانسي

المشرفين السابقين
  • Posts

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

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

  • Days Won

    52

منتصر الانسي last won the day on سبتمبر 4

منتصر الانسي had the most liked content!

السمعه بالموقع

509 Excellent

عن العضو منتصر الانسي

البيانات الشخصية

  • Gender (Ar)
    ذكر
  • Job Title
    موظف
  • البلد
    اليمن

اخر الزوار

5825 زياره للملف الشخصي
  1. إحساسي مايخيبش شكلك لقيت الحل وباقي على الحلو تكة وإحنا في الإنتظار
  2. ارجو توضيح نقطة فعند إعادة قراءة الموضوع حصل عندي لبس في هذه النقطة فهل تقصد أنه بدل أن يكون عندك نسختين Accde يكون عندك ملف واحد Accdb مؤمن تأمين قوي جداً ؟ (لأن هذا مافهمته من كلامك) فإذا كان قصدك أن يكون الإمتداد Accde فبتأمين أو بدون تأمين من الصعب جداً إذا لم يكن من المستحيل تشغيل ملف Accde تم تشفيرة بإستخدام نواة مختلفة وهذا ما يؤكده الذكاء الصناعي ولكن إذا كنت تقصد أن يكون الملف بإمتداد Accdb ويتم تأمينه تأمين قوي ليصبح من الصعب جداً على أي شخص آخر الوصول إلى عرض التصميم أو التعليمات البرمجية الخاصة به فهذا الأمر ممكن لأن الإمتداد Accdb سيعمل في النواتين ويبقى التحدي في طريقة التأمين
  3. لماذا عندي إحساس أن سؤالك هذا يبشر بأنك وجدت الحل لهذه المشكلة
  4. Version 1.0.0

    5 تنزيل

    أي شخص يتعامل مع برامج وتطبيقات قواعد البيانات لايمكن أن يستغني عن إستخدام أي وسيلة من وسائل البحث عن البيانات فمثلاً عندما تريد تصفية نموذج بيانات الموظفين لإستعراض بيانات موظف واحد فقط , أو كمثال آخر إذا كنت تعمل على شاشة المبيعات وتريد إدخال رقم الصنف فتقوم بفتح قائمة الأصناف والبحث عن الصنف المطلوب لإرجاع كود الصنف والإحتفاظ به في جدول المبيعات , والكثير من الأمثلة الأخرى المشكلة هنا هو أنك ستكون مضطر لإنشاء نموذج بحث لكل مكان ستحتاج فيه إلى البحث عن البيانات أو على الأقل نموذج واحد لكل نوع من أنواع البيانات ولحل هذه المشكلة أقدم لكم اليوم أداة جميلة وبسيطة تمنحكم إمكانية الحصول على أي عدد قد تحتاجونه من قوائم البحث وبإستخدام نموذج واحد فقط (بالأصخ نموذج رئيسي وآخر فرعي) وقد أسميت الأداة بإسم أداة البحث السريع لأنها بالفعل تقدم أسرع تجربة بحث قد تجدها سواء كنت تستخدم الماوس أو لوحة المفاتيح وكما هو موضح بالصورة المتحركة فلو رأينا سرعة الوصول لنتيجة البحث بإستخدام الماوس وقارناها مع مربع التحرير والسرد أو مربع القائمة سيكون الفارق كبير وكما تعودنا سأرفق لكم ملفي القالب والنسخة التوضيحية والتي ستجدون بداخلها أمثلة عملية لإستخدام الأداة مع ملاحظات وتعليمات أرجو قرائتها بعناية أرجو أن تجدوا في هذه الأداة الفائدة والعون في تسهيل أعمالكم تحياتي
  5. اعرض الملف أداة البحث السريع {سلسلة الأدوات المساعدة المخصصة} أي شخص يتعامل مع برامج وتطبيقات قواعد البيانات لايمكن أن يستغني عن إستخدام أي وسيلة من وسائل البحث عن البيانات فمثلاً عندما تريد تصفية نموذج بيانات الموظفين لإستعراض بيانات موظف واحد فقط , أو كمثال آخر إذا كنت تعمل على شاشة المبيعات وتريد إدخال رقم الصنف فتقوم بفتح قائمة الأصناف والبحث عن الصنف المطلوب لإرجاع كود الصنف والإحتفاظ به في جدول المبيعات , والكثير من الأمثلة الأخرى المشكلة هنا هو أنك ستكون مضطر لإنشاء نموذج بحث لكل مكان ستحتاج فيه إلى البحث عن البيانات أو على الأقل نموذج واحد لكل نوع من أنواع البيانات ولحل هذه المشكلة أقدم لكم اليوم أداة جميلة وبسيطة تمنحكم إمكانية الحصول على أي عدد قد تحتاجونه من قوائم البحث وبإستخدام نموذج واحد فقط (بالأصخ نموذج رئيسي وآخر فرعي) وقد أسميت الأداة بإسم أداة البحث السريع لأنها بالفعل تقدم أسرع تجربة بحث قد تجدها سواء كنت تستخدم الماوس أو لوحة المفاتيح وكما هو موضح بالصورة المتحركة فلو رأينا سرعة الوصول لنتيجة البحث بإستخدام الماوس وقارناها مع مربع التحرير والسرد أو مربع القائمة سيكون الفارق كبير وكما تعودنا سأرفق لكم ملفي القالب والنسخة التوضيحية والتي ستجدون بداخلها أمثلة عملية لإستخدام الأداة مع ملاحظات وتعليمات أرجو قرائتها بعناية أرجو أن تجدوا في هذه الأداة الفائدة والعون في تسهيل أعمالكم تحياتي صاحب الملف منتصر الانسي تمت الاضافه 09/08/26 الاقسام قسم الأكسيس  
  6. أضم صوتي لصوتك ماشاء الله ولا أروع تمت التجربة بعد التعديل وتمت العملية بنجاح باهر
  7. المشكلة أنه يجب أن يكون هذا المجلد فارغ في البداية ومن خلال آلية العمل يتم ترحيل الصور عن طريق البرنامج
  8. هنا سأسكت قليلاً وما أقدر أعبر إلا بكلمة واحدة هناك ملاحظة واحدة بس فيبدو أنك تعتمد على برنامج into لبتنفيذ التحزيم لأنه ظهرت لي هذه الرسالة حتى بعد ان قمت بتنصيب برنامج inno setup مازالت الرسالة تظهر ويتوقف العمل
  9. أولاً شكراً لكم على التفاعل وعلى المقترحات التي قدمتموها وبالفعل هذه المقترحات في محلها وقد فكرت فيها شخصياً ولكن إسمحوا لي توضيح فكرتي في سبب عدم العمل بها سبب عدم إضافة هذه الأسطر كان بسبب إختلاف الصيغة بإختلاف الإجراء الذي سيتم بناءً على الخيار المحدد فمن خلال الأمثلة سنجد أنه مرة ظهر بالشكل الذي ذكرته في ردك وفي مكان آخر ظهر بهذا الشكل Call OpenCustomOptions("إختر الإدارة المطلوبة" _ , "الإدارة العامة" _ , "البحث والتطوير" _ , "الخدمات العامة" _ , "العمليات" _ , "المالية" _ , "المبيعات والتسويق" _ , "المشتريات" _ , "الموارد البشرية" _ , "تكنولوجيا المعلومات") DoCmd.OpenForm "frmEmployees", , , "EmpDepartment='" & strResult & "'" لاحظ أننا إكتفينا بأخذ القيمة النصية ووضعناها كمعيار تصفية مباشرة بدون إستخدام عبارة Select Case بالإضافة إلى ذلك في الحالات التي سيكون فيها خيارين فقط فقد يكون من الأفضل إستخدام عبارة IF بدلاً عن Select Case هذا من ناحية ومن ناحية أخرى فإن الأداة ترجع لنا قيمتين واحدة رقمية والأخرى نصية فإذا تم إضافة هذه الأسطر فهل يتم كتابتها بناء على القيم الرقمية أم النصية ؟ وكما تفضلت وذكرت في كلامك فإن تفضيلي عدم إضافة أسطر خاصة بعبارة Select Case حتى لا يظن المستخدم العادي بأنها إلزامية ويجب أن تكون بتلك الصيغة الحقيقة لا أخفيكم بأنه في البداية كان يتم إنشاء صيغة الكود لتكون بهذا الشكل Call OpenCustomOptions("حدد أحد الخيارات التالية" _ ,"الخيار الأول" _ ,"الخيار الثاني" _ ,"الخيار الثالث") 'intResult يمكن الحصول على رقم الخيار المحدد من خلال المتغير العام 'strResult ويمكن الحصول على نص الخيار المحدد من خلال المتغير العام 'يمكنك إستخدام أحدهما أو كلاهما بحيث تظهر هذه الثلاثة أسطر بعد صيغة الأمر وتراجعت عنها حتى لا يبقيها المستخدم العادي وكأنها جزء من الكود (يمكنكم الإطلاع على كود الحدث SetCode خلف النموذج frmCustomOptionsBuilder وستجدون أني قمت بتعليق الأسطر الثلاثة) بعد هذا التوضيح هل تعتقدون أن وجهة نظري كانت في محلها أم أني بالغت في الحذر ؟ فلو رأيتم أنه من الأفضل إضافة الأسطر الخاصة بعبارة Select Case فلا توجد مشكلة سأقوم بإضافتها فرأيكم سيكون هو الأفضل بالتأكيد وأنا كذلك كنت بصدد الرد ولكن بعد قرائتي لآخر سطر في ردك تراجعت عن الفكرة
  10. كان عندي نقطة واحدة لم أحسم قراري فيها ووددت لو تشاركني أنت وبقية الأعضاء في إتخاذ القرار بشأنها هل تعتقد أن عشرة خيارات كافية كحد أقصى أم تفضل لو كانت أكثر؟ وإذا كان كنت تفضل زيادتها فكم تقترح أن يكون؟
  11. شكراً أستاذ موسى دائماً ترفع مغنوياتي أولاً بتثبيتك لكل أداة أقوم برفعها وثانياً لردودك التي تجعلني أطمئن بأنها تعمل بنجاح أتمنى أن تكون وجدت إستخداماتها ذات فائدة لإستخدامها ضمن تطبيقاتك
  12. عندما تكون ملفات اكسس بالإمتداد mde أو accde فهذا يعني أنه قد تم تشفيرها وفقاً للبيئة التي تم تشفيرها فيها بالتالي إذا تم تشفيرها في بيئة 32 بت فلن تعمل إلا في بيئة 32 بت ونفس الشيئ لـ 64 بت . هذا يعتمد على نقطة مهمة هل التطبيق وهو بالإمتداد mdb أو accdb يعمل بدون مشاكل في كلا النواتين أم لا؟ فإذا كان يعمل بدون مشاكل فلن يكون هناك أي اكواد بحاجة للتعديل أما إذا كان يعمل في 32 بت ولم يعمل في 64 بت فغالباً ستكون المشكلة في دوال API وحل هذه المشكلة بسيط جدا إفتح محرر الأكواد ومن قائمة Debug --> Compile YourDatabaseName (طبعا سيظهر إسم التطبيق مكان الكلمة YourDatabaseName) وسيتوقف المؤشر عند أول دالة أو إجراء (وغالباً ستبدأ بالكلمة المفتاحية Declare وأحيانا قد تكون هذه الكلمة مسبوقة بكلمة Private أو Public) وسأوضح لك بمثال واقعي هذا المثال يحتوي على دالتين وإجراء API ستعمل في 32 بت فقط ولن تعمل في 64 بت Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long) Declare Function EnumFonts Lib "gdi32" Alias "EnumFontsA" (ByVal hDC As Long, ByVal lpsz As String, ByVal lpFontEnumProc As Long, ByVal lParam As Long) As Long Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long قمت بنسخها وذهبت لأداة الأخ موسى وقمت بالخطوات الموضحة بالأصفر تم تحديد خيار (توافق 32/64) ولصقت الكود الأصلي في الجزء الأيمن ثم النقر على زر (تشغيل المعالج) لتم تحويل الكود إلى هذا الشكل #If VBA7 Then Declare PtrSafe Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long) Declare PtrSafe Function EnumFonts Lib "gdi32" Alias "EnumFontsA" (ByVal hDC As LongPtr, ByVal lpsz As String, ByVal lpFontEnumProc As LongPtr, ByVal lParam As LongPtr) As Long Declare PtrSafe Function GetDC Lib "user32" (ByVal hWnd As LongPtr) As LongPtr #Else Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Any, ByVal ByteLen As Long) Declare Function EnumFonts Lib "gdi32" Alias "EnumFontsA" (ByVal hDC As Long, ByVal lpsz As String, ByVal lpFontEnumProc As Long, ByVal lParam As Long) As Long Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long #End If نقوم بإستبدال الثلاثة أسطر الأصلية بهذه النتيجة وبهذا نكون قد حصلنا على كود متوافق مع النواتين قم بتكرار العملية إلى أن يصبح خيار Compile YourDatabaseName غير مفعل كما بالصورة وعندما تجد أن كلمة Compile مع إسم التطبيق أصبح كما بالصورة يكون تطبيقك أصبح جاهز للعمل على النواتين بدون أي مشاكل عندما أقول يعمل على النواتين أقصد وهو بالإمتداد mdb أو accdb أما إذا كان بالإمتداد mde أو accde فإن البيئة التي سيعمل فيها هي نفس البيئة التي تم تشفيره فيها أرجو أن يكون الشرح واضح وإذا كان هناك أي إستفسار آو توضيح فتفضل وأسأل تحياتي
  13. لماذا لاتجرب أداة VBA Code Doctor المقدمة من الأخ @Moosak
  14. Version 1.0.0

    16 تنزيل

    من منا لم يواجه عند تصميم تطبيق ما لحالات تتوقف على إستجابة المستخدم لتوجيه سير العمل بإتجاه مختلف عن الآخر وأغلب هذه الحالات نستخدم فيها مربع الحوار MsgBox فنطلب منه مثلاً الرد بنعم أو لا أو موافق أو إلغاء الأمر .... إلخ حسناً ماذا لو واجهت حالات تتطلب أكثر من ثلاثة خيارات مثلاً وأريد أن تكون هذه الخيارات مكتوبة بشكل صريح فسيكون من الصعب إستخدام MsgBox فنحن سنكون محكومين بمسميات الأزرار الإفتراضية والتي قد لا تعبر عن المطلوب بطريقة صحيحة صحيح أنه يمكننا إستخدام أداة مربع حوار المهام TaskDialog لنحصل على النتيجة المطلوبة وأحسن ولكن قد يرى البعض أنه ليس بحاجة لإستخدامها لأي سبب من الأسباب وسيفضل أن يقوم بإنشاء نموذج مخصص لهذه الحالة فقط ... حسناً وماذا إذا إحتاج إلى قائمة خيارات أخرى؟ عندها سيضطر إلى إنشاء نموذج ثاني وثالث ... وهكذا لكل ما سبق أقدم لكم اليوم أداة أعتبرها من الأدوات المثيرة للإعجاب وذلك لأنها رغم بساطتها إلا أنها تقدم خدمة لاغنى عنها بل وتوفر علينا الكثير من الوقت والجهد ولبساطتها لم أحتاج إلى كتابة أي تعليمات لشرح طريقة عملها فكل ماهو مطلوب هو تعبئة بعض مربعات النص فقط ويمكن مشاهدة النتيجة مباشرة وعند الإنتهاء يتم النقر على زر النسخ ولصق الكود في أي حدث تريد ... هذا كل شيء ماعليك إلى أن تكمل التعليمات البرمجية المترتبة على نتيجة التحديد وكما تعودنا ستجدون في المرفقات ملفي أكسس الأول بإسم القالب ويحتوي على نموذجين ووحدة نمطية والحقيقة أنك لست بحاجة إلا إلى نموذج واحد إلى جانب الوحدة النمطية في النسخ النهائية (وهما ماستجدونهما في النسخة التوضيحية) أما نموذج منشئ صيغة أمر الإستدعاء فلن تحتاجه إلا خلال التطوير وهنا يجب علي أن أتقدم بألشكر للأخ العزيز @Foksh والذي دائماً ما يتحفنا بهدايا تقدم في ظاهرها وظائف رئيسية وفي باطنها تقدم وظائف أخرى فرعية أو مخفية لاتقل في أهميتها عن الوظيفة الأساسية التي تقدمها الأداة ومن ضمن هذه الهدايا المخفية كانت وظيفة تحويل أي تطبيق إلى وظيفة إضافية Add-in لذا فقد قمت بإستخدام الكود الخاص به لمنح إمكانية حفظ الأداة كوظيفة إضافية ليمكن للجميع الإستفادة من الإداة في جميع تطبيقات أكسس دون الحاجة إلى إستيراد نموذج منشئ صيغة أمر الإستدعاء ملف أكسس الآخر فهو بإسم (النسخة التوضيحية) وستجدون فيه بعض الأمثلة لطريقة الإستفادة من الأداة (أحد الأمثلة أعتبره هدية بحد ذاته) ملاحظة مهمة : أرجو قراءة التعليقات المرفقة بالكود الخاص بكل زر أمر لكل مثال فستجدون فيها توضيح لكل إجراء في الأخير أرجو أن تنال الأداة إعجابكم وأن تجدو فيها الفائدة في أعمالكم وإذا كان لدى أي أحد أي إستفسار أو ملاحظة فلا يبخل علينا بها تحياتي
  15. اعرض الملف أداة إنشاء مجموعات الخيارات المخصصة {سلسلة الأدوات المساعدة المخصصة} من منا لم يواجه عند تصميم تطبيق ما لحالات تتوقف على إستجابة المستخدم لتوجيه سير العمل بإتجاه مختلف عن الآخر وأغلب هذه الحالات نستخدم فيها مربع الحوار MsgBox فنطلب منه مثلاً الرد بنعم أو لا أو موافق أو إلغاء الأمر .... إلخ حسناً ماذا لو واجهت حالات تتطلب أكثر من ثلاثة خيارات مثلاً وأريد أن تكون هذه الخيارات مكتوبة بشكل صريح فسيكون من الصعب إستخدام MsgBox فنحن سنكون محكومين بمسميات الأزرار الإفتراضية والتي قد لا تعبر عن المطلوب بطريقة صحيحة صحيح أنه يمكننا إستخدام أداة مربع حوار المهام TaskDialog لنحصل على النتيجة المطلوبة وأحسن ولكن قد يرى البعض أنه ليس بحاجة لإستخدامها لأي سبب من الأسباب وسيفضل أن يقوم بإنشاء نموذج مخصص لهذه الحالة فقط ... حسناً وماذا إذا إحتاج إلى قائمة خيارات أخرى؟ عندها سيضطر إلى إنشاء نموذج ثاني وثالث ... وهكذا لكل ما سبق أقدم لكم اليوم أداة أعتبرها من الأدوات المثيرة للإعجاب وذلك لأنها رغم بساطتها إلا أنها تقدم خدمة لاغنى عنها بل وتوفر علينا الكثير من الوقت والجهد ولبساطتها لم أحتاج إلى كتابة أي تعليمات لشرح طريقة عملها فكل ماهو مطلوب هو تعبئة بعض مربعات النص فقط ويمكن مشاهدة النتيجة مباشرة وعند الإنتهاء يتم النقر على زر النسخ ولصق الكود في أي حدث تريد ... هذا كل شيء ماعليك إلى أن تكمل التعليمات البرمجية المترتبة على نتيجة التحديد وكما تعودنا ستجدون في المرفقات ملفي أكسس الأول بإسم القالب ويحتوي على نموذجين ووحدة نمطية والحقيقة أنك لست بحاجة إلا إلى نموذج واحد إلى جانب الوحدة النمطية في النسخ النهائية (وهما ماستجدونهما في النسخة التوضيحية) أما نموذج منشئ صيغة أمر الإستدعاء فلن تحتاجه إلا خلال التطوير وهنا يجب علي أن أتقدم بألشكر للأخ العزيز @Foksh والذي دائماً ما يتحفنا بهدايا تقدم في ظاهرها وظائف رئيسية وفي باطنها تقدم وظائف أخرى فرعية أو مخفية لاتقل في أهميتها عن الوظيفة الأساسية التي تقدمها الأداة ومن ضمن هذه الهدايا المخفية كانت وظيفة تحويل أي تطبيق إلى وظيفة إضافية Add-in لذا فقد قمت بإستخدام الكود الخاص به لمنح إمكانية حفظ الأداة كوظيفة إضافية ليمكن للجميع الإستفادة من الإداة في جميع تطبيقات أكسس دون الحاجة إلى إستيراد نموذج منشئ صيغة أمر الإستدعاء ملف أكسس الآخر فهو بإسم (النسخة التوضيحية) وستجدون فيه بعض الأمثلة لطريقة الإستفادة من الأداة (أحد الأمثلة أعتبره هدية بحد ذاته) ملاحظة مهمة : أرجو قراءة التعليقات المرفقة بالكود الخاص بكل زر أمر لكل مثال فستجدون فيها توضيح لكل إجراء في الأخير أرجو أن تنال الأداة إعجابكم وأن تجدو فيها الفائدة في أعمالكم وإذا كان لدى أي أحد أي إستفسار أو ملاحظة فلا يبخل علينا بها تحياتي صاحب الملف منتصر الانسي تمت الاضافه 09/01/26 الاقسام قسم الأكسيس  
×
×
  • اضف...

Important Information