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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

كل منشورات العضو jjafferr

  1. السلام عليكم اخي احمد هناك عدة طرق لعمل المطلوب ، ولكن ، رجاء اشرح المطلوب وبالتفصيل ، حتى اعطيك الاختيار الافضل لك جعفر
  2. حياك الله عفوا ما فهمت قصدك؟ جعفر
  3. تفضل 746.1.Database19.accdb.zip
  4. السلام عليكم من الخطأ العمل على جدولين ، في الوقت الذي يمكن دمجهم في جدول واحد ، وإضافة حقل جديد لفترة الموظف ، فهذه هي طريقة قواعد البيانات: الجدول الجديد: . والنموذج اصبح واحدا: . جعفر 748.Database11.accdb.zip
  5. وعليكم السلام ورحمة الله وبركاته اهلا وسهلا بك في المنتدى هذا النموذج . وهذا الاستعلام هو مصدر بيانات التقرير ، وهذا الاستعلام يرسل رقم "مرتبط" الى الوحدة النمطية: وهذه الوحدة النمطية التي تقوم بإستخراج البيانات المطلوبة من الجدول: Option Compare Database Option Explicit Public M_Date As Date Public M_Type As String Public P_Date As Date Public P_Type As String Function qry_Date(ID) 'On Error Resume Next M_Date = vbNull M_Type = "" P_Date = vbNull P_Type = "" If Len(ID & "") = 0 Then Exit Function Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset("Select * From [جدول2] Where [مرتبط]=" & ID & " Order By [التاريخ] Desc") rst.MoveLast: rst.MoveFirst M_Date = rst![التاريخ] M_Type = rst![النوع] rst.MoveNext P_Date = rst![التاريخ] P_Type = rst![النوع] rst.Close: Set rst = Nothing End Function Function Max_Date() Max_Date = M_Date End Function Function Max_Type() Max_Type = M_Type End Function Function Prev_Date() Prev_Date = P_Date End Function Function Prev_Type() Prev_Type = P_Type End Function . وهذه النتيجة: . جعفر 746.Database19.accdb.zip
  6. تفضل يا سيدي 747.اهتزاز.mdb.zip
  7. الان كذلك السجل الذي تكون عليه ، فيه لون مختلف عن بقية السجلات جعفر
  8. تفضل وما عليك الا ان تُدخل اسماء الصفوف في الجدول الجديد tbl_Class_Name ، وتفتح التقرير من النموذج جعفر 745.db1.mdb.zip
  9. حياك الله اخي عبد اللطيف لا يوجد شيء افضل من الاخر ، وانما الطلب يحتم عليك النوع وفي مثالنا اعلاه: ميزات النموذج المستمر ، هو انه هناك نموذج واحد به حقول البحث والازرار ، ولكن به مشكلة الاهتزاز ، والحقول بها تنسيق شرطي ، بينما نموذج البيانات ، لا تستطيع ان تضع فيه ازرار او حقول اضافية ، ولعمل الازرار والحقول الاضافية ، فيجب ان يوضع هذا النموذج كنموذج فرعي ، والازرار والحقول الاخرى تكون في النموذج الرئيسي ، مما يجعل الكود اصعب قليلا ، حيث انك تشير الى حقول نموذجين مختلفين ، بينما نموذج البيانات لا يوجد به اهتزاز ، ولا داعي للتنسيق الشرطي جعفر
  10. السلام عليكم نعم يوجد حل ، ولكن بتغيير نوع النموذج من مستمر الى نموذج بيانات لاحظ المرفق ، لما تنتقل بين السجلات لا يوجد اهتزاز طبعا انا لم اعمل اي تعديل على البرنامج حتى يعمل بطريقته السابقة ، وانما المرفق هو فقط لإثبات عدم حصول الاهتزاز جعفر اهتزاز.zip
  11. وعليكم السلام الجواب نعم في النموذج frm_Main عندك حقل الحصه اسمه Subject ، في التقرير ، في قسم رأس التقرير عنك حقل rpt_Subject وتريد ان ينكتب اسم الحصة اللي في النموذج ، في مصدر الحقل ، اشر الى مكان الحقل الذي به المعلومة ، هكذا: =Forms!frm_Main!Subject جعفر
  12. وعليكم السلام اخوي علي وشكرا على الرد المفصّل الواضح ، و بأمثلة هذا الكود هو العقل المدبر للوحدة كلها ، فلا تستهين فيه . ولتعديل المطلوب ، تم اضافة سطرين كود في نهاية الوحدة النمطية: Option Compare Database Option Explicit Function Working_Dates(From_D, To_Period, Excl_D) 'From_D = Start Date (i.e. 32/11/2017) 'To_Period = Number of Days to Count 'Excl_D = Excluded days, like weekends (in our case Friday and Saturday) ' '1 = Sunday '2 = Monday '3 = Tuesday '4 = Wednesday '5 = Thursday '6 = Friday '7 = Saturday ' ' to call this Function: 'Working_Dates(#23/11/2017#, 3, "67") 'or 'Working_Dates(Me.dateToday, Me.long, "67") ' Dim ToDate As Date Dim i As Date 'ما هو اليوم الاخير ، بدون استقطاع الاجازة ToDate = DateAdd("d", To_Period, From_D) 'ابدا الحساب من اول يوم الى اليوم الاخير For i = From_D To ToDate 'اذا كان هذا اليوم من ايام الاجازة If InStr(1, Excl_D, Weekday(i)) > 0 Then 'اضف يوم الى اليوم الاخير ToDate = ToDate + 1 End If Next i 'اذا كان اليوم الاخير يقع في اجازة (الاجازة يومين) If InStr(1, Excl_D, Weekday(ToDate)) > 0 Then: ToDate = ToDate + 1 If InStr(1, Excl_D, Weekday(ToDate)) > 0 Then: ToDate = ToDate + 1 'ارسل اليوم الاخير الى النموذج Working_Dates = ToDate End Function . جعفر 742.Working_Days.accdb.zip
  13. وعليكم السلام انا لا احبذ استخدام القناع ، فهو يربطك اخي شفان اعطاك طريقة ، واليك طريقة اخرى ، من اعدادات الحقل: validation rule: Between 100000000000 And 299999999999 validation text: يجب ان يبدأ الرقم بالرقم 1 او 2 ، ويكون طوله 12 خانه . . . جعفر
  14. السلام عليكم أخي اسلام هذا الموضوع من سنة 2012 ، ومشاركي الموضوع قد لا يكونوا متواجدين في المنتدى الان ، لذا رجاء عمل موضوع جديد لسؤالك. جعفر
  15. السلام عليكم اخي ابو عبدالله ، واخي عمر هذا الموضوع من سنة 2003-2004 ، ومشاركي الموضوع قد لا يكونوا متواجدين في المنتدى الان ، فرجاء كتابة موضوع جديد لسؤالكم. جعفر
  16. السلام عليكم الملف كان يعمل بدون مشاكل اليك نفس النسخة ، ولكن بصيغة ضغط اخرى جعفر 11111.zip
  17. وعليكم السلام ولو ان هذه الطريقة لا تُعتبر الافضل ولا الاسرع ، ولكنها جيدة نظرا للأيام القليلة التي تتعامل معاها هذه الوحدة النمطية التي تقوم بالعمل: Option Compare Database Option Explicit Function Working_Dates(From_D, To_Period, Excl_D) 'From_D = Start Date (i.e. 32/11/2017) 'To_Period = Number of Days to Count 'Excl_D = Excluded days, like weekends (in our case Friday and Saturday) ' '1 = Sunday '2 = Monday '3 = Tuesday '4 = Wednesday '5 = Thursday '6 = Friday '7 = Saturday ' ' to call this Function: 'Working_Dates(#23/11/2017#, 3, "67") 'or 'Working_Dates(Me.dateToday, Me.long, "67") ' Dim ToDate As Date Dim i As Date 'ما هو اليوم الاخير ، بدون استقطاع الاجازة ToDate = DateAdd("d", To_Period, From_D) 'ابدا الحساب من اول يوم الى اليوم الاخير For i = From_D To ToDate 'اذا كان هذا اليوم من ايام الاجازة If InStr(1, Excl_D, Weekday(i)) > 0 Then 'اضف يوم الى اليوم الاخير ToDate = ToDate + 1 End If Next i 'ارسل اليوم الاخير الى النموذج Working_Dates = ToDate End Function . ونناديها من النموذج ، من حدث "بعد تحديث التاريخ" مثلا ، هكذا: Private Sub dateToday_AfterUpdate() 'Me.Text537.Value = Me.dateToday + Me.long 'Me.Text537.Requery '1 = Sunday '2 = Monday '3 = Tuesday '4 = Wednesday '5 = Thursday '6 = Friday '7 = Saturday Me.DateOfFinish = Working_Dates(Me.dateToday, Me.long, "67") End Sub جعفر 742.Working_Days.accdb.zip
  18. طريقة اصطياد النقطة الاولى: 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 جعفر
  19. وعليكم السلام اهم شيء في الموضوع هو اصطياد رقم رسالة الخطأ ، ومنها نستطيع عمل ما نريد ولعمل هذا ، استعملي "حدث خطأ النموذج" ، هكذا: Private Sub Form_Error(DataErr As Integer, Response As Integer) MsgBox DataErr End Sub جعفر
  20. وعليكم السلام اخوي وضاح من الصعب على اي منا ان يرد على موضوعك ، لأن الكثير منا ليس محاسب ولا نعرف ماذا تقصد ولا ماذا تريد!! رجاء ارفق برنامجك فيه بيانات متعددة ، ثم استعمل الاكسل او الوورد او حتى برنامج صور ، واشرح لنا: 1. اي جدول ، اي حقول يجب التعامل معها ، 2. مثالين عن الشيء الذي تريده: أ. طريقة الحساب، ب. النتيجة التي يجب الحصول عليها، ج. الصورة النهائية التي تريدها. ونحن سنحاول ان نترجم مثالك الى برمجة اكسس ان شاء الله هذا الكلام ينطبق على بقية مواضيعك كذلك جعفر
  21. تفضل . والنتيجة . جعفر 680.برنامج الاجازات شبه كامل_jj.accdb.zip
×
×
  • اضف...

Important Information