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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. وهذ الرابط فيه طريقة اخرى لتضدير الجداول او الاستعلامات (لأن مصدر بيانات التقرير يكون استعلام او جدول) الى الاكسل: جعفر
  2. وعليكم السلام المرفق يحل "اولا" ، اما اضافة موظف جديد فلا دخل له بالفرز ، انا قلت: . اي ان مصدر بيانات النوذج الفرعي به الفرز جاهز. على العموم ، انسى موضوع الفرز ، لأني برمجيا استطيع تضبيطه ، واعمل النموذج الفرعي بالطريقة التي تريدها ، ومرة ثانية ارفق برنامجك ، وعلى اساس تضبيطاتك ، انا اضبط الكود جعفر 746.3.OK.accdb.zip
  3. تفضل ، وبدون استعلام بس رجاء لا تغير فرز النموذج الفرعي ، فهو يبدأ بآخر تاريخ. جعفر 746.2.OK .accdb.zip
  4. 1. ممتاز ، بس رجاء ارفق قاعدة بيانات فيها تواريخ صحيحة ، علشان يتم العمل عليها ، 2. هذه الفكرة غير محبذة في قواعد البيانات ، حيث لا نحفظ بيانات حقول محسوبة ، 3. معنى قاعدة البيانات: ادخال ، فرز وتصفية ، واخراج واذا اردت ان تحذف جزء الفرز والتصفية ، فيتحول برنامجك الى شيء آخر غير قاعدة بيانات اطمئن ، هناك ملايين الاستعلامات والوحدات النمطية في ملايين برامج قواعد البيانات ، الاهم في العملية كلها هي ، ان تجعلها تعمل ، ومن ثم يمكنك ان تنسى انها موجودة ، لأنها تعمل بالخفاء ، وبكفاءة جعفر
  5. وعليكم السلام تفضل . . . . . جعفر 749.قاعدة البيانات1.accdb.zip
  6. الحل لسؤال الموضوع هو فرز وتسلسل التواريخ (والذي قمت بعمله في المرفق السابق ، حسب التاريخ الميلادي) ، ويجب ان اعمل شيء (سواء جدول خاص لتواريخ السنه الهجرية ، او وحدة نمطية) حتى استطيع فرز التاريخ الهجري!! وبعد النظر في جدولك : . سؤال: من المعروف ان حقل ID بصيغة الرقم التلقائي ، يعطي ارقام مسلسله للسجلات ، وبعد النظر في جدولك والحقل ID و تواريخ الاجازات لكل موظف ، هل من الممكن ان تُعطى اجازة ، ثم تُعطى اجازة بتاريخ قبل تاريخ الاجازة السابقة (انظر في المربعات الحمراء)؟ اذا كان الجواب لا يمكن ، فرجاء ارفق جدول به بيانات صحيحة ، حتى اعمل الفرز والتسلسل بحقل ID ، ثم اطبقه على التاريه الهجري ، اما اذا كان الجواب انه يمكن حصوله ، فيجب ان احك رأسي بطريقة لحل الموضوع ياريت لو انك ارفقت البيانات الصحيحة منذ البداية ، حتى لا نصل الى هذه النقطة!! جعفر
  7. تفضل يا سيدي 1. كان عندك مجموعة اخطاء في الكود فلم تكن تشير الى الاستعلام الخاص بالتقرير الفرعي ، وفي اسم احد التقارير الفرعية ، وفي حقل ترقيم نموذجين فرعيين حيث كنت تجمع ارقامها بدل ان تأخذها من الاستعلام مباشرة ، 2. الوحدة النمطية تقوم بهذا جعفر 680.5. الاجازات شبه كامل.accdb.zip
  8. هذه مقدور عليها ، كل اللي يحتاج منك هو نسخ صفحات الكود باستخدام Ctl+A ، ثم اللصق في برنامجك الآخر المهم ان معظم الكائنات تم استيرادها جعفر
  9. وعليكم السلام هناك عدة ميزات جديدة موجودة في الاكسس 2013 والتي هي غير موجودة في الاكسس 2003 ، والظاهر انك مستخدم بعض هذه الميزات ، فلذلك لا يستطيع الاكسس تصديرها!! الطريقة الاخرى هي ان تعمل قاعدة بيانات فاضية بصيغة mdb ، ثم استورد كائنات برنامجك الـ 2013 ، ولما تعمل هذا ، فسيحصل على رسالة تنبهك بانه بعض الميزات/الكائنات الغير ملائمة للـ 2003 سوف يتم حذفها/تغييرها ، ولكنك ستحصل على المطلوب ان شاء الله جعفر
  10. السلام عليكم اخي احمد هناك عدة طرق لعمل المطلوب ، ولكن ، رجاء اشرح المطلوب وبالتفصيل ، حتى اعطيك الاختيار الافضل لك جعفر
  11. حياك الله عفوا ما فهمت قصدك؟ جعفر
  12. تفضل 746.1.Database19.accdb.zip
  13. السلام عليكم من الخطأ العمل على جدولين ، في الوقت الذي يمكن دمجهم في جدول واحد ، وإضافة حقل جديد لفترة الموظف ، فهذه هي طريقة قواعد البيانات: الجدول الجديد: . والنموذج اصبح واحدا: . جعفر 748.Database11.accdb.zip
  14. وعليكم السلام ورحمة الله وبركاته اهلا وسهلا بك في المنتدى هذا النموذج . وهذا الاستعلام هو مصدر بيانات التقرير ، وهذا الاستعلام يرسل رقم "مرتبط" الى الوحدة النمطية: وهذه الوحدة النمطية التي تقوم بإستخراج البيانات المطلوبة من الجدول: 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
  15. تفضل يا سيدي 747.اهتزاز.mdb.zip
  16. الان كذلك السجل الذي تكون عليه ، فيه لون مختلف عن بقية السجلات جعفر
  17. تفضل وما عليك الا ان تُدخل اسماء الصفوف في الجدول الجديد tbl_Class_Name ، وتفتح التقرير من النموذج جعفر 745.db1.mdb.zip
  18. حياك الله اخي عبد اللطيف لا يوجد شيء افضل من الاخر ، وانما الطلب يحتم عليك النوع وفي مثالنا اعلاه: ميزات النموذج المستمر ، هو انه هناك نموذج واحد به حقول البحث والازرار ، ولكن به مشكلة الاهتزاز ، والحقول بها تنسيق شرطي ، بينما نموذج البيانات ، لا تستطيع ان تضع فيه ازرار او حقول اضافية ، ولعمل الازرار والحقول الاضافية ، فيجب ان يوضع هذا النموذج كنموذج فرعي ، والازرار والحقول الاخرى تكون في النموذج الرئيسي ، مما يجعل الكود اصعب قليلا ، حيث انك تشير الى حقول نموذجين مختلفين ، بينما نموذج البيانات لا يوجد به اهتزاز ، ولا داعي للتنسيق الشرطي جعفر
  19. السلام عليكم نعم يوجد حل ، ولكن بتغيير نوع النموذج من مستمر الى نموذج بيانات لاحظ المرفق ، لما تنتقل بين السجلات لا يوجد اهتزاز طبعا انا لم اعمل اي تعديل على البرنامج حتى يعمل بطريقته السابقة ، وانما المرفق هو فقط لإثبات عدم حصول الاهتزاز جعفر اهتزاز.zip
  20. وعليكم السلام الجواب نعم في النموذج frm_Main عندك حقل الحصه اسمه Subject ، في التقرير ، في قسم رأس التقرير عنك حقل rpt_Subject وتريد ان ينكتب اسم الحصة اللي في النموذج ، في مصدر الحقل ، اشر الى مكان الحقل الذي به المعلومة ، هكذا: =Forms!frm_Main!Subject جعفر
  21. وعليكم السلام اخوي علي وشكرا على الرد المفصّل الواضح ، و بأمثلة هذا الكود هو العقل المدبر للوحدة كلها ، فلا تستهين فيه . ولتعديل المطلوب ، تم اضافة سطرين كود في نهاية الوحدة النمطية: 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
×
×
  • اضف...

Important Information