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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      17

    • Posts

      9,814


  2. صالح حمادي

    صالح حمادي

    أوفيسنا


    • نقاط

      3

    • Posts

      1,745


  3. Shivan Rekany

    Shivan Rekany

    الخبراء


    • نقاط

      2

    • Posts

      3,491


  4. ياسر العربى

    ياسر العربى

    الخبراء


    • نقاط

      2

    • Posts

      1,510


Popular Content

Showing content with the highest reputation on 07 ديس, 2016 in all areas

  1. السلام عليكم وحتى يكتمل الموضوع ، اخذت جزئية من احد برامجي ، وهي لحساب السنه والشهر واليوم ، يعني الحساب بالكامل . وهكذا ننادي الوحدة النمطية . والنتيجة . والوحدة النمطية Public Function YMDDif2(sDate1, sDate2) 'Public Function YMDDif2(sDate1, sDate2, Cont_Type, Res_Date) On Error GoTo err_YMDDif2 'sDate1 earliest date 'sDate2 later date 'Cont_Type = Contract Type 'Res_Date = Resignation Date Dim dInterim1 As Date ' If Cont_Type = "استقالة" Or Cont_Type = "متقاعد" Then ' sDate2 = Res_Date ' End If iMonth = DateDiff("m", sDate1, sDate2) If Day(sDate1) > Day(sDate2) Then iMonth = iMonth - 1 End If dInterim1 = DateAdd("m", iMonth, sDate1) iDay = DateDiff("d", dInterim1, sDate2) D = iDay M = iMonth Mod 12 Y = iMonth \ 12 YMDDif2 = CStr(Y) & " س/" & CStr(M) & " ش/" & CStr(D) & " ي" Exit Function err_YMDDif2: If Err.Number = 94 Then 'ignor, null Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Function . جعفر 473.2.db.mdb.zip
    2 points
  2. السلام عليكم و رحمة الله تعالى و بركاته تفضل التعديل المطلوب Listbox.rar
    2 points
  3. السلام عليكم ورحمة الله وبركاته في أحد المشاريع التي قمت بها ، كنت محتاج الى برنامج خارجي ليقوم ببعض المهام للمشروع ، فالطريقة المعتادة التي نستعملها هي ، وضع البرنامج هذا داخل احد مجلدات المجلد الرئيسي لقاعدة البيانات ، وبما ان فقدان/حذف هذا البرنامج يجعل المشروع عاجز عن العمل ، لم يكن عندي خيار ، سوى ان اجعل هذا البرنامج داخل قاعدة البيانات ، بطريقة تسمى Blob المرفق فيه هذه الملفات: . النموذج frm_Blob مهم في انه يسمح لك بوضع برامجك في قاعدة البيانات بسهولة ، والزر الاخر هو لتصدير هذا البرنامج الى اي مجلد في الكمبيوتر (لعمل التجارب مثلا) ، وقد وضعت برنامجين في قاعدة البيانات المرفقة: 1. pdftk.exe والذي يقوم بالعديد من العمليات لملفات الـ pdf ، 2. Arc5_S_BE.mdb ، وهي قاعدة بيانات فاضية ، وبها جداول مؤقته ، فبدل ان اعمل هذه الجداول المؤقته داخل قاعدة بياناتي ، ويكبر حجمها ، رأيت ان استعمل جداول خارجية ، وعند اغلاق البرنامج ، كنت اقوم بحذفها من المجلد: . لعمل البرنامج الاول ، استخدم الزر رقم 1 ، والذي سيصدر البرنامج pdftk.exe الى مجلد قاعدة البيانات ، ثم سيدمج الملفين a.pdf و b.pdf ويحفظ النتيجة في ملف ab.pdf ، ويفتحه ، بينما الزر رقم 2 ، سيصدر قاعدة البيانات Arc5_S_BE.mdb الى المجلد الرئيسي لقاعدة بياناتنا: . عند الضغط على الزر 1 ، سنرى هذه الملفات في المجلد الرئيسي لقاعدة البيانات: . ان شاء الله يكون فيه فائدة للجميع جعفر Blob.zip
    1 point
  4. بسم الله الرحمن الرحيم لاحظت في الفترة الأخيرة كثرة الأسئلة عن موضوع نسيان كلمات مرور ملفات الإكسل أو بعض ورقات العمل بالملف فأحببت أن أشارك إخوتي وأحبّتي أعضاء ومشرفي وخبراء منتدانا الرائع هذه الإضافة MasNoPass لفك حماية أوراق العمل في ملفات الإكسل وتعمدت تسهيل عملها &&&&&&&&&&& فقط تحتاج لإضافة الوظيفة الإضافية: 1 في ويندوز xp نسخ المرفق إلى المسار التالي C:\Documents and Settings\***\Application Data\Microsoft\AddIns حيث أن C هو قرص النظام و *** هو اسم المستخدم 2 في ويندوز 7 نسخ المرفق إلى المسار التالي C:\Users\***\AppData\Roaming\Microsoft\AddIns حيث أن C هو قرص النظام و *** هو اسم المستخدم ****************** بالنسبة لمستخدمي إكسل 2003 من خلال: فتح برنامج الإكسل والضغط على قائمة أدوات tools ===> وظائف إضافية Addins ===> ثم اختر MasNoPass ثم موافق ok وبالنسبة لمستخدمي إكسل 2007 يتم ذلك من خلال : فتح برنامج الإكسل والضغط على زر الأوفيس ثم خيارات إكسل Excel options ثم اختيار وظائف إضافية Addins من الجانب الأيمن/الأيسر ثم اذهب go ثم اختيار MasNoPass ثم موافق ok وبالنسبة لمستخدمي إكسل 2010 وما بعدها يتم ذلك من خلال : فتح برنامج الإكسل والضغط على قائمة ملف file ثم خيارات إكسل Excel options ثم اختيار وظائف إضافية Add-ins من الجانب الأيمن/الأيسر ثم اذهب go ثم اختيار MasNoPass ثم موافق ok /////////////////// طريقة العمل:- بعد تسجيل الوظيفة الإضافية تجد ظهور قائمة جديدة باسم (فك الحماية) وتحتاج فقط إلى فتح الملف المحمي ثم الضغط على قائمة فك الحماية واختيار (إزالة كلمة المرور) بعدها سيتم البدء في عدّ المحاولات والوقت المنقضي في إجراء العملية بعدها تظهر رسالة تفيد أنه تم إزالة كلمة المرور عن الملف وبعد الضغط على الرسالة ستجد الملف مفكوك بين يديك $$$$$$$$$$$$$$$$ و أذكّر نفسي وإياكم بأن الصحابة عليهم رضوان الله كان الواحد منهم إذا أراد أن يدعو لنفسه دعا لأخيه فيقول له الملك آمين ولك مثلها فلا ينقصني سوى دعائكم وأخيرا أذكر بخطورة الموقف وأرجو عدم استعمالها فيما حرّم الله وعند النقل يجب ذكر المصدر منتديات أوفيسنا اللهم قد بلّغت ... اللهم فاشهد أخوكم محمد صالح فيديو لشرح كيفية استعمال الأداة ولا ينقصني سوى دعاؤكم ينصح بالاشتراك في القناة وتفعيل جرس التنبيه ليصلكم كل جديد ومفيد وقت صدوره MasNoPass.rar New_MasNoPass.rar
    1 point
  5. 1 point
  6. أبدأ بحمد الله أولا وأخيرا على ما انعم ووفق وأصلي واسلم على الرحمة المهداة والسراج المنير نبينا محمد وعلى آله وصحبه وسلم ... وبعد كل عام وأنتم بخير وأعاد الله علينا أيامه الكريمة بالخير واليمن والبركات في موضوع اخي الكريم ابو عبدالرحمن وطلبه لواجهة برنامج لتسجيل الأطفال لرياض الاطفال او الروضة علي هذا الرابط فضلت ان تكون في مشاركة منفصلة لتعميم الفائدة ان شاء الله تعالى بشكل بسيط وجذاب صدقة جارية لفارس من فرسان منتدانا أوفيسنا أخي ومعلمنا عماد الحسامي رحمة الله عليه ورحم جميع المسلمين وغفر لهم الأحياء منهم والأموات حتي لا أطيل عليكم شرح مبسط للبرنامج أترككم لتجربة البرنامج في المرفقات وارحب بمشاركتكم في اجراء اية تعديلات وفقنا الله واياكم للصالحات مع تحياتي // ضاحي الغريب KG_Dahy.rar الان الاصدار الثاني علي الرابط التالي اضغط هنا
    1 point
  7. تم رفع هذا الكود فى مشاركة منفصله حتى لا ننسى هذه المشاركة تم ارفاق كود الحل من الفاضل _ ا /الشيباني1 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not OldRng Is Nothing Then OldRng.EntireColumn.AutoFit End If Set OldRng = Target End Sub مرفق الملف ___.zip و لا تنسونا من صالح الدعاء تحياتى
    1 point
  8. هسة انا باستخدم موبايل غدا ان شاء الله راح اشوف طلبك ولكن اين اجد الاستعلام بحثت عنه ولم اجده شوف مصدر التقرير راح تشوفه والا غدا راح اشوفك بالصور ان شاء الله مع تقدير
    1 point
  9. تفضل 1. بالفأرة اليمين انقر على المثلث الاخضر في الدائرة الحمراء 2. انقر على Navigation Options . ثم اختار المربع الذي على اليسار ، واذا اخترت المرع الذي على اليمين ، فان جميع جداول اكسس المخفية سوف تظهر كذلك . جعفر
    1 point
  10. السلام عليكم شباب اذا تسمحوا لي اوضح شو المشكلة ، وشو الحل انت جعلت الحقل No مفتاح اساسي في الجدول Ded_k2_In ، اي لا يمكن اضافة سجل بدون ادخال رقم في هذا الحقل ايضا . الاستعلام qry_Ded_k2_In هو مصدر بيانات النموذج Ded_k2 ، والعمل يبدا من هنا 1. العلاقة الموجودة بين الجدولين تقول: اجلب جميع السجلات التي بها قيمة في الحقل CustomerNr من الجدول tblCustomer ، سواء اكانت قيمة الحقل No من الجدول Ded_K2_In موجودة او لا ، 2. الحقول في ربط الجدولين هما: CustomerNr من الجدول tblCustomer ، والحقل No من الجدول Ded_K2_In ، 3. طريقة عرض السجلات هي Dynaset . وعلى اساس هذه العلاقة ، نجد هذه السجلات والملاحظ اننا لا نستطيع ادخال اي قيمة للحقلين New_Tot والحقل New_Mon من السجل الذي رقم CustomerNr هو 6 ، رجاء الملاحظة ان السجل رقم 5 فيه نفس المشكلة (سنرجع لهذا السجل لاحقا في النموذج) . نعمل التغيير التالي للإستعلام: نضيف الى الاستعلام الحقل No من الجدول Ded_k2_In ، ونغير طريقة عرض السجلات الى Dynaset (Inconsistent Updates . الان اصبح بامكاننا ان ندخل البيانات في السجل السابق ، ولكن بشرط ادخال الرقم في الحقل No والذي يجب ان يساوي CustomerNr ، وفي هذا السجل الرقم هو 6 ، وادخال اي قيمة للحقلين New_Tot والحقل New_Mon . والان لادخال البيانات في النموذج ايضا ، نضيف الحقل No الى النموذج ، ونغير طريقة عرض السجلات الى Dynaset (Inconsistent Updates . والان نستطيع ادخال البيانات في النموذج كذلك ، ولكن بشرط ادخال الرقم في الحقل No والذي يجب ان يساوي CustomerNr ، وفي هذا السجل الرقم هو 5 (انظر الى ملاحظتي اعلاه عن هذا السجل) ، وادخال اي قيمة للحقلين New_Tot والحقل New_Mon . ملاحظة مهمة: عندما تكون طريقة عرض السجلات في النموذج Dynaset (Inconsistent Updates ، وعند حذف سجل ، فإنه سيُحذف من جميع الجداول المرتبطة في الاستعلام ، وفي حالتنا هنا ، الجدولين tblCustomer و Ded_K2_In جعفر 477.db1.mdb.zip
    1 point
  11. شوف اخي غيرت مصدر تقرير من جدول الى استعلام وانطيته شرط بين رقمين between الرقم الاول تختار وهور رقم الاصغر الى رقم الكبير الثاني اولا افتح نموذج فورم1 وادخل رقم الصعير في تيكست1 يعني من رقم وادخل رقم الكبير في تيسكت3 يعني الى الرقم واصغط على زر اتمنى ان ينال اعجابك مع تقدير report.rar
    1 point
  12. عفوا أخي فقد أرفقت الملف القديم بالخطأ تفضل عدد الوجبات والحساب3.rar
    1 point
  13. عفوا على التدخل ، ولكن اذا كان الاستفسار عن رسالة الخطأ ، فقومي بتغيير الكلمة flase الى false حيث تم طباعتها خطأ جعفر
    1 point
  14. السلام عليكم استاذ محمد ايمن طبعاً شاكرة جداً تعاونك معي ربي يجزيك خير ..بالنسبة لما ذكرت فعلا ضنك في محله لأنه هذا قصدي من اضافة اجازة بنفس تاريخ اخذها وبنفس نوعها ومدتها لمجموعة من الموظفين في آن واحد اما بالنسبة لملاحظتك عدم وجود حقل لمدة الاجازة فعلا هو حقل مهم وماشية فيه لكن النموذج المرسل هو نموذج مبسط لما هو معمول عليه ,اما بالنسبة للتعديل الذي ارسلته على المثال فقد كفى ووفى جزاك ربي خير . وعليكم السلام ورحمة الله وبركاته اخي صالح اشكرك جداً فعلا المثال الذي ارسلته لبى الطلب فجزاك الله وجزى جميع العاملين بهذا الموقع خير الجزاء
    1 point
  15. وعليكم السلام اولا قمت بتعديل في برنامجك ، وعملت جداول كالتالي: هذا الجدول لا علاقة له بموضوعك ، ولكن من الافضل ان تجعل القيم المتغيره في جدول مستقل ، ولا تجعله في Dlookup الجدول ، لأن المستخدم يستطيع ان يضيف القيم في الجدول ببساطة وبدون تدخل المبرمج في اضافة/تعديل اي قيم . والان الى موضوعك: تم اضافة تاريخ التوظيف مع بيانات الموظفين ، . اسماء الوظائف تم عزلها الى جدول مستقل ، وامام كل وظيفة عدد ايام الاجازة المسموح له ، واما الاجازات التي تعتمد على تاريخ التوظيف ، فنترك المدة فاضية . عملنا الاستعلام التالي ، والذي ينادي الوحدة النمطية Vacation_Calc للحساب ، ولعمل الوحدة النمطية ، يجب ان نرسل (بالترتيب) أ. تاريخ التوظيف ب. التاريخ الذي نريد حسابه ج. عدد ايام الاجازة المسموح له وللتجربة استعملنا تاريخين مختلفين لحساب (التاريخ الذي نريد حسابه): Vac_Today = تاريخ اليوم Vac_on_3-3-11 = تاريخ 3-3-2011 . والنتيجة . ولعمل الحساب ، يجب استخدام هذه الوحدة النمطية Function Vacation_Calc(eD As Date, E As Date, vD) Dim A 'eD= Employement Start Date 'E= End Date 'vD= Days allowed for Employee 'هل يوجد عدد في جدول الاجازات If Len(vD & "") = 0 Then 'لا يوجد عدد ، اذن فليسوا معلمين 'اذن حساب اجازتهم تعتمد على تاريخ التوظيف 'نحسب فترة توظيفهم بالاشهر ، والسنوات Y = DateDiff("yyyy", eD, E) M = DateDiff("m", eD, E) A = 0 Vacation_Calc = 0 'اذا فترة التوظيف سنةاو اكثر ، استخدم قيمة السنة 'والا استخدم قيمة الشهر If Y >= 1 Then A = Y ElseIf M > 5 And M < 12 Then A = 0.6 End If 'Debug.Print A If A < 0.5 Then Vacation_Calc = 0 ElseIf A >= 0.5 And A < 1 Then Vacation_Calc = 15 ElseIf A >= 1 And A < 10 Then Vacation_Calc = 21 ElseIf A >= 10 And A < 50 Then Vacation_Calc = 30 ElseIf A >= 50 Then Vacation_Calc = 45 End If Else 'نعم يوجد عدد ، هؤلاء معلمين Vacation_Calc = vD End If End Function . جعفر 476.حضور وانصراف.mdb.zip
    1 point
  16. هاي ثقة اعتز فيها ، وانتم وبقية العمالقة في المنتدى ، كذلك خير وبركة جعفر
    1 point
  17. الروابط كان فيها الطرق ، واذا عندك مشكلة ، فالرجاء ارفاق ملفك الاكسل وبدون اي تعديلات عليه ، وبرنامجك الاكسس ، واخبرنا بالتفصيل ما تريد عمله جعفر
    1 point
  18. أشكرك أخي الفاضل صالح حمادي وجزاك الله خيراً
    1 point
  19. تم رفع هذا الكود فى مشاركة منفصله حتى لا ننسى هذه المشاركة كود لتلوين الخلايا التي بها معادلات وكود للتراجع عن التلوين تم ارفاق كود الحل من الفاضل _ ا / أبوعبد الله كود تلوين Sub ColorFormulas() ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas, 23).Select With Selection.Interior .ColorIndex = 8 .Pattern = xlSolid End With End Sub كود تراجع عن التلوين Sub UnColorFormulas() ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas, 23).Select With Selection.Interior .Pattern = xlNone .TintAndShade = 0 .PatternTintAndShade = 0 End With End Sub مرفق الملف color_and_uncolor_formula_cells.rar و لا تنسونا من صالح الدعاء تحياتى
    1 point
  20. وعليكم السلام الرابط التالي فيه طريقة وكود لتغيير الصور في جميع النماذج/التقارير ، من مضمنه الى مرتبطة ، . وبتغيير بسيط تستطيع ان تغيره الى طلبك ، ولاحظ ان نوع الخط الجديد هو "Andalus" في المثال Function Convert_img_Embed_to_Link() Dim frm As AccessObject Dim rpt As AccessObject Dim dbs As Object Dim frm1 As Access.Form Dim rpt1 As Access.Report Dim ctl As Access.Control Set dbs = Application.CurrentProject For Each frm In dbs.AllForms DoCmd.OpenForm frm.Name, acDesign Set frm1 = Forms(frm.Name) For Each ctl In frm1.Controls If ctl.ControlType = acComboBox Or _ ctl.ControlType = acCommandButton Or _ ctl.ControlType = acLabel Or _ ctl.ControlType = acListBox Or _ ctl.ControlType = acOptionButton Or _ ctl.ControlType = acTextBox Then Debug.Print frm.Name & " > " & ctl.ControlType & " > " & ctl.Name ctl.FontName = "Andalus" If frm1.DefaultView = 2 Then frm1.DatasheetFontName = "Andalus" 'DataSheetForms End If End If Next ctl DoCmd.Close acForm, frm.Name, acSaveYes Next frm Exit Function For Each rpt In dbs.AllReports DoCmd.OpenReport rpt.Name, acDesign Set rpt1 = Reports(rpt.Name) For Each ctl In rpt1.Controls If ctl.ControlType = acComboBox Or _ ctl.ControlType = acCommandButton Or _ ctl.ControlType = acLabel Or _ ctl.ControlType = acListBox Or _ ctl.ControlType = acOptionButton Or _ ctl.ControlType = acTextBox Then Debug.Print rpt.Name & " > " & ctl.ControlType & " > " & ctl.Name ctl.FontName = "Andalus" If rpt1.DefaultView = 2 Then frm1.DatasheetFontName = "Andalus" End If End If Next ctl DoCmd.Close acReport, rpt.Name, acSaveYes Next rpt End Function جعفر
    1 point
  21. لازلت في انتظار الجواب على السؤال اعلاه ، لأنه سيفيدنا في جلب التاريخ الناقص في التقرير (انظر المربع الاحمر في الصورة الاخيرة): الاستعلام التالي تم اخذه من التقرير rpt_Follow4 وتحويله من SQL الى استعلام . ونتائجه 32 سجل . جلبت احد الجداول التي استعملها في الكثير من برامج ، tbl_Months ، وفيه ايام الاسبوع حسب ترقيمهم في الكود . عملت استعلام جديد فيه جميع ايام الاسبوع (ما عدا الجمعة والسبت والسجلات الفاضية) ، ولجلب eSIS من tbl_Follow4 ، وبما اننا سنحتاج الى الاسم ايضا ، فاضطررنا لإستخدام الجدول StudentNames . والنتيجة فيها الايام التي نريدها (الايام التي لا يكون فيها الطالب غائب او متأخر) ، لاحظ عندنا 35 سجل . والان الى الاستعلام الذي سيربط الاستعلامات السابقة ، ولاحظ العلاقة بين الاستعلامات . ونتيجته ، ورجاء الملاحظة اننا من الان سنعتمد على الحقل eSIS وليس IDnum في التقرير . والان نحن بحاجة الى تعديل في التقرير قليلا ليتماشى مع المتغيرات . والنتيجة النهائية للتقرير ، وستلاحظ ان التاريخ غير موجود (طبعا غير موجود ، لأن البرنامج يسجل تاريخ الغياب و التأخير) ، فاذا اردنا الحصول على هذا التاريخ ، فيجب الاجابة على سؤالي في المشاركة السابقة . جعفر 459.1.AbsentLate 2016.accdb.zip
    1 point
  22. وعليكم السلام أستاذ علي بالنسبة الى اولا: المفروض ان النموذج الرئيسي يكون غير مضمن وغير مربوط مع الجدول tbl_Follow4 ، لانك لا تستخدمه لإدخال/استخراج بيانات ، لذا احذف اسم الجدول كمصدر للسجلات: . والسبب الاساسي في عمل سجل فاضي ، هو ادخالك معلومة في الحقل Grade في الجدول ، والمعلومة هي "" اي لا شئ ، اي انك حولت الحقل من Null الى Nothing بينما اسم الحقل الذي يجب ان يكون في الكود هو sGrade مثل sSection . جعفر
    1 point
  23. Sub Yasser() Range("B3:G3").Copy ورقة2.Range("B" & [A3].Value + 2) End Sub الكود بسيط في حالة نفس ترتيب الحاويات الموجود بالملف اما لو اختلف نعمل كود تاني دا حل الاخ Samo52 وياريت نغير الاسم للغة العربية تحياتي اما اخي medooo1 هشوف حل باذن الله لك حركة حاويات.rar
    1 point
  24. مشكورين اخواني الكرام فعلا انا تعمدت ان اجعله يستقبل البيانات تلو الاخرى ويحتفظ بالقديمة دا في حالة الترحيل المتراكم اما في الحالة التى طلبتوها دا مثال لعدم تكرار البيانات لعله المطلوب تحياتي لكم بيانات الموظفين - Copy.rar
    1 point
  25. اما الجزء الاخير من السؤال وهو عرض التقرير بالشكل الذي تفضلت به ، فممكن عمله ، وبما ان البيانات التي عندك في اكثر من جدول ، فيجب عليك عمل استعلام تجميعي Union Query لدمج بيانات هذه الجداول في استعلام واحد (تذكر لما اخبرتك باستعمال جدول واحد لجميع الايام ، فهذا سيسهل العمل في هذه الخطوة ، مثلا) ، فالجدول tbl_LessonAbsent فيه جميع الحقول المطلوبة ، فما عليك الا ان تعمل تقرير منه ، وبديكور قليل ، فيصبح مثل الصورة التى ارفقتها جعفر
    1 point
  26. وثانيا في التقرير: عندك: . . ولكنه كان يجب عليك ان تجمع اسماء الطلبة ، ثم تسلسل التاريخ: . والنتيجة: . جعفر
    1 point
  27. وعليكم السلام استاذنا الجليل علي بالنسبة الى اولا ، مشكلتك في عدم عرض البيانات جميع: النموذج يقرأ جميع السجلات: . ولكنك طلبت منه اظهار سجل واحد في النموذج: . وبعد تغيير اعدادات النموذج ليعرض جميع السجلات: . ولا اعرف لماذا تريد حفظ البيانات مرة اخرى في الجدول tbl_LessonAbsent ، حيث ان البيانات موجودة هناك اصلا !! واذا سمحت لي في ملاحظة لطريقة حفظ البيانات ، فرأيت ان جداول الايام متشابهة في عدد الحقول والبيانات (ما علينا من اسماء الحقول الان) ، لذا من الافضل ان تجمع هذه الجداول في جدول واحد ، وتضيف فيه حقل اليوم لتمييز البيانات لكل يوم (كما هو الحال في الجدول tbl_LessonAbsent) ، وبهذه الطريقة تختصر الكثير في البرمجة جعفر
    1 point
  28. السلام عليكم و رحمة الله تعالى و بركاته: المثال الذي قدمته أستاذ محمد ممتاز. و بعد إذنك أستاذ أردت أن أضيف مثال آخر يلبي حاجة السائلة في النموذج تسجيل الإجازة تضغط على زر "جلب موظف" يفتح نموذج آخر "نموذج البحث" يمكنك من البحث عن الموظف و تحديده ثم الضغط على زر "نقل" ليتم نسخ معلومات هذا الموظف إلى نموذج "تسجيل الإجازة" و هكذا تختار الموظفين المطلوبين تغلق "نموذج البحث" و تسجل نوع الإجازة و تاريخها و سببها ثم الضغط على زر "حفظ" . هذا هو المرفق و الله هو المستعان. اضافة اكثر من موظف في ان واحد.rar
    1 point
  29. عذرا اختي الفاضلة ولكن لا يمكن تطبيق هذا الكلام منطقيا و السبب لنفرض الموظف احمد اخذ اجازة مرضية لمدة عشرة ايام و الموظف محمود اخذ اجارة عادية لمدة يوم اذا اردنا نكرر نفس الاجازة فهذا سيمنح الموظف احمد عشرة ايام و الموظف محمود يوم واحد فقط !!!!!!!!!!!!!! كيف سيتم احتساب الاجازات في هذه الحالة ؟؟؟؟؟ اذا اردتي ان تمنحي الموظفين اجازة تعويضية يجب ان تكون مدتها موحدة لجميع الموظفين ( اذا لم يخب ظني ) في هذه الحالة عليكي اضافة خيار للاجازات وهو ( اجازة تعويض ) وعند اختيار هذه الاجازة يظهر جميع الموظفين و بجانب كل اسم ( خانة اختيار ) و الموظف الذي يتم اختياره يتم منحه هذه الاجازة المرفق سيوضح الفكرة اكثر ملاحظة : لما لا يوجد حقل مدة الاجازة ؟؟؟ هذا الحقل مهم جدا اضافة اكثر من موظف في ان واحد2.rar
    1 point
  30. السلام عليكم . هذا صحيح ، ولكن في نهاية الدالة تستطيع تختار النطاق Range او الورقة/sheet ، فعليه يمكنك ان تعيد الامر اكثر من مرة ، كل مرة لورقة اكسل اخرى (لاحظ اسماء الـSheet): DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "tbl_Sheets", Me.txtPath, False, "Sheet1$" DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "tbl_Sheets", Me.txtPath, False, "Sheet2$" DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "tbl_Sheets", Me.txtPath, False, "Sheet3$" . ولكن هذا الامر يتطلب منا ان نعرف عدد الاوراق/Sheets ، واسمائها ------------------------------------------------------------------------------------------------------------------------ والآن لشرح ما عملته انا: 1. عملت جدول اسمه tbl_Sheets ، لإدخال جميع المعلومات في جميع الاوراق/Sheets: . وعن طريق الكود (الكود سيكون في نهاية الموضوع) ، يأخذ البيانات ، فيصبح: . ثم يأتي الكود مرة اخرى ، فيملئ حقل ID لكل علامة: . ثم عملت استعلام جدولي CrossTab ، والذي به نستطيع ان نجعل بيانات احد الاعمدة عبارة عن اعمدة متفرقة ، يعني الحقل F1 ، اردنا ان نجعل كل مادة عبارة عن عمود مستقل): . وهذه نتائجه: . والان الى عمل استعلام آخر ، لجمع كل هذه السجلات: . فاصبحت: . الآن وقد اصبحت البيانات جاهزة لإلحاقها بالجدول النهائي Degrees ، نعمل استعلام الحاقي: . والكود الذي يقوم بكل العمل: Private Sub ImportData_Click() 'DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "tbl_Sheets", Me.txtPath, False, "Sheet1$" 'DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "tbl_Sheets", Me.txtPath, False, "Sheet2$" 'DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "tbl_Sheets", Me.txtPath, False, "Sheet3$" Dim blnHasFieldNames As Boolean, blnEXCEL As Boolean, blnReadOnly As Boolean Dim lngCount As Long Dim objExcel As Object, objWorkbook As Object Dim colWorksheets As Collection Dim strPathFile As String, strTable As String Dim strPassword As String ' Establish an EXCEL application object On Error Resume Next Set objExcel = GetObject(, "Excel.Application") If Err.Number <> 0 Then Set objExcel = CreateObject("Excel.Application") blnEXCEL = True End If Err.Clear On Error GoTo 0 ' Change this next line to True if the first row in EXCEL worksheet ' has field names blnHasFieldNames = False ' Replace C:\Filename.xls with the actual path and filename strPathFile = Me.txtPath ' "C:\Filename.xls" ' Replace tablename with the real name of the table into which ' the data are to be imported strTable = "tbl_Sheets" '"tablename" ' Replace passwordtext with the real password; ' if there is no password, replace it with vbNullString constant ' (e.g., strPassword = vbNullString) strPassword = vbNullString '"passwordtext" blnReadOnly = True ' open EXCEL file in read-only mode ' Open the EXCEL file and read the worksheet names into a collection Set colWorksheets = New Collection Set objWorkbook = objExcel.Workbooks.Open(strPathFile, , blnReadOnly, , _ strPassword) For lngCount = 1 To objWorkbook.Worksheets.Count colWorksheets.Add objWorkbook.Worksheets(lngCount).Name Next lngCount ' Close the EXCEL file without saving the file, and clean up the EXCEL objects objWorkbook.Close False Set objWorkbook = Nothing If blnEXCEL = True Then objExcel.Quit Set objExcel = Nothing ' Import the data from each worksheet into the table For lngCount = colWorksheets.Count To 1 Step -1 DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _ strTable, strPathFile, blnHasFieldNames, colWorksheets(lngCount) & "$" Next lngCount ' Delete the collection Set colWorksheets = Nothing '--------------------------------- ' importing is finished 'now organize the table, by adding the ID to all the group Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset("Select * From tbl_Sheets") rst.MoveLast: rst.MoveFirst RC = rst.RecordCount For i = 1 To RC If rst!F1 = "رقم الهوية" Then 'And Len(rst!ID & "") = 0 Then myID = rst!F2 rst.Edit rst!ID = myID rst.Update Else rst.Edit rst!ID = myID rst.Update End If rst.MoveNext Next i rst.Close: Set rst = Nothing 'append the data DoCmd.SetWarnings False DoCmd.OpenQuery "qry_Append_Sheets" DoCmd.SetWarnings True MsgBox "Done" ' Uncomment out the next code step if you want to delete the ' EXCEL file after it's been imported ' Kill strPathFile End Sub . . ولكن ، يجب عليك ان تحذف بيانات الجداول Degree و tbl_Sheets قبل ان تقوم بأي عمل جعفر 275.ImportDegrees.accdb.zip
    1 point
  31. و عليكم السلام اخي العزيز حسين ضع التعبير التالي: =DCount("id";"data1";"eName='مدرس'") حيث eName هو اسم الحقل المراد ايجاد عدد المدرسين به ملاحظة : ينصح بإستخدام اسماء انجليزية للحقول . تفضل المرفق بعد التعديل بالتوفيق tast55.rar
    1 point
×
×
  • اضف...

Important Information