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

نجوم المشاركات

  1. أبوأحـمـد

    أبوأحـمـد

    03 عضو مميز


    • نقاط

      3

    • Posts

      347


  2. AbuuAhmed

    AbuuAhmed

    الخبراء


    • نقاط

      2

    • Posts

      976


  3. أبوعيد

    أبوعيد

    الخبراء


    • نقاط

      1

    • Posts

      1,540


  4. شايب

    شايب

    03 عضو مميز


    • نقاط

      1

    • Posts

      312


Popular Content

Showing content with the highest reputation on 02 أغس, 2023 in all areas

  1. سوف اساعدك في تحسين تصميم البرنامج بشرط ان يكون تعديلي او المثال المعدل هو اساس برنامجك بمعنى انك تعتمد جميع التعديلات التي سوف اجريها ، خاصة في الجداول والنماذج الفرعية
    1 point
  2. هل هذا ما تريد ؟ انظر الى المرفق ولتوضويح ما تم قمت بعمل حدث للقائمة بعد التحديث If C = "08سا-10سا" Then dim1.ControlSource = "dim_w_8" dimA.ControlSource = "dim_m_8" lun1.ControlSource = "lun_w_8" lunA.ControlSource = "lun_m_8" mar1.ControlSource = "mar_w_8" marA.ControlSource = "mar_m_8" mer1.ControlSource = "mer_w_8" merA.ControlSource = "mer_m_8" jeu1.ControlSource = "jeu_w_8" jeuA.ControlSource = "jeu_m_8" Else dim1.ControlSource = "dim_w_10" dimA.ControlSource = "dim_m_10" lun1.ControlSource = "lun_w_10" lunA.ControlSource = "lun_m_10" mar1.ControlSource = "mar_w_10" marA.ControlSource = "mar_m_10" mer1.ControlSource = "mer_w_10" merA.ControlSource = "mer_m_10" jeu1.ControlSource = "jeu_w_10" jeuA.ControlSource = "jeu_m_10" End If خلاص كده ^_^ لا تنسي افضل اجابه ^_^ BASE.rar
    1 point
  3. فكرة ممتازة للاختصار وتسهل عملية التتبع والتعديل. للعلم المثال في ما يخص التصفية/الفلترة مصمم من السابق وأنا فقط أضفت عليه خيار البحث عند التحديث دون "العبث" في المعايير السابقة. أحيانا من الصعب أن تبدل القناعات، فأنا ممن يكرهون المناذج الستمرة وأراها تعيق كيثرا من سرعة العمل ولكن يحبها من يحب للتحكم في الألوان والأشكال والتي لا تتوفر في صفحة البيانات/data sheet والتي كذلك لا تعنيني في شيء.
    1 point
  4. في المثال الاساسي يوجد خلل وكذلك في تعديلكم استاذ قاسم جرب تفلتر اسم من مقطعين اي بينهما مسافة مثلا ستجد المشكلة طبعا الحل متوفر انظر مشاركة استاذنا ابو احمد وتوجد طريقة اخرى في حدث عند مفتاح اعلى ايضا تكرار المعايير ليست خطأ ولكن بمكن اختصارها بامر واحد بدلا من Me.Form.Filter = "[QryPaids]![FATHER_NAME] LIKE '*" & filterText & "*' OR [QryPaids]![NUM_PAID] LIKE '*" & filterText & "*'" ممكن نكتب الامر هكذا strWhere = "[FATHER_NAME]&[NUM_PAID] like '*" & strtxt & "*'" وممكن نزيد الحقول لاي عدد بدون الحاجة لتكرار like و or هنا نبحث في اربعة حقول بمربع نص واحد strWhere = "[FATHER_NAME]&[NUM_PAID]&[DATE_PAID]&[INSTALLMENTS] like '*" & strtxt & "*'" وفي هذه الطريقة اضافة للبحث والفلترة المعروفة يمكن تقسيم البحث على الحقول مثلا نبحث عن احمد الذي يعمل في ادارة وباشر العمل بتاريخ ويكون البحث باستخدام "*" بالشكل التالي احمد*المالية*12/1/2018 و الحديث قد يطول ولكن نترك الامر للاساتذة الكرام فاهل مكة ادرى بشعابها اخير يعتقد اخونا شايب ان الفلترة اثناء الكتابة خيار غير جيد اذا كانت القاعدة تحتوي على عدد كبير من السجلات او اذا عملنا عن طريق الشبكة واعتذر عن وضع مرفق فمشاركتي تهتم بالجانب النظري اضافة لعدم اقتناعي بفكرة الفلترة عند التغيير اخونا شايب 🌹
    1 point
  5. اشكرك استاذى وبارك الله فيك ورزقك الصحة والعافية وطول العمر
    1 point
  6. جرب هذا المثال تم تبديل المرفق بسبب هفوة صغيرة 🙂 Aziz5_05.accdb
    1 point
  7. جرب هذا مع تعديل المكان المطلوب <><><><><><> Dim Source As String Dim Target As String Dim retval As Integer Source = CurrentDb.Name ' عدل هذا حسب المكان المطلوب C:\Users\Documents ' عدل هذا حسب اسم الملف FileName Target = "C:\Users\Documents\FileName" Target = Target & Format(Date, "dd-mm") & " " Target = Target & Format(Time, "hh-mm") & ".accdb" ' create the backup retval = 0 Dim objFSO As Object Set objFSO = CreateObject("Scripting.FileSystemObject") retval = objFSO.CopyFile(Source, Target, True) Set objFSO = Nothing
    1 point
  8. ضع هذا الكود قبل رسالة تم الترحيل 'نقل الرصيد الحالي من الجدول2 ' إلى رصيد سابق في الجدول1 Dim i As Integer For i = 3 To 10 wk.Range("c" & i) = wk.Range("AB" & i) Next ''''''''''''''''''''''''''
    1 point
  9. اخي العزيز @ابو عبد الرحمن اشرف اي استعلام حذف او الحاق تأتيك رسالة تنبيه من اكسس..وهذه الرسائل تعتبر مزعجة ولهذا يتم ايقافها قبل الاجراء..ثم تفعيلها بعد الاجراء
    1 point
  10. لأنك لم تطلب وتوضح ذلك test2024.xlsb
    1 point
  11. السلام عليكم ورحمة الله وبركاته بعد البحث والتقصي والتجربة الناجحة أحمل لكم في طيات هذه المشاركة ما قمت به من التجارب حول الموضوع أعلاه طبعا الفكرة الموجودة في رابط الفيديو أعلاه فكرة ممتازة وتفي بالغرض ولكن شغفي بالبرمجة حملني إلى أن توصلت لفكرة جميلة وهي خاتمة أعمال البحث والتقصي التي قمت بها خطوات البحث : 1 قمت بالاطلاع على عدة مشاريع لنشر نتيجة الطلاب على النت ولكن بعضها يحتاج لخبرة في بعض البرامج ( مثل برنامج الفلاش ) وخبرتي في الفلاش تكاد تكون معدومة 2 قرأت عن موقع كاسبيو وهو موقع يخدم التعليم ويقول بنشر النتائج ولكن لم تعجبني الفكرة كون الموقع يحتاج لتسجيل حساب لديهم لوضع بيانات مدرستي على موقعهم 3 قمت بعمل مشروع على قوقل شيت للتجربة ولكن عند نشره على النت فإن كل ولي أمر يريد الدخول على قوقل شيت فإنه لابد أن يحمل أولا تطبيق قوقل شيت من المتجر , وفكرة تحميل التطبيق لكل شخص يريد الدخول فكرة جعلتني أعدل عن قراري , أريد طريقة أسهل من ذلك 4 قمت بعمل مشروع على قوقل داتا استوديو وهو برنامج مجاني لتوفره شركة قوقل لمستخدميها وحازت الفكرة نجاحا منقطع النظير , حيث يتم الدخول على البرنامج عن دريق حسابي يعني بعد ما انتهيت من عمل المشروع قمت بنشر الرابط على السوشيال ميديا , فكل ولي أمر يضغط على الرابط يتم دخوله إلى المشروع , وأحيانا أكون فاتح صفحة المشروع وألاحظ عدد الأشخاص الذين يستخدمون المشروع (يكتبون كلمة المرور ويحصلون على نتائج أبنائهم ) 5 الخطوة الأخيرة وهي الفكرة الجميلة في طريقة نشر النتائج كل الطرق أعلاه ( 1 - 4 ) تقوم على فكرة أن ولي امر الطالب هو الذي يأتي ليأخذ نتيجة ابنه من النت طيب نفرض أن ولي الأمر مشغول , أو لا يعرف كيفية الدخول أو واجه مشكلة هنا خطرت لي فكرة جميلة وهو إرسال نتائج الطلاب إلى أولياء الأمور طيب إرسلها بأي برنامج ؟ أرسلها من الجوال إلى أولياء الأمور عن طريق برنامج الواتساب يعني لابد أن ولي الأمر يكون عنده رقم واتساب وإلا ستفشل التجربة طيب تخيل معي : مدرسة بها 800 طالب مثلا , فهذه الطريقة ستجعلني أرسل 800 رسالة واتساب لنفرض أني قمت بإرسال كل هذه الرسائل من جوالي إلى أولياء الأمور , وكل ولي أمر قام بالرد على رسالتي هذا يعني أني سأفتح جوالي في اليوم التالي وأنصدم بوجود 800 رسالة من 800 إيقونة !!!!!!!!! بالطبع لا أستطيع فتح كل هذا الكم من الرسائل , طيب ما الحل ؟ الحل هو أن نجعل كل معلم مرشد صف ( أو مشرف ) يرسل من جواله نتائج طلابه لأولياء الأمور ( المعلم المشرف ) هو المسؤول عن الصف من الناحية الإدارية يعني أن كل مشرف سيرسل من جواله عدد لا يتجاوز 35 رسالة , وهو عدد طلاب صفه لاحظ الخط الذي تحت كلمة ( سيرسل ) يعني أن المشرف سيرسل الرسالة فقط ولن يكتبها !!!!!! فليس من المعقول أن يكتب المشرف كل هذا الكم من الرسائل يدويا لأن كل رسالة فيها بيانات طالب تختلف عن الرسالة الأخرى , وهنا يأتي دور الأكسل Excel وبهذا الشكل نكون قد تغلبنا على مشكلة 800 رسالة يتوزيعها على المعلمين نقبلوا تحياتي
    1 point
  12. الســــلام عليكم يمكن استدعاء تقريبا كافة معادلات الاكسيل فى ال VBA باستخدام الامر Application.Worksheetfunction وهو ما فعلتة حضرتك واستدعيت الدالة SUMIF ولكن MAXIF و MINIF ليست ضمن معادلات الاكسيل وانما تم مزج IF مع MAX فى معادلة صفيف CTRL+SHIFT + ENTER لايجاد اكبر قيمة بشرط ... وكذلك الحال فى MINIF لهذا لاحظ ما يلى يلاحظ عند استخدام Evaluate تم قراءة المحتوى ما بين ال " " اى ال 1+1 كمعادلة وتم ارجاع الناتج على خلاف FORMULA التى نسخت المعادلة الى الخلية وسنستخدم Evaluate فى تنفيذ MAXIF و MINIF Range("D7").Value = Evaluate("=MAX(IF(D10:D13=B11,$E10:$E13))") Range("D15").Value = Evaluate("=Min(if(D10:D13=B11,E10:E13))") لاحظ كيف تم كتابة المعادلة بدون استخدام وسائط الاشارةالى النطاقات فى ال VBA ك RANGE او ... فقط تم كتابة المعادلة وكانها تكتب على ورقة العمل ما بين (" ") ولكن كيف سيعرف الاكسيل صفحة العمل التى تحوى تلك النطاقات فقط لاحظ ما يلى Range("D7").Value = Worksheets(" ورقة1 ").Evaluate("=MAX(IF(D10:D13=B11,$E10:$E13))") Range("D15").Value = Worksheets(" ورقة 1 ").Evaluate("=Min(if(D10:D13=B11,E10:E13))") اليك المرفق دالة MAXIF -MINIF.rar
    1 point
×
×
  • اضف...

Important Information