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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

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

  1. هذه مقدور عليها ، كل اللي يحتاج منك هو نسخ صفحات الكود باستخدام Ctl+A ، ثم اللصق في برنامجك الآخر المهم ان معظم الكائنات تم استيرادها جعفر
  2. وعليكم السلام هناك عدة ميزات جديدة موجودة في الاكسس 2013 والتي هي غير موجودة في الاكسس 2003 ، والظاهر انك مستخدم بعض هذه الميزات ، فلذلك لا يستطيع الاكسس تصديرها!! الطريقة الاخرى هي ان تعمل قاعدة بيانات فاضية بصيغة mdb ، ثم استورد كائنات برنامجك الـ 2013 ، ولما تعمل هذا ، فسيحصل على رسالة تنبهك بانه بعض الميزات/الكائنات الغير ملائمة للـ 2003 سوف يتم حذفها/تغييرها ، ولكنك ستحصل على المطلوب ان شاء الله جعفر
  3. السلام عليكم اخي احمد هناك عدة طرق لعمل المطلوب ، ولكن ، رجاء اشرح المطلوب وبالتفصيل ، حتى اعطيك الاختيار الافضل لك جعفر
  4. حياك الله عفوا ما فهمت قصدك؟ جعفر
  5. تفضل 746.1.Database19.accdb.zip
  6. السلام عليكم من الخطأ العمل على جدولين ، في الوقت الذي يمكن دمجهم في جدول واحد ، وإضافة حقل جديد لفترة الموظف ، فهذه هي طريقة قواعد البيانات: الجدول الجديد: . والنموذج اصبح واحدا: . جعفر 748.Database11.accdb.zip
  7. وعليكم السلام ورحمة الله وبركاته اهلا وسهلا بك في المنتدى هذا النموذج . وهذا الاستعلام هو مصدر بيانات التقرير ، وهذا الاستعلام يرسل رقم "مرتبط" الى الوحدة النمطية: وهذه الوحدة النمطية التي تقوم بإستخراج البيانات المطلوبة من الجدول: 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
  8. تفضل يا سيدي 747.اهتزاز.mdb.zip
  9. الان كذلك السجل الذي تكون عليه ، فيه لون مختلف عن بقية السجلات جعفر
  10. تفضل وما عليك الا ان تُدخل اسماء الصفوف في الجدول الجديد tbl_Class_Name ، وتفتح التقرير من النموذج جعفر 745.db1.mdb.zip
  11. حياك الله اخي عبد اللطيف لا يوجد شيء افضل من الاخر ، وانما الطلب يحتم عليك النوع وفي مثالنا اعلاه: ميزات النموذج المستمر ، هو انه هناك نموذج واحد به حقول البحث والازرار ، ولكن به مشكلة الاهتزاز ، والحقول بها تنسيق شرطي ، بينما نموذج البيانات ، لا تستطيع ان تضع فيه ازرار او حقول اضافية ، ولعمل الازرار والحقول الاضافية ، فيجب ان يوضع هذا النموذج كنموذج فرعي ، والازرار والحقول الاخرى تكون في النموذج الرئيسي ، مما يجعل الكود اصعب قليلا ، حيث انك تشير الى حقول نموذجين مختلفين ، بينما نموذج البيانات لا يوجد به اهتزاز ، ولا داعي للتنسيق الشرطي جعفر
  12. السلام عليكم نعم يوجد حل ، ولكن بتغيير نوع النموذج من مستمر الى نموذج بيانات لاحظ المرفق ، لما تنتقل بين السجلات لا يوجد اهتزاز طبعا انا لم اعمل اي تعديل على البرنامج حتى يعمل بطريقته السابقة ، وانما المرفق هو فقط لإثبات عدم حصول الاهتزاز جعفر اهتزاز.zip
  13. وعليكم السلام الجواب نعم في النموذج frm_Main عندك حقل الحصه اسمه Subject ، في التقرير ، في قسم رأس التقرير عنك حقل rpt_Subject وتريد ان ينكتب اسم الحصة اللي في النموذج ، في مصدر الحقل ، اشر الى مكان الحقل الذي به المعلومة ، هكذا: =Forms!frm_Main!Subject جعفر
  14. وعليكم السلام اخوي علي وشكرا على الرد المفصّل الواضح ، و بأمثلة هذا الكود هو العقل المدبر للوحدة كلها ، فلا تستهين فيه . ولتعديل المطلوب ، تم اضافة سطرين كود في نهاية الوحدة النمطية: 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
  15. وعليكم السلام انا لا احبذ استخدام القناع ، فهو يربطك اخي شفان اعطاك طريقة ، واليك طريقة اخرى ، من اعدادات الحقل: validation rule: Between 100000000000 And 299999999999 validation text: يجب ان يبدأ الرقم بالرقم 1 او 2 ، ويكون طوله 12 خانه . . . جعفر
  16. السلام عليكم أخي اسلام هذا الموضوع من سنة 2012 ، ومشاركي الموضوع قد لا يكونوا متواجدين في المنتدى الان ، لذا رجاء عمل موضوع جديد لسؤالك. جعفر
  17. السلام عليكم اخي ابو عبدالله ، واخي عمر هذا الموضوع من سنة 2003-2004 ، ومشاركي الموضوع قد لا يكونوا متواجدين في المنتدى الان ، فرجاء كتابة موضوع جديد لسؤالكم. جعفر
  18. السلام عليكم الملف كان يعمل بدون مشاكل اليك نفس النسخة ، ولكن بصيغة ضغط اخرى جعفر 11111.zip
  19. وعليكم السلام ولو ان هذه الطريقة لا تُعتبر الافضل ولا الاسرع ، ولكنها جيدة نظرا للأيام القليلة التي تتعامل معاها هذه الوحدة النمطية التي تقوم بالعمل: 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
  20. طريقة اصطياد النقطة الاولى: 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 جعفر
  21. وعليكم السلام اهم شيء في الموضوع هو اصطياد رقم رسالة الخطأ ، ومنها نستطيع عمل ما نريد ولعمل هذا ، استعملي "حدث خطأ النموذج" ، هكذا: Private Sub Form_Error(DataErr As Integer, Response As Integer) MsgBox DataErr End Sub جعفر
×
×
  • اضف...

Important Information