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

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

  1. أبوبسمله

    أبوبسمله

    الخبراء


    • نقاط

      20

    • Posts

      3463


  2. محمد أبوعبدالله

    • نقاط

      18

    • Posts

      1998


  3. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      17

    • Posts

      9936


  4. kha9009lid

    kha9009lid

    الخبراء


    • نقاط

      12

    • Posts

      1347


Popular Content

Showing content with the highest reputation on 04/03/20 in all areas

  1. السلام عليكم ورحمة الله وبركاته أهديكم برنامج لقراءة حركات الكلمة أي قراءة تشكيل الحروف . مثلاً كلمة ( الرَّحْمَنِ ) يقرأ البرنامج حركاتها هكذا ( شدة ، فتحة ، الصفر المستدير ، فتحة ، كسرة ) ولا أخفيكم أن أحد الأخوة الزملاء المهتمين بالقرآن الكريم في منتدانا الحبيب طلب مني ذلك على الخاص فأردت أن شارككم . البرنامج قابل للتطوير إن وجد أخطاء . ولا تنسونا من دعائكم ،، Read_HarakatV20_1.zip
    5 points
  2. جزاكم الله خيرا اخوانى واساتذتى @ابو البشر و @محمد ابوعبد الله ومنورين المنتدى بالتوفيق اخوانى
    3 points
  3. وعليكم السلام ورحمة الله وبركاته قبل اضافة الحقول الى النموذج تحتاج الى ضبط الجداول وعمل علاقات فيما بينها بطريقة صحيحة مثال سريع ومختصر للفكرة جدول الاباء : كود الاب + اسم الاب جدول الابناء : كود الابن + اسم الابن + كود الاب ( حقل غريب ) جدول الاحفاد : كود الحفيد + اسم الحفيد + كود الابن ( حقل غريب ) بعد تصميم الجداول بهذه الطريقة نقوم بعمل علاقات فيما بينها كود الاب في جدول الاباء مع كود الاب في جدول الابناء ( علاقة رأس باطراف ) كود الابن في جدول الابناء مع كود الابن في جدول الاحفاد ( علاقة رأس باطراف ) بهذه الطريقة يمكن وضع الحقول التي احتاجها في النموذج بدون مشاكل باذن الله تحياتي
    3 points
  4. وعلكيم السلام ورحمة الله وبركاته برجاء مراجعة المرفق الاستعلام kan3 ارجو ان يكون هو المطلوب K_1_3.rar تحياتي
    3 points
  5. اخي الفاضل محمد انا كان ردي على كود الاستاذ جعفر Dim myWhere As String myWhere = "login='" & Me.Texte1 & "'" myWhere = myWhere & " and" '<اهم شيء هو ترك مسافة في البداية قبل and myWhere = myWhere & " passe='" & Me.Texte3 & "'" '<اهم شيء هو ترك مسافة في البداية قبل passe Debug.Print myWhere If DCount("*", "test1", myWhere) = 0 Then MsgBox "????" Else DoCmd.OpenForm "test2", acNormal DoCmd.Close acForm, Me.Name, acSaveNo End If ولم اجرب التعديلات الاخيرة في رد الاستاذ جعفر لكونك وجدت ان الحل مناسب لك وهذا هو المطلوب اما بخصوص الرد الاخير للاستاذ جعفر فهوا الحل المناسب Dim u, p As String u = Replace(Me.Texte1, "'", "_") p = Replace(Me.Texte3, "'", "_") تقبل من اخيك اطيب ايات التقدير والاحترام
    3 points
  6. الحمد لله ان الحل نفع معك علما باني قد تجاوزنة بالامر a' or 't'='t واعدت المحاولة بزيادة المسافة وايضا تم تجاوز كلمة المرور
    3 points
  7. هذة ثغرة للاستعلامات البنيوية تمكن مستخدمها من الدخول على قواعد البيانات في حالات معينة وخطرها ليس فقط بامكانية تسجيل الدخول وانما يمكن تنفيذ اوامر sql مثل DROP TABLE وغيرها من الاوامر يتم الدخول باستخدام a' or 't'='t ' or '1'='1 ' or 1='1 هل هي مقتصرة على قواعد البيانات الحقيقة يمكن استخدامها مع تطبيقات php التي تستخدم قواعد البيانات ولكن التوسع في مثل هذه الامور اجده غير نافع في حالتك اخي جرب في كودك الاصلي ان تغيير تنسيق حقل الباس الى رقم عام ستجد ان الثغرة لن تعمل مع ذلك من الافضل ان تستخدم الكود الذي وضعه الاستاذ الفاضل @jjafferr If DCount("*", "test1", "login='" & Me.Texte1 & "'" & " and passe='" & Me.Texte3 & "'") > 0 Then MsgBox "????" Else DoCmd.OpenForm "test2", acNormal DoCmd.Close acForm, Me.Name, acSaveNo End If هذا والله اعلم
    3 points
  8. وعليكم السلام 🙂 انا ما فهمت السؤال ، ولكن وجدت خطأ في الكود 🙂 وعلشان تعرف وين الخطأ ، دائما استعين بـ Debug.print ، وفي حالتك : Debug.Print "login='" & Me.Texte1 & "'" & "and passe='" & Me.Texte3 & "'" والنتيجة login='mmm'and passe='bb' . وتلاحظ انه ما في مسافة قبل and لهذا السبب ، الكود بعد التعديل يصير : Dim rs As dao.Recordset Set rs = CurrentDb.OpenRecordset("select * from test1", dbOpenDynaset) ' If Not rs.EOF Then rs.MoveFirst Debug.Print "login='" & Me.Texte1 & "'" & " and passe='" & Me.Texte3 & "'" rs.FindFirst ("login='" & Me.Texte1 & "'" & " and passe='" & Me.Texte3 & "'") If rs.NoMatch = True Then MsgBox "????" Else DoCmd.OpenForm "test2", acNormal DoCmd.Close acForm, Me.Name, acSaveNo End If rs.close Set rs = Nothing . وتستطيع ان تستعمل كود اخف : If DCount("*", "test1", "login='" & Me.Texte1 & "'" & " and passe='" & Me.Texte3 & "'") > 0 Then MsgBox "????" Else DoCmd.OpenForm "test2", acNormal DoCmd.Close acForm, Me.Name, acSaveNo End If . ولكن هذين الكودين يعتمدون على المعيار ، لذلك اعطيك طريقتي في عمل المعيار ، واللي يسهل عليك : . فيكون الكود في حالتك : Dim myWhere As String myWhere = "login='" & Me.Texte1 & "'" myWhere = myWhere & " and" '<اهم شيء هو ترك مسافة في البداية قبل and myWhere = myWhere & " passe='" & Me.Texte3 & "'" '<اهم شيء هو ترك مسافة في البداية قبل passe rs.FindFirst myWhere او If DCount("*", "test1", myWhere) > 0 Then جعفر
    3 points
  9. استاذنا الفاضل @ابا جودى ليست المشكلة في استخدام Long Integer ولكن المشكلة انه استخدم Long Integer لعدد كبير جدا من الحقول مع عدم وجود داعي لذلك وهذا سؤثر سلباً على قاعدة البيانات وعلى حجمها فتنسيق Long Integer يحجز في الذاكرة 2,147,483,648 2,147,483,647 وهو سوف يسجل درجات مواد وهو بحاجة اقصى الى 6 او 7 ارقام فقط والله اعلم تحياتي
    2 points
  10. اخي الكريم انت تسخدم لدرجات المواد Long Integer وهذا غير صحيح ما رأيك باستبداله كما في الصورة تحياتي
    2 points
  11. Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer) تحياتي
    2 points
  12. ملاحطة أخي الكريم ....... ماذا لو تساوت مدرستان في عدد الطلاب والنسبة ...... المفرض هناك اول واول مكرر مثلا وهكذا .....
    2 points
  13. استغفر االه انت معلمنا ونحن مجرد طلاب علم وقد وعدت سابقا بان اشرح كود الوارد اولا صادر اولا وهذا جزء من ذاك الكود لذا اسمحلي ان افتح موضوع جديد لشرح كود الوارد اولا صادر اولا او اخيرا ولان جهاز الكمبيوتر لدي بطيء بعض الشيء ولكي لا بفصل النت ويضيع ما اكتب ساكتب بعدة مشاركات ان شاء الله
    2 points
  14. يمكننا بهذه الطريقة التغلب على هذه الحركات في اسم المستخدم او كلمة السر ، بحيث نستبدل اشارة ' بـ _ ونقارن الكلمات بالجدول : Dim u, p As String u = Replace(Me.Texte1, "'", "_") p = Replace(Me.Texte3, "'", "_") والآن جربها على اي من الطرق التي اقترحتها : Dim rs As dao.Recordset Dim u, p As String u = Replace(Me.Texte1, "'", "_") p = Replace(Me.Texte3, "'", "_") ' Set rs = CurrentDb.OpenRecordset("select * from test1", dbOpenDynaset) ' If Not rs.EOF Then rs.MoveFirst ' Debug.Print "login='" & u & "'" & " and passe='" & p & "'" ' rs.FindFirst ("login='" & u & "'" & " and passe='" & p & "'") ' If rs.NoMatch = True Then ' MsgBox "????" ' Else ' DoCmd.OpenForm "test2", acNormal ' DoCmd.Close acForm, Me.Name, acSaveNo ' End If ' ' Set rs = Nothing ' If DCount("*", "test1", "login='" & u & "'" & " and passe='" & p & "'") = 0 Then ' MsgBox "????" ' Else ' DoCmd.OpenForm "test2", acNormal ' DoCmd.Close acForm, Me.Name, acSaveNo ' End If Dim myWhere As String myWhere = "login='" & u & "'" myWhere = myWhere & " and" '<اهم شيء هو ترك مسافة في البداية قبل and myWhere = myWhere & " passe='" & p & "'" '<اهم شيء هو ترك مسافة في البداية قبل passe Debug.Print myWhere ' rs.FindFirst myWhere ' ' او If DCount("*", "test1", myWhere) = 0 Then MsgBox "????" Else DoCmd.OpenForm "test2", acNormal DoCmd.Close acForm, Me.Name, acSaveNo End If . جعفر
    2 points
  15. مرحبا اخي جعفر يمكن تجاوز كلمة المرور الافضلاستخدام كودك التالي If DCount("*", "test1", "login='" & Me.Texte1 & "'" & " and passe='" & Me.Texte3 & "'") > 0 Then MsgBox "????" Else DoCmd.OpenForm "test2", acNormal DoCmd.Close acForm, Me.Name, acSaveNo End If
    2 points
  16. شكرا جزيلا اخوي خالد 🙂 يا ريت اخوي محمد (rey360) اعطيتنا هذه التفاصيل من البداية 🙂 على العموم ، انا ارفقت لك هذا الكود في مشاركاتي السابقة ، فرجاء تجربه : Dim myWhere As String myWhere = "login='" & Me.Texte1 & "'" myWhere = myWhere & " and" '<اهم شيء هو ترك مسافة في البداية قبل and myWhere = myWhere & " passe='" & Me.Texte3 & "'" '<اهم شيء هو ترك مسافة في البداية قبل passe Debug.Print myWhere If DCount("*", "test1", myWhere) = 0 Then MsgBox "????" Else DoCmd.OpenForm "test2", acNormal DoCmd.Close acForm, Me.Name, acSaveNo End If جعفر
    2 points
  17. منور اخى محمد @حلبي وعافانا الله واياكم وجميع المسلمين ان شاء الله برحمته جزاهم الله خيرا اخوانى واساتذتى
    2 points
  18. انشاء الاستعلام وقت الحاجة بالكود وحذفه بعد الانتهاء من عمله بالكود كذلك قطعا افضل ولكن التعديل بتلك الطريقه لن يكون يسيرا على الجميع ان امكن ذلك فبها ونعم
    2 points
  19. السلام عليكم احببت ان اخدمك واستخدمت طريقة التكلفة في اعمار الذمم وكانت النتيجة 24000سجل في اقل من ثواني معدودة طلعت النتيجة https://drive.google.com/file/d/1HWuQXyYFpT2KXRGS2dYlYhFRIbFUm53Z/view?usp=sharing السلام عليكم احببت ان اخدمك واستخدمت طريقة التكلفة في اعمار الذمم وكانت النتيجة 24000سجل في اقل من ثواني معدودة طلعت النتيجة https://drive.google.com/file/d/1HWuQXyYFpT2KXRGS2dYlYhFRIbFUm53Z/view?usp=sharing
    2 points
  20. شكرا جزيلا 🙂 انا ارد على السؤال اثناء تناول الغداء ، فمعذور فالمعادلة الصحيحة تكون : If DCount("*", "test1", "login='" & Me.Texte1 & "'" & " and passe='" & Me.Texte3 & "'") = 0 Then جعفر
    2 points
  21. الكثير من العادلات تقوم بهذا الشيء بالاضافة الى ما ذكره الأخ الرائد 77 هذا المعادلة (Ctrl+Shift+Enter) =SUM(IF(LEN(F6:F16)<>0,1,0)) واذا لم تعمل معك استبدل الفاصلة بفاصلة منقوطة لتبدو هكذا =SUM(IF(LEN(F6:F16)<>0;1;0))
    2 points
  22. أستاذ جعفر أعتقد هذا السطر يساوي 0 و ليس أكبر من 0
    2 points
  23. تفضل =COUNTA(F6:F16)-COUNTIF(F6:F16;"") و اذا اردت الخلايا التي تحتوي على قيم نصية فقط =COUNTIF(F6:F16;"?*") ورقة عمل Microsoft Excel جديد __.xlsx
    2 points
  24. السلام عليكم مشاركة مع استاذنا ابا جودى اتفضل اخي اتمنى يكون المطلوب تحياتي الحاق مشروط.rar
    2 points
  25. اتفضل يا دكتور🌹 الحاق مشروط - 2.accdb
    2 points
  26. تفضل Private Sub Form_Error(DataErr As Integer, Response As Integer) If DataErr = 2113 Then Response = acDataErrContinue me.undo msgbox "ادخل البطاقة مرة اخرى" me.ID.setfocus End If End Sub . ولكني لازلت اقول بأنه ممكن فيه طريقة افضل من هذه ، تلك التي يتسلسل فيها دخول البيانات من البطاقة !! لأنك بهذه الطريقة تضطر تصيد الاخطاء واحدة خلف الاخرى وووو ، بينما مثلا : لما تُدخل البطاقة في الجهاز ، يجب ان يكون التركيز على حقل رقم البطاقة ، وآخر حقل يتم ادخاله هو تاريخ الانتهاء ، ومنها ينتقل التركيز للحقل التالي ، هنا ، وعلى حدث "بعد التحديث" للحقل تاريخ الانتهاء ، يمكنك ان تظهر رسالة: هل تريد حفظ البيانات ، نعم ، لا : Dim Msg, Style, Title, Response Msg = "هل تريد حفظ البيانات ?" & vbcrlf & _ "نعم: احفظ البيانات" & vbcrlf & _ "لا : لا تحفظ البيانات" Style = vbYesNo + vbCritical + vbDefaultButton1 ' Define buttons. Title = "تم ادخال البيانات، ولكنها لم تُحفظ بعد" ' Define title. ' context. ' Display message. Response = MsgBox(Msg, Style, Title) If Response = vbYes Then ' User chose Yes. docmd.runcommand accmdsaverecord ' احفظ السجل me.id.setfocus 'وانتقل الى حقل ID مرة اخرى استعدادا لإدخال بيانات بطاقة جديدة Else ' User chose No. me.undo ' Perform some action. me.id.setfocus 'وانتقل الى حقل ID مرة اخرى استعدادا لإدخال بيانات بطاقة جديدة End If . الميزة في ظهور الرسالة هو ، انه لا يسمح لك عمل اي شيء آخر في السجل ، إلا بعد ان تستجيب للرسالة ، مما يسهل عليك ولا تحتاج الى بقية الكود ولا ولا 🙂 Private Sub Form_Error(DataErr As Integer, Response As Integer) Dim x As Integer x = DataErr If x > 0 Then ' Response = acDataErrContinue 'ÞÏ áÇ ÊÍÊÇÌ Çáì åÐÇ ÇáÓØÑ Me.Undo End If End Sub هو بمثابة هذا الكود لأن تقريبا جميع الاخطاء ارقامها موجبه Private Sub Form_Error(DataErr As Integer, Response As Integer) Response = acDataErrContinue Me.Undo End Sub جعفر
    2 points
  27. أجذر من كذبة نيسان البيضاء في هذا الملف Poisson D'April.xlsm
    1 point
  28. 1 point
  29. تفضل اخي الكريم زرالحاقي.rar تحياتي
    1 point
  30. السلام عليكم مشاركة مع أخي عبد القدوس اطلع على هذا الرابط قد تستفيد منه
    1 point
  31. وعليكم السلام ورحمة الله وبركاته بهذا الشكل !!! ماذا الفائدة التي تريدها اقصد انك في التعليمات البرمجيو لا بد ان تحدد ما تريده بالضبط مثال للتوضيح if Me.ID.Value=4 then لون الحقل بلون احمر else اتركه كما هو end if برجاء توضيح المطلوب اكثر مع مثال للتوضيح اكثر تحياتي
    1 point
  32. حتى النت الارضى الان فى وقت الحظر كل النت بيتقل مصر والعالم كله عالنت ههههههههههههههه ربنا يعدى الايام دى على خير وعفانا الله واياكم ان شاء الله وجميع المسلمين ان شاء الله
    1 point
  33. وعليكم السلام ورحمه الله وبركاته واياكم ان شاء الله ولم افعل شىء وما انا الا سوى طالب علم فى مدرسه اوفيسنا وانتم اساتذتى جزاكم الله خيرا على كل ما تقدمونه فى سبيل التعلم ومساعده جميع الاخوان تعبك راحه اخى واستاذى محمد والحمد لله الذى بنعمته تتم الصالحات وان من الله عليك بالحل اللذى اراحك هل اطلعت على المرفق الاخير اخى محمد؟
    1 point
  34. استاذي ومعلمى المهندس / محمد عصام جزاكم الله خيرا على تلك المعلومة اخى الفاضل واستاذنا / @أحمد الفلاحجى والله والله والله والله انت اللى منور المنتدى والدنيا كلها وكثيرا ما تنور الغرفة التى اجلس بها ايضا ربنا يجزاك حسن الاخرة على ما تقدمه للاخرين
    1 point
  35. انا اسف ع التاخير كنت اصلى العصر اتفضل النتيجة اللى توصلت ليها اسم الاستعلام QryCollectData Qs For Weight (UP).mdb
    1 point
  36. تقريبا نفس الموضوع بس ناتج للاسم المشار اليه سابقا والنوع طالع 4500.05 وليس 4,550
    1 point
  37. اممممممممممممممم ساشرب فنجان قهوه واحاول مره اخرى ان شاء الله والله المستعان ولعل معلمنا العزيز @jjafferr يشاركنا
    1 point
  38. واياكم اخى واستاذى محمد فى انتظارك
    1 point
  39. السلام عليكم إذا كنت تقصد بالتنسيق: "تأطير/إلغاء تأطير" الخلايا" فالحل في الملف المرفق... بن علية حاجي ورقة عمل Microsoft Excel جديد __.xlsx
    1 point
  40. الف شكر للاستاذ jjafferr والف شكر للاستاذ أحمد الفلاحجى جزاكم الله خيرا
    1 point
  41. وعليكم السلام-لك ما طلبت فقط عليك لجعل المعادلة هكذا طالما تريد نطاق الجدول =SUMIFS(تحليل!$C:$C,تحليل!$E:$E,$B3,تحليل!$F:$F,C$2) Sumifs.xlsx
    1 point
  42. الحلقة السابعة: التعامل مع الأحداث في صفحة ويب بعد إنقطاع طويل نعود لإكمال هذه السلسلة من الدروس بإذن الله. سوف نتطرق في هذا الدرس لأهم الأحداث التي نحتاجها مع أداة WebBrowser كما هو معلوم أنه عندما ندخل على خصائص أحد الكائنات بالتحديد على تبويب الأحداث تظهر لنا جميع أحداث هذا الكائن. لكن بالنسبة لأداة ويب براوز ليست كل الأحداث موجود في الخصائص. كما أنه توجد العديد من الأحداث لم تعمل معي هذا حسب تجربتي الخاصة. 1- حدث عند إنتهاء تحميل الصفحة: نقوم بإضافة هذا الحدث في محرر الفجوال بسيك مع تغيير اسم أداة التصفح عندك. ونضيف له الكود الذي نريد تنفيذه مع هذا الحدث. Private Sub WebBrowser3_DocumentComplete(ByVal pDisp As Object, URL As Variant) MsgBox "complete" End Sub نضغط على زر تصفح في النموذج عند الإنتهاء من تحميل الصفحة تظهر لنا رسالة complete 2- حدث قبل التصفح: الكود في الحدث التالي يقوم بعرض رابط الصفحة التي سوف ننتقل إليها. Private Sub WebBrowser3_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean) MsgBox URL End Sub 3- حدث فتح نافذة تصفح جديدة: يظهر هذا الحدث عند فتح صفحة ويب في نافذة جديدة. و الخاصية المسؤولة عن فتح نافذة جديدة هي target عندما تكون تساوي _blank معناه فتح الرابط في نافذة جديدة و عندما تساوي هذه الخاصية _self معناه افتح الرابط في نفس الصفحة و هناك قيم آخرى لهذه الخاصية. سوف نطبق هذا الحدث على صفحة أوفيسنا نضغط على زر فتح أوفيسنا و بعد ظهور الصفحة نضغط على زر البحث search تظهر لنا رسالة "نافذة جديدة". Private Sub WebBrowser3_NewWindow2(ppDisp As Object, Cancel As Boolean) MsgBox "نافذة جديدة" End Sub webbroser.accdb
    1 point
  43. الشكر لله ثم لاخواننا واساتذتنا جزاهم الله خيرا بالتوفيق اخى حسين ونادينى باخى فلست سوى طالب علم مبتدىء بارك الله فيك اخى
    1 point
  44. يا سيدي انا اعتذر على التأخير ، بس ان شاء الله يعجبك التغيير 🙂 جعفر 1188.2.YOUSSEF_2020.accdb.zip
    1 point
  45. 1 point
  46. السلام عليكم 🙂 اخي كاسر 🙂 الكود اللي استعملته ، بإستخدام الامر Dcount ، واللي هو عبارة عن استعلام خاص للجمع 🙂 فانت تعمل 20 استعلام لتحصل على المطلوب 🙂 فقمت انا بعمل هذا الاستعلام ، واللي اخذت المعايير من كودك ، وبدون تغيير فيها SELECT Abs(Sum([العمر] Between 0 And 14 And [الجنس]='ذكر')) AS T21, Abs(Sum([العمر] Between 15 And 20 And [الجنس]='ذكر')) AS T22, Abs(Sum([العمر] Between 21 And 30 And [الجنس]='ذكر')) AS T23, Abs(Sum([العمر] Between 31 And 40 And [الجنس]='ذكر')) AS T24, Abs(Sum([العمر]>=41 And [الجنس]='ذكر')) AS T25, Abs(Sum([العمر] Between 0 And 14 And [الجنس]='أنثى')) AS T27, Abs(Sum([العمر] Between 15 And 20 And [الجنس]='أنثى')) AS T28, Abs(Sum([العمر] Between 21 And 30 And [الجنس]='أنثى')) AS T29, Abs(Sum([العمر] Between 31 And 40 And [الجنس]='أنثى')) AS T30, Abs(Sum([العمر]>=41 And [الجنس]='أنثى')) AS T31, Abs(Sum([طبيعة الإعاقة]='حركي' And [الجنس]='ذكر')) AS T51, Abs(Sum([طبيعة الإعاقة]='ذهني' And [الجنس]='ذكر')) AS T52, Abs(Sum([طبيعة الإعاقة]='سمعي' And [الجنس]='ذكر')) AS T53, Abs(Sum([طبيعة الإعاقة]='بصري' And [الجنس]='ذكر')) AS T54, Abs(Sum([طبيعة الإعاقة]='متعدد الإعاقة' And [الجنس]='ذكر')) AS T55, Abs(Sum([طبيعة الإعاقة]='حركي' And [الجنس]='أنثى')) AS T58, Abs(Sum([طبيعة الإعاقة]='ذهني' And [الجنس]='أنثى')) AS T59, Abs(Sum([طبيعة الإعاقة]='سمعي' And [الجنس]='أنثى')) AS T60, Abs(Sum([طبيعة الإعاقة]='بصري' And [الجنس]='أنثى')) AS T61, Abs(Sum([طبيعة الإعاقة]='متعدد الإعاقة' And [الجنس]='أنثى')) AS T62 FROM العمر; ومن استعلام واحد حصلت على جميع نتائجك 🙂 . وعملت نسخة من تقريرك ، وحذفت الكود ، وحفظته باسم rpt_NEW ، وكله تمام 🙂 بس الفرق هو ، سرعة اظهار التقرير 🙂 جعفر 1051.Handicapées -kaser906l.accdb.zip
    1 point
  47. أهلا بكم.. هناك دالة في أكسس اسمها (Partition) تقوم بتقسيم (القيمة) بين حدين وبنمط متكرر.. أرجو أن تفيدكم في تقسيم الفئات العمرية وأمثالها.. تجدون شرح لها على هذا الرابط Partition
    1 point
  48. السلام عليكم بعد اذن استاذى الحبيب المهندس طارق محمود تم الحل الحمد لله و ربما لم يخطر على بالى ولم اجربه الا قليلا جدا . لانه بدون معادلات او اكواد . ولكنه صعب شويه . ويعطى ادق النتائح حيث تم الحل بواسطة ال solver يوجد بداخل الملف شرح كامل لما قمت به ملف اكسيل للمشكله وحلها وملف وورد به الخطوات تقبلوا خالص تحياتى واحترامى تلميذكم فى اوفيسنا solver1.rar solver.rar
    1 point
  49. السلام عليكم ورحمة الله وبركاته جاءت فكرة هذه المقالة بعد أن مررت بتجربة في برنامج يعمل على الشبكة واجهت خلالها مشكلة تتمثل في بطء شديد لإقلاع النماذج من المحطات الفرعية ، وحينها هب بعض إخواني لبذل يد المساعدة ، وتوزعت الحلول المقترحة بين التأكد من الأجهزة المستخدمة ، وإعداد الشبكة ، والبرامج المعترضة ذات الصلاحية وحلول أخرى في صميم البرنامج وفي النماذج خاصة .. لذا أحببت إلقاء الضوء على هذه الحلول وعرضها للرجوع إليها عند الحاجة على غرار ما قامت به السيدة سوزان هاركينز في نقاطها العشر لتسريع قاعدة البيانات الخلفية .. انظر هنا . http://translate.goo...ase/2306&anno=2 وقد قسمت هذه الحلول إلى شقين أمور مؤثرة خارج البرنامج : 1- التأكد من الأجهزة المستخدمة : كالمعالجات والذواكر وبطاقة الشبكة والأسلاك الموصلة والمقسمات فقد تكون رديئة وسرعتها متدنية . 2- طريقة إعداد الشبكة على الأجهزة المستخدمة ، وكتابة عناوين لها ثابتة يدويا 3- جدار الحماية حيث يجب جعل البرنامج من ضمن الاستثناءات 4- برامج مكافحه الفيروسات لها علاقة بالموضوع ، فيجب استثناء مجلد قاعدة البيانات من مسح برنامج مضاد الفيروسات 5- طول المسارات ، أو ما يسمى بمستوى الموقع ، كأن تكون قاعدة البيانات الخلفية داخل أكثر من نموذج فرعي . أمور مؤثرة داخل البرنامج : 6- تهيئة قاعدة البيانات للمشاركة والتحرير .: خيارات / خيارات متقدمة مشترك = نعم سجل محرر = نعم 7- " طول اسم قاعدة البيانات " يجب إعطاء قاعدة البيانات اسما مختصرا مناسبا 8- " ارتباط نموذج البداية بمصدر" فيجب أن يكون نموذج الإقلاع ( البداية ) منضما يرتبط بجدول كمصدر في القاعدة الخلفية 9- من عوامل التسريع : فتح نموذج (منضم) مخفي عند تشغيل الواجهة يعمل طول الوقت . 10- من عوامل البطء : كثرة الوحدات النمطية الثانوية في نموذج البداية هذا جهد المقل أسأل الله أن ينفع به
    1 point
  50. السلام عليكم ... هذا تطبيق عملي كما وعدكم سابقاً : تنتج شركة الأمل للألبان ثلاثة أنواع من المنتجات . تتطلب كل وحدة من المنتج الأول أربع دقائق من وقت الآلات، وأربعون دقيقة من وقت العمال وبكلفة إنتاج مقدارها عشرُ ليرات للوحدة الواحدة . أما المنتج الثاني فتحتاج الوحدة منه إلى ثلاث دقائق من وقت الآلات ، وخمسون دقيقة من وقت العمال وبكلفة إنتاج مقدارها اثنتي عشرة ليرة . في حين تحتاج كل وحدة من المنتج الثالث إلى خمس دقائق من وقت الآلات ، ومائة وعشرون دقيقة من وقت العمال وبتكلفة خمس عشرة ليرة . علماً بأن أسعار بيع هذه المنتجات على التوالي هي : 17 ، 20 ، 25 ليرة . فإذا كانت هذه الشركة تعمل بمعدل ستة أيام في الأسبوع وبمعدل عمل صافي مقداره 16 ساعة يومياً . وكان يوجد بها ست آلات وستون عاملاً وميزانية أسبوعية مقدارها 15000 ليرة . هذا بافتراض أن كل ما ينتج يسوق . فكيف يمكن توزيع الطاقة المتوفرة بهذه الشركة بشكل يزيد من أرباحها . (المصدر : امتحانات جامعة القدس المفتوحة ، أما الحل فهو نتاج مجهودي الشخصي الذي يحتمل الخطأ :h ) الحل: بفرض أن : X1 : عدد الوحدات المنتجة أسبوعياً من المنتج الأول X2 : عدد الوحدات المنتجة أسبوعياً من المنتج الثاني X3 : عدد الوحدات المنتجة أسبوعياً من المنتج الثالث النموذج الخطي يكون على الشكل التالي : والآن لنبدأ بحل النموذج الخطي السابق : لنقم أولاً برسم الجدول التالي و وضع الصيغ في كل خلية حسب العلاقات الموجودة في النموذج الخطي : نلا حظ من الشكل السابق (في شريط الصيغة) أن الصيغة التالية : =7*A3+8*B3+10*C3 و الموجودة في الخلية D3 تعبر عن تابع الهدف بدلالة متغيرات القرار الممثلة بالخلايا A3 , B3 , C3 . وبنفس الطريقة نضع الصيغ في الخلايا الباقية كما يلي : الخلية B6 : =4*A3+3*B3+5*C3 الخلية B7 : =40*A3+50*B3+120*C3 الخلية B8 : =10*A3+12*B3+15*C3 أما في الخلايا C6 , C7 ، C8 فيتم وضع ثوابت المتراجحات (الطرف الأيمن للمتراجحات) . والآن نقوم بفتح برنامج Solver وإدخال المعلومات فيه كما في الشكل التالي : نلاحظ أن خلية الهدف هي الخلية $D$3 ، وأن تابع الهدف من نوع Max كما نلاحظ أن الخلايا التي تحتوي على المتغيرات موجودة ضمن المجال $A$3:$C$3 ونلاحظ من الشكل السابق المتراجحات المقيدة لنموذج البرمجة السابق ، هذا ونلاحظ أننا أدخلنا قيود عدم السلبية في البرنامج (وكما ذكرنا سابقاً بأننا يمكننا الاستغناء عن قيود عدم السلبية بمجرد تحديد الخيار Assume Non-Negative من نافذة Solver Options) بعد الانتهاء من كل ما سبق نضغط على الزر Solve فتظهر لنا النافذة التالية : نلاحظ تغير قيم الخلايا A3 , B3 , C3 ، وبالتالي تغير قيم الخلايا B6 , B7 , B8 ، D3 . الحل الناتج يقترح بأن ننتج 1500 وحدة أسبوعياً من المنتج الأول ولا ننتج أي وحدة من المنتجين الثاني و الثالث ، حيث يتحقق ربح أسبوعي مقداره 10500 ليرة ، وهو أعظم ربح ممكن . وفي هذه الحالة فإنه يجب أن تعمل الآلات بمقدار 6000 دقيقة عمل فعلية ، ويجب أن يعمل العمال بمقدار 60000 دقيقة عمل فعلية ، وحيث أن ميزانية الإنفاق الأسبوعية سوف تستهلك بالكامل . نلاحظ من الحل السابق (مقارنة الخلايا B6 وB7 بالخلايا C6 و C7) وجود فائض غير مستغل في كل من وقت الآلات و وقت العمال (طاقة معطلة) ، وفي هذه الحالة نحن أمام خيارين : 1. التخلص من الطاقة الفائضة قبل البدء بالإنتاج ، أي بيع الآلات وتسريح العمال الفائضين عن الحاجة وذلك لعدم تحمل تكاليف إضافية لا فائدة منها (رواتب ، تكاليف صيانة الآلات ، تكاليف تعطيل رأس المال ، ... الخ) . 2. دراسة إمكانية استغلال الطاقة الفائضة ، حيث يوجد عدة طرق لمعالجة هذه المشكلة من بينها زيادة ميزانية الإنفاق الأسبوعية ، وهذا يتطلب إجراء مقارنة بين سعر الظل للوحدة النقدية الإضافية (الربح الإضافي الناتج عن زيادة ميزانية الإنفاق الأسبوعية بمقدار وحدة نقدية واحدة) وتكلفة اقتراضها . عذراً ، لا أستطيع التوسع في الشرح أكثر من ذلك لأن مهمتي الآن هي شرح برنامج Solver وليس إعطاء دروس في بحوث العمليات .... ومن كان يريد الاستزادة فعليه بالمراجع . في هذه المرحلة يخيرنا البرنامج بين الاحتفاظ بقيم الحل على ورقة العمل بالنقر فوق Keep Solver Solution ، أو استعادة البيانات الأصلية بالنقر فوق Restore Original Values . يمكنك الحصول على أحد أنواع التقارير الموجودة في المربع Reports ، وذلك بتحديد التقرير المرغوب و النقر فوق OK ليتم إنشاء التقرير في ورقة عمل جديدة . يستخدم الزر Save Scenario لحفظ قيم الخلايا القابلة للتعديل كسيناريو . ملاحظات: 1. في المثال السابق ، إذا كانت المنتجات غير قابلة للتجزئة فإنه يجب تعريف القيم الموجودة في الخلايا A3 , B3 , C3 كأعداد صحيحة Int وذلك في المجموعة Subject to the Constraints: . 2. إذا كانت إحدى القيم الموجودة في الخلايا B6 , B7 , B8 غير محققة للمتراجحة المقابلة لها ، فهذا يعني أن المسألة مستحيلة الحل . حيث أن Solver يقوم بالبحث عن الحل الأمثل في حدود القيود المفروضة ، وعندما لايجد حلاً أمثلاً فإنه يقوم بالبحث عن الحل الأمثل الذي يحقق أكبر عدد ممكن من القيود المفروضة . إليكم الآن مسألة أخرى أترك حلها لكم : ملاحظة : لقد توخيت البساطة في المسائل التي طرحتها ، ومن يريد مسائل أكثر تعقيداً فعليه بالمراجع المتخصصة . مرفق مثال عن المسألة السابقة: بقي لدينا التحدث عن التقارير التي يوفرها لنا الـ Solver ، و عن رسائل الخطأ المحتمل ظهورها عند استخدامه ، وسوف أتابع الشرح إن شاء الله في هذين الموضوعين عندما استطيع الحصول على بعض الوقت لإتمام ذلك. تحياتي Solver.zip
    1 point
×
×
  • اضف...

Important Information