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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      9

    • Posts

      9,814


  2. mennad sofiane

    mennad sofiane

    03 عضو مميز


    • نقاط

      7

    • Posts

      462


  3. ابو ياسين المشولي

    • نقاط

      7

    • Posts

      1,752


  4. محمد قاسم 12

    محمد قاسم 12

    03 عضو مميز


    • نقاط

      3

    • Posts

      280


Popular Content

Showing content with the highest reputation on 13 فبر, 2019 in all areas

  1. السلام عليكم اخي ريباز 🙂 في الواقع ما كنت اعتقد بأن الموضوع يأخذ كل هذا الوقت ، ولكن ما شاء الله فعل ، والحمدلله 🙂 1. الجداول . tbl_Teachers : وهنا نُدخل لكل مدرس/ملاحظ رقمه Teacher_ID ، ورقم المدرسة SID ، ونوع الجنس regaz (ويمكنك حذف الحقل Distributed) ، tbl_Allowed : وهنا نُدخل رقم المدرسة SID ، والقاعات التي يُسمح لمدرسيها ان يراقبوها Allowed_Hall ، tbl_Distributed : وهنا نرى نتائج التوزيع. الاستعلامات: هذه هي الاستعلامات التي تقوم بالعمل ، ورجاء عدم التعديل عليها qry_D_Allowed_Teachers_Halls : من هنا نعرف اي مدرس مسموح له مراقبة اي مدرسة qry_D_Selection : ويقوم الكود بالاعتماد على هذا الاستعلام لإختيار المدرسين ، عشوائيا qry_D_Halls : ومنه نعرف القاعات المطلوب لها ملاحظين (رجاء حذف المعيار الموجود حاليا) qry_D_SID : ومن هنا نختار المدرسة ، عشوائيا . طريقة العمل: افتح النموذج frm_Distribute ، ثم انقر على الزر Distribute (الحقول باللون البرتقالي يمكنك ان تخفيها) ، ويجب ان تحذف بيانات الجدول tbl_Distributed قبل ان تبدأ بإختيار جديد (البرنامج سيسألك) . اذا تم التوزيع بدون اخطاء ، ستحصل على هذه الرسالة . وافتح جدول tbl_Distributed لرؤية الاختيارات العشوائية . اما اذا حصلت على رسالة خطأ مثل هذه . فهذا معناه انه وحسب البيانات اللي في الرسالة (وهي نفسها اللي في النموذج باللون البرتقالي) ، فالاستعلام (شوف اسم الاستعلام) لم يلقى اي سجلات لهذا الاختيار ، وقد تم وقف عمل البرنامج!! وعليه ، يجب ان تعدل في البيانات . يعني مثلا ، لو تحذف بيانات الجدول tbl_Distributed ، ثم تعمل الاختيار عن طريق النموذج ، سترى هذا الخطا (وهذا اللي حصل لي) ، ومن بيانات الرساله عرفت ان المدرسة 5 ، مدرسات إناث ، للقاعة 113 ، لا يوجد احد!! عليه، اذهب الى tbl_Teachers وتأكد من هذا ، ثم اذهب الى الاسم الاخير jjjj ، وغيره من ذكر الى انثى ، ثم ابدأ من الاختيار جديد ، ولن ترى الرسالة 🙂 وهذا هو الكود الذي يقوم بالعمل ، وقد وضعت فيه الملاحظات : Private Sub cmd_Distribute_Click() On Error GoTo err_cmd_Distribute_Click ' If Len(Me.Distribution_ID & "") = 0 Then ' ' MsgBox "رجاء ادخال رقم التوزيع" ' Me.Distribution_ID.SetFocus ' Exit Sub ' ElseIf Len(Me.Distribution_ID & "") = 0 Then ' ' MsgBox "رجاء ادخال تاريخ التوزيع" ' Me.Distribution_Date.SetFocus ' Exit Sub ' End If If DCount("*", "tbl_Distributed") > 0 Then Dim Msg, Style, Title, Response Msg = "هناك بيانات في الجدول، هل تريد حذفها" & vbCrLf & _ "لا يمكن اضافة بيانات جديدة على بيانات سابقة" Style = vbYesNo + vbCritical + vbDefaultButton2 Title = "الجدول tbl_Distributed به بيانات" Response = MsgBox(Msg, Style, Title) If Response = vbYes Then DoCmd.SetWarnings False DoCmd.RunSQL ("Delete * From tbl_Distributed") DoCmd.SetWarnings True Else MsgBox "لم يتم حذف البيانات، ولا عمل اختيارات جديدة" Exit Sub End If End If Dim i As Integer Dim j As Integer Dim How_Many_Instructors As Integer Dim RND_SID As Integer Dim RND_Selection As Integer Dim rs As Integer Dim Which_Regaz As Integer Dim rstD As DAO.Recordset Dim rstH As DAO.Recordset Dim rstSID As DAO.Recordset Dim rstSelection As DAO.Recordset Dim RC_rstH As Integer Dim RC_rstSID As Integer Dim RC_rstSelection As Integer Dim arrSID As Variant Dim arrrstSelection As Variant Dim strSQL As String 'rstD = tbl_Distributed 'rstH = qry_D_Halls 'rstSID = qry_D_SID 'rstSelection = qry_D_Selection rs = 1 strSQL = "Select * From tbl_Distributed" Set rstD = CurrentDb.OpenRecordset(strSQL) rs = 2 strSQL = "Select * From qry_D_Halls" Set rstH = CurrentDb.OpenRecordset(strSQL) 'load the Recordset into memory, and get its number of Records rstH.MoveLast: rstH.MoveFirst: RC_rstH = rstH.RecordCount 'number of schools How_Many_Instructors = 6 / 2 Me.srch_Regaz = 1 'Hall Name For i = 1 To RC_rstH Me.srch_Distribution_Hall = rstH!Allowed_Hall 'Loop through the schools, 3 schools For j = 1 To How_Many_Instructors rs = 3 'info for error 3061 strSQL = "Select * From qry_D_SID Order By SID" 'Recordset SQL Set rstSID = CurrentDb.OpenRecordset(strSQL) 'Get the Remaining SIDs rstSID.MoveLast: rstSID.MoveFirst: RC_rstSID = rstSID.RecordCount 'Load into memory, and Count Records arrSID = rstSID.GetRows(RC_rstSID) 'convert Recordset to array, Min value = arrSID(0, 0) , Max = (arrSID(0, RC_rstSID - 1) Select_SID: 'we give the lowest and highest numbers to get Random Randomize RND_SID = Int((arrSID(0, RC_rstSID - 1) - arrSID(0, 0) + 1) * Rnd + arrSID(0, 0)) 'get a random number between Min & Max Me.srch_SID = RND_SID rstSID.FindFirst "[SID]=" & RND_SID 'but sometimes this number dose not exist, so get another Random If rstSID.NoMatch Then GoTo Select_SID 'SID is good, move on Which_Regaz = 0 Next_Regaz: 'male / female swithing If Me.srch_Regaz = 1 Then Me.srch_Regaz = 2 Else Me.srch_Regaz = 1 End If Which_Regaz = Which_Regaz + 1 'now we have all the data required to pick a teacher rs = 4 strSQL = "Select * From qry_D_Selection Order By Teacher_ID" Set rstSelection = CurrentDb.OpenRecordset(strSQL) rstSelection.MoveLast: rstSelection.MoveFirst: RC_rstSelection = rstSelection.RecordCount arrrstSelection = rstSelection.GetRows(RC_rstSelection) Select_Teacher: Randomize RND_Selection = Int((arrrstSelection(0, RC_rstSelection - 1) - arrrstSelection(0, 0) + 1) * Rnd + arrrstSelection(0, 0)) 'get a random number between Min & Max rstSelection.FindFirst "[Teacher_ID]=" & RND_Selection 'but sometimes this number dose not exist, so get another Random If rstSelection.NoMatch Then GoTo Select_SID 'Teacher_ID is good, make a new Record in tbl_Distributed and save info rstD.AddNew 'rstD!Distribution_ID = Me.Distribution_ID 'rstD!Distribution_Date = Me.Distribution_Date rstD!Teacher_ID = RND_Selection rstD!SID = RND_SID rstD!Distributed_Hall = rstH!Allowed_Hall rstD.Update If Which_Regaz = 1 Then GoTo Next_Regaz Next j rstH.MoveNext Next i MsgBox "Done" Exit_cmd_Distribute_Click: rstD.Close: Set rstD = Nothing rstH.Close: Set rstH = Nothing rstSID.Close: Set rstSID = Nothing rstSelection.Close: Set rstSelection = Nothing Exit Sub err_cmd_Distribute_Click: If Err.Number = 3061 Then 'too few parameters, expected xx 'this error occurs when trying to run a query which needs its parameters from a Form, 'the Form should be open with the parameter, then this code take the values properly Dim qdf As QueryDef Dim prm As Parameter Set qdf = CurrentDb.CreateQueryDef("NewQueryDef", strSQL) For Each prm In qdf.Parameters prm.Value = Eval(prm.Name) Next prm If rs = 1 Then Set rstD = qdf.OpenRecordset(dbOpenDynaset) ElseIf rs = 2 Then Set rstH = qdf.OpenRecordset(dbOpenDynaset) ElseIf rs = 3 Then Set rstSID = qdf.OpenRecordset(dbOpenDynaset) ElseIf rs = 4 Then Set rstSelection = qdf.OpenRecordset(dbOpenDynaset) End If DoCmd.DeleteObject acQuery, "NewQueryDef" Resume Next ElseIf Err.Number = 3021 Then 'No current Record If rs = 1 Then MsgBox "No Records in tbl_Distributed" ElseIf rs = 2 Then MsgBox "No Records in qry_D_Halls" ElseIf rs = 3 Then MsgBox "Hall Number=" & Me.srch_Distribution_Hall & vbCrLf & _ "No Records in qry_D_SID" ElseIf rs = 4 Then MsgBox "Hall Number=" & Me.srch_Distribution_Hall & vbCrLf & _ "SID=" & Me.srch_SID & vbCrLf & _ "Regaz=" & Me.srch_Regaz & vbCrLf & _ "No Records in qry_D_Selection" End If Resume Exit_cmd_Distribute_Click Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر 1008.2021.zip
    3 points
  2. السلام عليكم الملف التالى ملف بسيط للقروض قد يفيد البعض من المبتدئين امثالى الملف من انتاج اساتذه هذا الصرح العلمى الكبير ومنهم على سيبل المثال الا الحصر استاذى : jjafferr بارك الله فيك واستاذى : ابو ياسين المشولي بارك الله فيه واستاذى : أحمد وجيه بارك الله فيه واستاذى : midomashakel بارك الله فيه والباقى كثير جداا ولكم منى جميعا خالص الشكر والتقدير برنامج القروض.rar
    2 points
  3. ايش رأيك بهذه الطريقة: . نختار لكل قاعة ، رجال و اناث ، او رجال فقط ، او اناث فقط ، و لا نستعمل القاعة التي لا يوجد فيها اختيار ؟ ورجاء ، اذا في اي تغيير آخر ، اخبرني من الآن ، لأني على سفر قريبا جدا !! جعفر
    1 point
  4. السلام عليكم ورحمة الله جرب الملف المرفق لعل فيه ما تريد... بن علية حاجي ph.rar
    1 point
  5. كان هناك خطاء منى فى نقل الكود والملف المرفقك من حضرتك يعمل جيدااا بارك الله فيك بارك الله فيك استاذي معلمي
    1 point
  6. يجب ازالة علامة الاستفهام الموجودة في الكلمات باللون الارزق
    1 point
  7. وهذا https://www.youtube.com/playlist?list=PLof3yw6ZFPFgJ64ioThh8IR_X9Rc6i0Zk
    1 point
  8. الظاهر انك ما نسخت الكود كاملا ، نسيت شيء منه 🙂 الف مبروك على هذه النسخة، ونطلب منك السر في كيفية الحصول عليها، فلم اسمع من احد انه حصل عليها الى الآن 🙂 اخوي ابو ياسين 🙂 للوصول الى مرحلة الاحتراف، فيجب ان لا تستعمل هذه الجملة إلا نادرا ، ويجب اصطياد الخطأ ، والتعامل معاه فقط ، فهذه الجملة ما بتخلي البرنامج يعطيك ايش الاخطاء اللي فيه 😞 هذه الروابط بتفيدك : و و . وانت المنقذ 🙂 جعفر
    1 point
  9. اتفضل هذا تعديل على كود الاخ جعفر On Error Resume Next Dim id As Integer Dim Msg, Style, Title, Response id = Nz(DLookup("[site_ID]", "qard", "[site_ID]=" & Me.site_ID & ""), 0) If id <> 0 Then Me.Undo Cancel = True Total.Locked = True dat_1.Locked = True not_n.Locked = True Me.أمر76.Enabled = False Msg = "هذا الاسم موجود بالفعل" & vbCrLf & _ "المعرف رقم " & id & vbCrLf & vbCrLf & _ "Yes : نعم اذهب الى ذلك السجل" & vbCrLf & _ "No : فقط الغي هذا السجل" Style = vbYesNo + vbCritical + vbDefaultButton2 Title = "التكرار ممنوع" Response = MsgBox(Msg, Style, Title) Else Total.Locked = False dat_1.Locked = False not_n.Locked = False Me.أمر76.Enabled = True If Response = vbYes Then DoCmd.FindRecord id, , , , , acAll, True End If End If
    1 point
  10. نعم الرساله هكذا ولو ما عرفت المكتوب لكن المضمون هو كذلك
    1 point
  11. وعليكم السلام عليك توضيح المطلوب بالضبط على الملف فما تريد عمله غير واضح حتى تتمكن الأساتذة من المساعدة
    1 point
  12. تفضل ، هذا الرابط به الطريقة الصحيحة 🙂 . جعفر
    1 point
  13. تسلم اخي بارك الله فيك فهم السوال نصف الاجابه
    1 point
  14. واذا كان لديه قرض ولكنه صفر اي مسدد القرض
    1 point
  15. ابسط شي الرسائل ههههههههههه
    1 point
  16. اعتقد ان مشروعك على اوفيس 2016 هل ممكن تحويله الي 2003 او 2007 ومن ثم ساحاول مساعدتك
    1 point
  17. وعليكم السلام اخي عبداللطيف 🙂 شكرا لك على هذه البرامج التشجيعية 🙂 عندي مداخله لوسمحت لي 🙂 وبإستعمال طريقة Dcount ، ولكن بشكل يختلف: لسنا بحاجة الى نموذج فرعي ، ولا الى الحقل الذي يأخذ قيمة النموذج الفرعي ، كل الذي نحتاجه هو: Private Sub الاسم_BeforeUpdate(Cancel As Integer) If DCount("*", "العميل", "[الاسم]='" & Me.الاسم & "'") > 0 Then MsgBox "هذا الاسم موجود بالفعل", vbCritical, "التكرار ممنوع" Me.Undo Cancel = True End If End Sub . ولكن ، بعض الاوقات لما المستخدم يلاقي ان الاسم تم ادخاله مسبقا ، فإنه يريد الذهاب الى ذلك الاسم للتأكد من عدم تشابه الاسماء (وهذا ما حصل مع بعض مستخدمي برامجي 🙂 ) ، لذلك ، اليك هذه الطريقة: Private Sub الاسم_BeforeUpdate(Cancel As Integer) Dim ID As Integer Dim Msg, Style, Title, Response ID = Nz(DLookup("[المعرف]", "العميل", "[الاسم]='" & Me.الاسم & "'"), 0) If ID <> 0 Then Me.Undo Cancel = True Msg = "هذا الاسم موجود بالفعل" & vbCrLf & _ "المعرف رقم " & ID & vbCrLf & vbCrLf & _ "Yes : نعم اذهب الى ذلك السجل" & vbCrLf & _ "No : فقط الغي هذا السجل" Style = vbYesNo + vbCritical + vbDefaultButton2 Title = "التكرار ممنوع" Response = MsgBox(Msg, Style, Title) If Response = vbYes Then DoCmd.FindRecord ID, , , , , acAll, True End If End If End Sub . والنتيجة: جعفر 1006.التكرار ممنوع.accdb.zip
    1 point
  18. وما معنى هذا اخي ابو عبدالله انت في استعلام الله يحفظك هذه الشروط تقدر تنفذها في التقرير او النوموذج ولا تنفذ في الاستعلام في النموذج والتقرير عبر الفجوال بيسك ممكن تنفذ هذا حد علمي فاعذرني تحياتي
    1 point
  19. إن شاء الله يفيدكم هذا الفيديو فتابعونا وفقنا الله جميعا لكل ما يحبه ويرضاه ولا ينقصني سوى دعاؤكم لي بالخير في الدنيا والآخرة ومشاركة الفيديو مع أصدقائكم فرب صديق يحتاج لما لا تحتاجه أنت
    1 point
  20. بسم الله الرحمان الرحيم اليوم سأعرض عليكم برنامج نسخ الملفاتMultyCopy باختصار و حاليا يستعمله الكثيرون ويقوم بضرف معين بنسخ الملفات التي حددتها انت و أرجو أن ينال هذا اعجابكم مع باقي الصور الجميلة + رابط البرنامج . أخوكم في الله المبرمج : مناد سفيان الجزائر. MultyCopy.rar
    1 point
  21. السلام عليكم ورحمة الله وبركاته معكم المبرمج : مناد سفيان اليوم سأقدم لك أكواد الدالفي فقط الدعاء لي Windows.rar
    1 point
  22. السلام عليكم ورحمة الله وبركاته معكم المبرمج : مناد سفيان اليوم سأقدم لك أكواد الدالفي فقط الدعاء لي Miscellaneous.rar
    1 point
  23. السلام عليكم ورحمة الله وبركاته معكم المبرمج : مناد سفيان اليوم سأقدم لك أكواد الدالفي فقط الدعاء لي Internet.rar
    1 point
  24. السلام عليكم ورحمة الله وبركاته معكم المبرمج : مناد سفيان اليوم سأقدم لك أكواد الدالفي فقط الدعاء لي Graphic.rar
    1 point
  25. السلام عليكم ورحمة الله وبركاته معكم المبرمج : مناد سفيان اليوم سأقدم لك أكواد الدالفي فقط الدعاء لي Components.rar
    1 point
  26. السلام عليكم ورحمة الله وبركاته معكم المبرمج : مناد سفيان اليوم سأقدم لك أكواد الدالفي فقط الدعاء لي ActiveX.rar
    1 point
  27. السلام عليكم. من المعروف أن الدلفي يستخدم لغة الباسكال الإجرائية. لذلك سوف أقوم بشرح أهم النقاط التي يحتاجها المبرمج لبداية كتابة الأكواد البرمجية في الدلفي: التصريحات: في هذا الجزء يعلن عن الثوابت و المتغيرات الضرورية لحل مشكل ما: 1- تعريف المتغير: هو خانة في الذاكرة تستعمل لحفظ قيمة و يمكن تغييرها حسب الحاجة. صيغة التصريح بالمتغير: Var variable1,variable2,.....variableN:Type; Type: نوع المتغير variable1,variable2,.....variableN:أسماء المتغيرات مثال: Var A,B,C:integer; أنواع المتغيرات: المتغيرات الرقمية: shortint: عدد صحيح قصير من -127 إلى 127 Byte: من 0 إلى 255 integer: عدد صحيح من -32768 إلى 32767 word: من 0 إلى 65535 longint: عدد صحيح طويل من -2147483648 إلى 2147483647 real: عدد حقيقي من 2.9x10^-39 إلى 1.7x10^38 double: من 5x10^-324 إلى 1.7x10^308 extended: من 1.9x10^-4951 إلى 1.1x10^-4932 المتغيرات النصية: char: حرف واحد string: سلسلة أحرف نصية المتغيرات المنطقية: boolean: قيمة منطقية true أو false 1- تعريف الثوابت: هو خانة في الذاكرة تستعمل لحفظ قيمة حيث تعطى قيمة ثابتة في البداية و لا يمكن تغييرها. صيغة التصريح بالثابت: Const identificateur=Value; مثال: Const Pi=3.14; R=10.75;
    1 point
  28. طريقة اصطياد النقطة الاولى: Private Sub Form_Error(DataErr As Integer, Response As Integer) Dim Msg, Style, Title If DataErr = 2237 Then Msg = "رجاء كتابة او اختيار مادة من القائمة" Style = vbYes Title = "اختار من القائمة فقط" MsgBox Msg, Style, Title Response = acDataErrContinue End If End Sub جعفر
    1 point
  29. أخواني الاعزاء السلام عليكم تحية طيبة من عند الله مباركة أقدم اليكم أخواني الأحباب دالة حتى وقت قريب كنت أجهل وجودها بالأكسل وهي دالة في نظري أنها مكملة لدالة SUMIF إذ أن الدالة الأخير لاتعمل إلا مع شرط واحد ولكن الدالة المعنية تقوم بالعمل وفق شروط متعددة (وهذا حسب خبرتي المتواضعة وليقم بالتصحيح على كلامي هذا اخواني المشرفين ) ، ولذا أرفق لكم مثال عملي وهو منقول للأمانة العلمية ولكن للأسف لاأذكر المصدر .. تفضلوا الملف المرفق sales_analysis.rar
    1 point
×
×
  • اضف...

Important Information