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

ابو عارف

الخبراء
  • Posts

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

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

  • Days Won

    2

كل منشورات العضو ابو عارف

  1. السلام عليكم و رحمة الله اخي زين المهندس بنسبة شق الاول من السؤال هناك مشكلة في جدول "غير متزوج" لان الحد الاعلى و الادنى مكرر ثلات مرات و مقدار ضريبة مختلفة في كل صف عليك ترك ثلاثة صفوف الاول و حذف الباقي لان غير متزوج ليس لديه اطفال و هذا سبب الخطاء و حول الجزء الثاني : If Not IsNull([الفئة]) Or [الفئة] <> "" Then هذا سطر يطلب من البرنامج تنفيذ الامر شرط اذا كان مربع الفئة غير فارغة لان: يتم تعين الراتب على حسب الرتبة و الفئة ،و الكود موجود في حدث بعد تحديث للفئة و الرتبة هذا الامر يمنع تعين الراتب اذا لم يتم اختيار الفئة و العكس الصحيح بنسبة الرتبة و للوضاحة اكثر: نطلب من البرنامج يرجع لنا راتب من الصف رتبة تساوي قيمة موجودة في مربع الرتبة في نموذج الواجهة و الفئة تساوي قيمة موجودة في مربع الفئة في نموذج الواجهة طيب ماذا الان ان كان احد مربعات فارغة؟ طبعا يرجع خطاء. و بنسبة الشق الثالث مثلا مقدار ضريبة مؤظف راتبه بين (1000000 و 950000) 2000 دينار، لتفترض مؤظف راتبه 951000 تطبق عليه ضريبة 2000 دينار ايضا الان انظر الفرق بين الاعلى و الادنى، كما شرحت دالة Dmax في مشاركة السابقة (يرجع باعلى قيمة ما اقل او تساوي الراتب(951000) الان في جدول الراتب في حقل الحد الاعلى لا يوجد 951000 و اول اقل قيمة من 951000 في جدول 949000 و ضريببة 949000 1999 دينار لا 2000 اما لو اخترنا الحد الادنى ، في حقل الحد الادنى ايضا لا يوجد 951000 ولكن اول اقل قيمة من 951000 هي 950000 و ضريبته 2000 دينار. هذا ما استطعت اشرح و لك مني اجمل تحية،،،
  2. تفضل اخي ملفك بعد تعديل combo filter.rar
  3. تفضل اخي علما بان تم تغير اسم جدول year الى yyear و كذالك اسماء حقول في جداول بهذالاسم لان year كلمة محجوزة في اكسس و اليك المرفق New Microsoft Access Database1.zip
  4. و عليكم السلام و رحمة الله و بركاته طبعا تربط الواجهة مع جدول الرئيسي لان الاستعلام لعرض نتائج فقظ لايقبل تسجيل الجديد هناك ثلاثة خيارات متاحة 1) تخصيص الواجهة الحالية للتسجيل سجلات الجديدة فقط و انشاء نموذج مماثل للعرض و جعل مصدره الاستعلام . 2) انشاء استعلام تحديث و تشغيله بين حين و الآخر لتحديث الجدول الرئيسي وترك الواجهة كما هو 3) وضع اكواد في احداث مربعات الواجهة و ذالك لتحديث جدول و الواجهة مباشر دون حاجة للاستعلام انظر المرفق بعد تحديث مربع الدرجة او الفئة ايهما الاخير تحدث مربع "الراتب الاسمي" و مربع عدد الاطفال تحدث مربع "الضريبة" DLookup("[مقدار الضريبة]", ([الحالة]) بحث في حقل "مقدار الضريبة" في جدول ما هو مكتوب اسمه في حقل (الحالة) مثلا اذا اخترت في حقل الحالة متزوج و الزوجة ربة بيت ، يبحث القيم الموجودة في حقل "مقدار الضريبة "في نفس جدول و هكذا و الباقي كود لتحديد معايير القيمة يعني ارجاع اعلى قيمة أقل او يساوي الراتب الاسمي و عدد اطفال يساو ي عدد اطفال في الجدول الرئيسي اما الدالة Val لا حاجة لها في المرفق الجديد كتبتها في الاستعلام لقبول تنسيق العملة فقط بالتوفيق. Database1.rar
  5. السلام عليكم اخي انظر التعديل حيث تم وضع كود في حدث قبل تحديث للقائمة Product name New Microsoft Access Database.rar
  6. السلام عليكم و رحمة الله و بركاته اولا حمد لله على السلامة الاخ ابو آدم بعد غياب فترة طويلة ثانيا تجد في المرفق التعديل حسب فهمي من المطلوب علما بان تم اضافة حقل (عدد ابناء) في جدول "غير متزوج" و ذالك لضرورة مساواة عدد و الاسماء جداول الاربعة و قيمته صفر و ايضا تعديل في صفوف الاخيرة في جدول الراتب. Database1.rar
  7. حاضر ولايهمك لنفترض اسم النموذج لديك Form1 اكتب الكود كذا If MsgBox("هل تريد فتح النموذج في وضع ملء الشاشة", vbYesNo, "الرسالة") = vbNo Then MsgBox "No" Else DoCmd.SelectObject acForm, "Form1" DoCmd.Maximize End If بالتوفيق
  8. اخي السيد اولا شكرا جزيلا على التوضيح ثانيا كلام الاخ محمد صابر "بس مايشتغل" خلاني اجرب الكود في النموذج عندي في اوفيس 2007 في ويندوز سفن و اوفيس 2010 في ويندوز 10، و فعلا كلامه صحيح مايشتغل يعني عند اختيار نعم لايكبر النموذج، ثم اضطرت اضافة سطر لاعادة تحميل النموذج DoCmd.SelectObject acForm, "FormName" ثم عاد يشتغل
  9. جرب هذا If MsgBox("هل تريد فتح النموذج في وضع ملء الشاشة", vbYesNo, "الرسالة") = vbNo Then MsgBox "No" Else DoCmd.SelectObject acForm, "FormName" DoCmd.Maximize End If غير FormName الى اسم نموذج لديك
  10. عليكم السلام نحن كمسلمين و لله الحمد اجابتنا للرسالة "بسم الله الرحمن الرحيم","الله اكبر" دائماً نعم ولا مجال لخيار آخر. اما الموضوع الخاصة بنموذج ، الصق الكود التالي If MsgBox("هل تريد فتح النموذج في وضع ملء الشاشة", vbYesNo, "الرسالة") = vbNo Then MsgBox "No" Else DoCmd.Maximize End If
  11. السلام عليكم و رحمة الله و بركاته اخي انظر الاستعلام الحقل الاول يرجع تاريخ تقريبي من تاريخ الحالي كما تفضل الاخ ابو خليل و الآخر (1/1/سنة تاريخ الحالي ناقص Age) Database3.rar
  12. السلام عليكم و رحمة الله و بركاته جرب الكود بعد تغير بسيط على الكود الاستاذ/ ELsayed الاول Private Sub أمر11_Click() If IsNull(fid) Then MsgBox "برجاء كتابة هوية العميل" Exit Sub End If If IsNull(PayMony) Then MsgBox "برجاء كتابة المبلغ المدفوع" Exit Sub End If If IsNull(monthfild) Then MsgBox "برجاء كتابة شهر الدفع" Exit Sub Else Dim Y As Date Y = Nz(DLookup("monthfild", "databace", "id=" & Me.fid & "And month(monthfild)=" & Month(monthtext)), 0) If Y <> 0 Then MsgBox "عفوا تم تسجيل هذا الشهر مسبقا لهذا العميل", vbInformation, "مكرر" Else DoCmd.SetWarnings False DoCmd.RunSQL "INSERT INTO databace " & "(id,monthfild,namee,WorkPlace,PayMony,Mountfild) VALUES " & "(fid, monthtext,fname, WorkPlace ,PayMony,Mountfild);" DoCmd.SetWarnings True MsgBox "تم سداد الشهر بنجاح" End If End If End Sub
  13. السلام عليكم جرب هذا Rs.FindFirst ("[t_name ] ='" & F_name & "' Or [t_mobile]='" & F_mobile & "'") و اذا كان تنسيق عمود تلفون رقما Rs.FindFirst ("[t_name ] ='" & F_name & "' Or [t_mobile]=" & F_mobile)
  14. يبدو الاستاذ ابو عبدالله قام بالرد خلال كتابة مشاركتي لان قبل البدء بكتابة الكود ماشفت مشاركة ابو عبدالله على كل حال الحمد لله على ايجاد الحل و نتمنى لك توفيق.
  15. 'للملف وورد 2003 او اقدم ActiveControl.HyperlinkAddress = "D:\Myfolder\Testfile.doc" ActiveControl.Hyperlink.Follow 'للملف وورد 2007 او احدث ActiveControl.HyperlinkAddress = "D:\Myfolder\Testfile.docx" ActiveControl.Hyperlink.Follow 'للملف اكسل 2003 او اقدم ActiveControl.HyperlinkAddress = "D:\Myfolder\Testfile.xls" ActiveControl.Hyperlink.Follow 'للملف اكسل 2007 او احدث ActiveControl.HyperlinkAddress = "D:\Myfolder\Testfile.xlsx" ActiveControl.Hyperlink.Follow ضع كود مناسب في حدث عند نقر لزرالأمر غير مسار الى مسار ملف لديك
  16. بصراحة انا احب النقاش و اشكر كل من ينبهني على الخطاء و خاصتا املاء كتابتي لانني لا اجيد في كتابة لغة العربية ، و هذا الملف بعد اصلاح الخطاء attendance (1).zip
  17. حياك الله و نحن دائما في خدمة و الحمد لله على وصول الحل
  18. شكرا على تعليق استاذ ابا جود ، صحيح كان هناك خطاء بسبب كتابه كلمة Hour في مكان غير مناسب و لتصحيح تلك الخطاء اضطرت معالجتها بالفنكشن في وحدة النمطية و ذالك لزيادة طول في التعبير . اخي SANDA NET جرب التعديل و لك حرية اختيار التعديل من ثلاثة ، التعديل في مشاركتي الثانية او تعديل الحالي او تعدبل على طريقة استاذ "بحار الاكسس" و طريقة بحار الاكسس تحسب حتى ثواني اوقات و من وجهة نظري طريقة جيدة ، و للحل مشكلة ثواني اجعل قيم اوقات افتراضية في كل جدولين "Short Time" او Format(Date(),"nn" بالتوفيق،، attendance (1).zip
  19. تفضل اخي الصق هذالعبارة في مربع اجمالي في تقرير دون اي استعلام اضافي =Hour(DSum("([time2]-[time])";"time_attendance")) & ":" & Format(Minute(DSum("([time2]-[time])";"time_attendance"));"00") attendance.zip
  20. السلام عليكم و رحمة الله و بركاته اخي العزيز! حاولت تنفيذ دوال على الاستعلام و لكن لم ينجح حبذا لو ارفقت المثال لان دالة Int يرجع رقم الصحيح من الكسور ولاتصلح للتاريخ و الوقت و الشيء الثاني لماذا ضرب ناتج طرح وقتين في 24 ! هذا لتحويل ايام الى ساعات ، جمع 24 مع ساعت في حالة دوام شفتات ممكن ، لان وقت شفت ليلى تمتد الى يوم التالي و يرجع عدد ساعات مدومة سلبي و تعالج بـ جمع 24 . على كل حال لمعرفة تحويل دقائق الى ساعات في جدول record2 قم بتغير وقت مغادرة لمؤظف "اوس علي" مقابل تاريخ 2016/06/29 الى 2:50 ومقابل تاريخ 2016/06/30 هلى 1:40 ثم افتح التقرير لشهر 6 اذا مجموعة ساعات "اوس علي" 8:90 خطاء و الصحيح 9:30 بالتوفيق،،،
  21. و بارك الله فيك ايضا اخي الكريم وجدت الملفك لايزال بحاجة لتعديل الا و هو تكوين ساعات من دقائق الاضافية و اضافتهم الى اجمالي ساعات مثلا مجموعة ساعات العمل 80:90 (ثمانون ساعة و تسعون دقيقة) هذا غير منطقي طبعا و الصحيح هو 81:30 كما هو في المرفق الجديد بعد تعديل attendance.zip
  22. السلام عليكم و رحمة الله و بركاته اخي جرب هذا تعديل ب استعلام الاضافي TimeCount attendance.zip
  23. اخي حسين والله جربت المثال على 2010 و 2007 و 2003 و شغال في جميع النسخ على طباعة عادية ،اما في 2003 لا ظهر خطاء بس يطبع صفحات فارغة لان اداة باركود غير مسجل و اكواد ازرار : Private Sub أمر4_Click() If IsNull(BR) Or BR = "" Then MsgBox "ادخل عدد النسخ": Exit Sub DoCmd.OpenReport "Rp1", acViewPreview, , "[ID]=5068", acHidden DoCmd.SelectObject acReport, "Rp1" DoCmd.PrintOut , , , , [BR] DoCmd.Close acReport, "Rp1" End Sub و الثاني Private Sub أمر36_Click() DoCmd.OpenReport "Rp1", acViewNormal End Sub
  24. حياك الله استاذنا الغالي اساسا الفكرة مأخوذة من برنامج الاكسل اصلاً من المعلوم في الاكسل 3 نوع من دوال راوند، 1- Round هذا الدالةتهمل الكسور اقل او يساي 5 بعد مرتبة محددة و اكثر من 5 تقرب الى الاعلى، مثلا 5.333 الى 5.33 و 5.336 الى 5.34 2- RoundUp هذا تقرب الى الاعلى من اول كسر اضافي مثلا 5.333 الى 5.34 3-RoundDown هذا تهمل جميع الكسور من اول رقم اضافي بعد مرتبة محددة كما تفضلت بإنشاء تلك الدالةفي ردك الاخير يعني بعد اختصار في اسطر دالة من النوع 3 ، تكرمنا بإختصار دالتي 1 و 2 و لك تحية استاذي،،،
×
×
  • اضف...

Important Information