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

jjafferr

أوفيسنا
  • Posts

    9,871
  • تاريخ الانضمام

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

  • Days Won

    403

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

  1. السلام عليكم أخي كريمو الرجاء تجربة المرفق للنموذج Cridi ، وتأخير الاستقطاع ، والتأكد ان كل التغييرات تمام في الجدول tbl_Loans. لن ننتقل الى ElectroM ، لأنه ببساطة نسخ ولصق (مع تعديل بسيط) من كود Cridi. اذا تلاحظ ، عملت Cidi_sub2 ، والفكرة هي دمج Cridi و Elec في هذا النموذج (وعليه لن نحتاج الى كود آخر لنموذج آخر) ، كان ودي ان اضع frm_Loans كنموذج فرعي في النموذج Cridi ، حيث ستكون عندك المعلومة كاملة عن جميع القروض للموظف. جعفر 11.4.FrmDiscountReport.mdb.zip
  2. السلام عليكم جرب الملف المرفق لوسمحت واذا في اي ملاحظة ، ياريت تعمل لي مثل الجدول: المدة قبل (يوم ، شهر ، سنة) ، المدة بعد (يوم ، شهر ، سنة) ، وتحط النتائج في المعادلة. جعفر 63.مساهمة الراتب.accdb.zip
  3. جرب رفع الملف هذا !! شوف النتائج في الصور المتحركة: جعفر 66.BarcodeStudent.mdb.zip
  4. تفضل والطريقة: 1. تعمل استعلام للطلبة الحاضرين في ذلك اليوم ، 2. تعمل استعلام يقارن: أ- الجدول اللي فيه جميع الاسماء ، ب- مع الاستعلام اللي فيه الطلبة الحاضرين. جعفر 66.BarcodeStudent.mdb.zip
  5. السلام عليكم شباب ممكن ان ادلو بدلوي في الواقع ، مع سهولة الدالة ، إلا ان لها استعمالات اكاد لا استغني عنها في اي من برامجي 1.عندنا قيمة الحقل في الجدول ممكن تكون Null ، ومعناه ان مافي اي معلومة دخلت في هذا الحقل ، 2.وممكن ان تكون هناك قيمة في الحقل ، 3.وممكن يكون فاضي ، ومعناه انه تم ادخال قيمة في الحقل ومن ثم تم حذف هذه القيمة. اذا كان اسم الحقل fName مثلا ، واذا اردنا ان نعرف اذا كان الحقل فاضي ، فعادة نقوم بالكود التالي لفحص الطريقتين: if isNull([fName]) or if [fName]="" ولكني استخدم دالة LEN لفحص الطريقتين مرة واحدة ، هكذا: if LEN([fName] & "")=0 جعفر
  6. عفوا ، انا اعتقدت تقرير المتأخرين عطني شوية وقت واحاول اعمل لك استعلام الغائبين جعفر
  7. ليش؟ رجاء لا تغير المفتاح الرئيسي ، لأنه تارة ينفعك انت ، وتارة ينفع البرنامج. فاذا امكن ، ارجع المفتاح الرئيسي. حياك الله التقرير عبارة عن تنسيق للإستعلام ، فعليك بالرأس وسيأتيك الذيل ببلاش سر الاستعلام هو التنسيق ، لاحظ الصورة المرفقة ، التنسيق في النموذج ، وفي الاستعلام: ياريت تخلي لنا الرابط هنا ، علشان يستفيد الجميع من الشرح جعفر
  8. السلام عليكم أستاذنا الفاضل / الجندبي (هاي لزقة فيك ) كان على بالي أخبرك عن موضوع ارفاق صور الطلبه في البرنامج ، ولكن وللأسف نسيت وشكرا لأخي حربي ، ذكرني بالموضوع فكرة إرفاق الصور داخل البرنامج ، ستؤدي الى مشاكل في البرنامج ، ومنها ان حجم البرنامج سيصبح كبيرا ، وقد لن تستطيع تستعمله!! والطريقة الصحيحة هي جعل الصور في مجلد على الكمبيوتر ، وانا افضل ان يكون هذا المجلد في نفس المجلد الذي يكون فيه برنامج الجداول (هذا اذا كان برنامجك مقسم الى قسمين) ، وإلا فيكون المجلد في نفس مجلد البرنامج. الملف المرفق بصيغة 2003 ، مع بعض التعديلات على البرنامج السابق ، والصور غير مرفقة في الجدول في البرنامج ، وانما هناك مجلد اسمه Student_Pictures (وانا وضعت فيه صورة للأخ أحمد واخرى لرائد) ، ويجب ان تضع مجلد الصور في نفس مجلد البرنامج (ما يهم اين ، ودائما تستطيع ان تنقلهم معا الى اي مكان تحب ، بشرط ان يكونوا مع بعض) ، واذا اردت ان يكون مجلد الصور في اي مكان آخر في الكمبيوتر ، فيجب تغيير المسار في الوحدة النمطية (وهناك مثال لهذا). جرب ادخال الباركود لأحمد او رائد ، ثم اضغط TAB ، وسترى الصورة جعفر 66.BarcodeStudent.mdb.zip
  9. وعليكم السلام أخي المسألة مو فقط مسألة استيراد ملفات pdf ، وانما كيف وضعها على النموذج كذلك ، فنموذجك مهيأ للصو وليس لملفات pdf!! الرابط التالي يعطيك مثال للإثنين: http://www.officena.net/ib/index.php?showtopic=60235 جعفر
  10. مع اني معارض فكرة إعطاء تقرير عن المتأخرين (مو انا كنت منهم ايام زمان ) ، ولكن تفضل: جعفر 66.BarcodeStudent.accdb.zip
  11. الله يطول في عمرك أخوي ، لا ما قرأت المرفق انت ماشاء الله عليك مادمت كتبت الكود ، قلت اعطيك الجواب ، وانت تحطه في المكان اللي تريده بس مادمت مصر اني احط الجواب في الكود ، بدل هذا: Me.acpt20 بهاي: left(Me.acpt20,1) جعفر
  12. سهله msgbox left([acpt20 ],1) جعفر
  13. السلام عليكم أخي محمد انا لن اتطرق لطريقة عمل النموذج الجديد ، "لأننا" لم نلحظ المشكلة في النموذج الاصل ولكني دخلت في كود Combopn_AfterUpdate : pn = DLookup("pn", "code", "[pn]=forms!frm_dataentry!Combopn") size = DLookup("Size", "code", "[pn]=forms!frm_dataentry!Combopn") vendor = DLookup("Vendor", "code", "[pn]=forms!frm_dataentry!Combopn") Description = DLookup("Description", "code", "[pn]=forms!frm_dataentry!Combopn") Maxrl = DLookup("Maxrl", "code", "[pn]=forms!frm_dataentry!Combopn") Maxrlegyptair = DLookup("Maxrlegyptair", "code", "[pn]=forms!frm_dataentry!Combopn") ACType = DLookup("actype", "code", "[pn]=forms!frm_dataentry!Combopn") Pos = DLookup("pos", "code", "[pn]=forms!frm_dataentry!Combopn") BiasRadial = DLookup("biasradial", "code", "[pn]=forms!frm_dataentry!Combopn") code = DLookup("code", "code", "[pn]=forms!frm_dataentry!Combopn") لاحظت انك تنادي الجدول (اي تعمل استعلام للجدول) 10 مرات !! انا دائما لما اعمل برامجي ، اعمل البرنامج على اساس انه سيكون عبارة عن جزئين ، الواجهة FE ، والجداول BE ، وان الجداول BE ، ستكون في شبكة ، وان الواجهة FE ستكون لأكثر من مستخدم. لهذا السبب ، فيجب ان نقلل الزحمة في الشبكة ، وذلك بتقليل زيارة/استعلام الجداول قدر الإمكان ، وعند كل زيارة ، يجب ان نأخذ اكبر كمية من البيانات المطلوبة ، ثم نتعامل معها محليا في FE. لذلك ، فانا هنا اعطيك احد البدائل (والتي لا يعرفها الكثير ، لأنها تعمل على الاكسس 2003 فما فوق) ، فالكود التالي ، يقوم بزيارة/استعلام الجدول عن طريق DLookup مرة واحدة ، ويأخذ 10 بيانات مرة واحدة ، فلذا يمكن ان يستبدل كودك اعلاه: Dim x() As String A = Nz(DLookup("[pn] & '|' & [Size] & '|' & [Vendor] & '|' & [Description] & '|' & [Maxrl] & '|' & [Maxrlegyptair] & '|' & [actype] & '|' & [pos] & '|' & [biasradial] & '|' & [code]", "code", "[pn]=forms!frm_dataentry!Combopn"),"|||||||||") 'ويمكن استعمال اي شيء بدل عن | فمثلا الفاصلة 'A حتى اذا لم هناك قيمة للمتغير Nz نستعمل الدالة 'عدد مرات وضع العلامة | في نهاية السطر ، يكون نفس عددها في المعادلة 'لهذا السبب نرى اننا وضعنا 9 منها في نهاية السطر x = Split(A, "|") ' For i = LBound(x) To UBound(x) ' Debug.Print x(i) ' Next i Me.pn = x(0) Me.size = x(1) Me.vendor = x(2) Me.Description = x(3) Me.Maxrl = x(4) Me.Maxrlegyptair = x(5) Me.ACType = x(6) Me.Pos = x(7) Me.BiasRadial = x(8) Me.code = x(9) جعفر
  14. نعم ممكن في الكود بس اللي بيصير (حسب فهمي): اذا انت دخلت التواريخ التالية للموظف لحساب مساهمته: من 1-1-1993 الى 1-1-2000 1. لازم نحسب الفترة من 1-1-1993 الى 1-8-1994 (عدد الايام ، وعدد الاشهر ، وعدد السنين) ، ثم نحسب مساهمة الراتب مال هذه الفترة ، 2. لازم نحسب الفترة من 1-8-1994 الى 1-1-2000 (عدد الايام ، وعدد الاشهر ، وعدد السنين) ، ثم نحسب مساهمة الراتب مال هذه الفترة ، 3. نجمع مساهمة الراتب 1 + 2 سؤال: هل طريقتي صحيحة؟ اذا كانت صحيحة ، فلا يوجد معنى لوجود عدد الايام ، وعدد الاشهر ، وعدد السنين في النموذج ، لأنك ما بتعرف هي حال اي مجموعة ، واللي يزيد الطين بلّه ، رقم 4 في الاسفل كذلك 4. مساهمة البدلات ، قبل تاريخ 2-11-1996 شو نسوي ابها؟ جعفر
  15. عذرا على الخطأ جرب هذه النسخة ، وقد عملت الاستعلام qry_Loans ، وتفتحه من النموذج (شوف الصورة): طبعا تقدر تمسح كل شئ من الجداول وتبدأ من جديد ، جربه لوسمحت 1. انت تريد ان تعطي الاختيار للمموظف في عملية سداد المبلغ ، وهو يختار الاشهر؟ اذا كان الموضوع كذلك ، فيجب ان تقوم بالعملية يدويا ، فالبرنامج لا يستطيع معرفة الاشهر بهذه الطريقة!! 2. بالنسبة لتوزيع المبلغ ، فاعتقد بأن يوزع على الاشهر ، بقيمة قسط الشهر ، وليس أكثر (هذا سيسهل عملية التقرير ، وكل رقم سيكون بشهره) ، اما اذا لم نلتزم بتوزيع الاشهر حسب القسط ، فمعناه مثلا: قسط 8-2015 هو 2000 ، ولكنه دفع 4000 ، فمعناه يجب علينا ان نجمع الارقام تراكميا للحصول على الرقم النهائي ، بينما الطريقة الاولى جاهزة وبدون ارقام تراكمية بالنسبة لدمج الجدولين ، فرجاء إخباري (في صورة او اكسل) عن الحقول المتشابهة في الجدولين جعفر 11.3.FrmDiscountReport.mdb.zip
  16. رحم الله والديك أخوي أبوخليل ، صرت في فريقنا أخي محمد ، صرنا ثلاثه (انا وراعي الغنم وأبوخليل) نقول النسخة مافيها شئ جعفر
  17. طيب انا ما شايف اي تغيير في السجلات في هذه النسخة!!
  18. أستاذ محمد خلينا في موضوع واحد ونحاول نحل المشكلة ، ومافي داعي لفتح موضوع جديد !! عفوا أخوي أبوخليل ، اذا ممكن لوسمحت تشاركنا في الرابط ، علشان نحل الموضوع مع بعض: http://www.officena.net/ib/index.php?showtopic=61152&p=393969 جعفر
  19. يا فنان يا أبوخليل ، تسلم ايدك هالأفكار ما تيجيني ، ولا حتى بالفيتامينات جعفر
  20. الظاهر في فرق بين قاعدة البيانات اللي انت شغال عليها ، وبين اللي انت ارفقته!! رجاء انك تجرب المرفق اللي وضعته لنا. جعفر
  21. بعد الرد على سؤالي السابق ، وهل ممكن دمج جدول Cridi وجدول ElectroMeng ، مع إضافة نوع القرض (وستكون Cridi او ElectrMeng او حتى اي شئ جديد في المستقبل) ، فاذا تم هذا ، فالمسألة ستقلل من عملك بين النماذج والجداول والتقارير ، وسيكون نموذج واحد وجدول واحد جعفر
  22. كما قلت سابقا ، انا لا يحصل عندي هذا الشئ ولكن ، غير اعدادات النموذج من All Records الى Current Record مثل الصورة: جعفر
  23. وعليكم السلام أخي محمد انا انزلت البرنامج ، وما صار شئ لما ضغطت على Enter !! رجاء التوضيح بتفصيل أكثر ، بالكلمات ، واذا اردت بالصورة ، فخير جعفر
  24. مثلا: موظف عنده قرض 20,000 ، لمدة عشر اشهر ، بسداد 2,000 لكل شهر. الشهر السداد 11-2014 2000 12-2014 2000 1-2015 2000 2-2015 2000 3-2015 2000 4-2015 2000 5-2015 6-2015 7-2015 8-2015 سدد 2,000 لكل شهر ، وبقي عليه 8,000 ، الآن يريد ان يدفع 5,000 : هل اسدد من النهاية: 8-2015 2000 7-2015 2000 6-2015 1000 او اسدد من الشهر التالي للدفع: 5-2015 0 6-2015 1000 7-2015 2000 8-2015 2000 او كيف؟ جعفر
×
×
  • اضف...

Important Information