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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. السلام عليكم أخي المارد اذا كان الحقل myDate بصيغة تاريخ ، فالمعادلة التالية هي لصيغة ارقام: j = "Day(MyDate) = " & Day(Me.MyDate) واذا اردنا ان نعملها بصيغة تاريخ ، فالمعادلة ستكون ، كما شرحتها انت في موضوع رابط دالة DLookup ، والتي تعتبر مثل Dsum و Dmax ووو: http://www.officena.net/ib/index.php?showtopic=61469 j = "Day(MyDate) = #" & Day(Me.MyDate) & "#" جعفر
  2. يا سلام ، هذا الفن وإلا بلاش
  3. انا دايخ وتعبان ، فاعطيت ما قل ودل ولكن ، لو ان سؤالك كان فيه عملية غير السالب والموجب والجمع ، كنا نضطر للكود بس الحمدلله جت سليمة جعفر
  4. لأن الطريقة الثانية فيها كود طويل وللعلم ، بدل : DoCmd.RunCommand acCmdSaveRecord تقدر تستعمل me.refresh او if me.dirty then me.dirty=false والقصد هو حفظ السجل جعفر
  5. تفضل يا ريس في النموذج: وكود بعد التحديث: Private Sub PSelect_AfterUpdate() DoCmd.RunCommand acCmdSaveRecord End Sub طبعا في طرق اخرى ، بس انا اليوم كسلان جعفر 73.Absence of Employees.mdb.zip
  6. وعليكم السلام أخي كريمو نعم عدت اليوم عصرا من سفري وان شاء الله غدا اواصل من حيث انتهينا ، إلا اذا عندك ملاحظات جديدة جعفر
  7. السلام عليكم ايش رأيك في هذه الطريقة: سحب أكثر من حقل من سجل واحد في الجدول ، وهذا الرابط فيه المثال http://www.officena.net/ib/index.php?showtopic=61152&p=394338 جعفر
  8. مبارك إن شاء الله أبو ياسر :-) و إن شاء الله نرى مشاركاتك في مساعدة الأخوة كذلك :-) جعفر
  9. وعليكم السلام ورحمة الله وبركاته 01- فكرة الترتيب تتم لجميع القروض ويكتب 0.00 في الجدول tbl_Loans للأشهر المعفاة لا ليس لجميع القروض ، وإنما للقرض الذي الذي تم اختياره (السجل الذي تكون عليه في Cridi وتضغط على زر اعادة تقسيم الاقتطاع). بعدما وجدت صعوبة في قرض2 الى قرض 4 ما هي هذه الصعوبة ، رجاء اعطني تفاصيل دقيقة بأمثلة لوسمحت ، لأني اخبرتك: فكل شئ يعتمد على هذا النموذج. 02- مالغاية من أنشاء نموذج فرعي FrmCridi_sub_OLD انا عندما اغير شئ في برنامج ، دائما احتفظ بالاصل ، واطلق عليها OLD ، حتى اعرفه ، ويمكن في النهاية حذفه. 03 - الإستعلام qry_Loans ينقصة الباقي الشهري وهذا هو " لب المطلب " الذي تطرقنا له منذ البداية المسألة سهلة ولكننا لم نصل اليها: 1. عند دفع كل شهر ، فسنكتب في خانة Payment_Made في النموذجfrm_Loans ، القيمة المدفوعة لذلك الشهر (وهذا ينطبق على الموظف الذي يريد ان يدفع اي مبلغ يحب في ذلك الشهر) ، 2. عندها ، كل الذي يجب عمله هو جمع حقل Cridi وحقل Payment_Made في الاستعلام qry_Loans ، ونطرحهم من بعض لنحصل على الباقي الشهري Remaining . 04- النموذج الفرعي FrmCridi_sub2 الدي هو دمج بين Cridi و Elec عند فتحة لا نلاحظ شيئا به بالرغم أني سجلت معلومات ب Elec انا صغرت الحقول لكي يتسع المكان لبقية حقول ElectroM الاضافية ، ولكني لم اصل اليها. (ولكني ضبطته بحيث تستطيع استبداله مكان FrmCridi_Sub ، وسيعمل بالطريقة الصحيحة) ، ولكن ، قد نلغي فكرة دمج النموذجين ، فعندها تستطيع ان تنسخ الكود من النموذج Cridi الى النموذج ElectroM لعمل الازم. 05- زر سداد المبلغ بنموذج Cridi لا يعمل هذا الزر يجب ان يفتح النموذج frm_Loans للقرض/السجل الذي تكون عليه في Cridi ، وانت بعد ذلك تدخل مبلغ السداد للشهر المطلوب (لاحظ 03.1 و 03.2 اعلاه لمعرفة طريقة الحساب). 06- عند تجربة قرض ومن بعد يتم حذفه نلاحظ انه يحدف من الجدول Cridi ولا يحذف من الجدول tbl_Loans اعمل علاقة بين الجدول Cridi والجدول tbl_Loans كما في الصورة المرفقة: آمل ان توفق في إنشاء كود للباقي "Remaining" في الإستعلام qry_Loans رجاء مراجعة 03.1 اعلاه أخي كريمو انت الآن تستطيع ان تملئ الفاراغات التي انا لم اكملها ، فالموضوع الآن اصبح واضحا لطريقة عمل الجدول tbl_Loans ، نعم قد نحتاج حقل خاص لـ Payment_Made_Cridi و Payment_Made_Elec ، ولكن سنعرف هذا الشئ لما نوصل الى Elec ، والذي انت تستطيع ان تعمله ، بواسطة نفس الكود الموجود في Cridi. رجاء ملاحظت اني في اي للتاريخ ، فاني أغير اليوم واجعله" اول الشهر" (لهذا السبب كنت تحصل على خطأ في الكود في النموذج frm_Avoid سابقا). جعفر
  10. حياك الله هاه ، هل استقر رأيك على صورة معينة حياك الله اعتقد سؤالك في الموضوع الاخر يعتبر ملغي الان ، صح؟ جعفر
  11. تعديل بسيط ، اذا لم يتم اخيار اي رقم وتم الغاء الامر: Private Sub Command25_Click() 'On Error Resume Next ' DoCmd.GoToRecord , , acNewRec 'If Me.NewRecord And Me.CurrentRecord > 1 Then ' Me.NUM_ESAL = DLast("[num_esal]", "1") ' End If Num = InputBox("Please Enter the number") If Len(Num & "") = 0 Then Exit Sub Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount DoCmd.GoToRecord , , acFirst For I = 1 To RC rst.Edit rst!NUM_ESAL = Num rst.Update rst.MoveNext Next I End Sub جعفر
  12. تفضل أخي هذا كود الزر: Private Sub Command25_Click() 'On Error Resume Next ' DoCmd.GoToRecord , , acNewRec 'If Me.NewRecord And Me.CurrentRecord > 1 Then ' Me.NUM_ESAL = DLast("[num_esal]", "1") ' End If Num = InputBox("Please Enter the number") Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount DoCmd.GoToRecord , , acFirst For I = 1 To RC rst.Edit rst!NUM_ESAL = Num rst.Update rst.MoveNext Next I End Sub مافي داعي تكتب الرقم ، وطريقة العمل: 1. اختر التاريخ ، 2. اضغط على الزر ، 3. في نافذة تطلب منك الرقم ، ادخل الرقم واضغط ok والسلام جعفر
  13. تفضل وهذا هو الكود: Option Compare Database Private Sub Command18_Click() ' 'get the days, months, years ' Call YMDDif(Date_From, Date_To) 'ما قبل 1/8/1994 ' Me.Basic_Salary_Contributions = Me.Basic_Salary * 0.05 * _ ((Me.txt_Years * 12) + (Me.txt_Months) + (Me.txt_Days / 30)) 'بعد 1 / 8 / 1994 ' Me.Basic_Salary_Contributions = Me.Basic_Salary * 0.06 * _ ((Me.txt_Years * 12) + (Me.txt_Months) + (Me.txt_Days / 30)) Me.txt_Years = 0 Me.txt_Months = 0 Me.txt_Days = 0 Me.txt_Years_After = 0 Me.txt_Months_After = 0 Me.txt_Days_After = 0 'Check_Date = CDate(1 / 8 / 1994) Check_Date = DateSerial(1994, 8, 1) 'case 1 If Me.Date_From >= Check_Date Then 'get the days, months, years Call YMDDif(Date_From, Date_To) Me.Basic_Salary_Contributions = Me.Basic_Salary * 0.06 * _ ((Me.txt_Years * 12) + (Me.txt_Months) + (Me.txt_Days / 30)) GoTo Exit_1: End If 'case 2 If Me.Date_From <= Check_Date And Me.Date_To <= Check_Date Then 'get the days, months, years Call YMDDif(Date_From, Date_To) Me.Basic_Salary_Contributions = Me.Basic_Salary * 0.05 * _ ((Me.txt_Years * 12) + (Me.txt_Months) + (Me.txt_Days / 30)) GoTo Exit_1: End If 'case 3 If Me.Date_From <= Check_Date Then 'get the days, months, years Call YMDDif(Date_From, Check_Date) Me.Basic_Salary_Contributions = Me.Basic_Salary * 0.05 * _ ((Me.txt_Years * 12) + (Me.txt_Months) + (Me.txt_Days / 30)) 'get the days, months, years Call YMDDif_After(Check_Date, Date_To) Me.Basic_Salary_Contributions = Basic_Salary_Contributions + (Me.Basic_Salary * 0.06 * _ ((Me.txt_Years_After * 12) + (Me.txt_Months_After) + (Me.txt_Days_After / 30))) End If Exit_1: 'من 2 / 11 / 1996 ' Me.Salary_Additions_Contributions = Me.Salary_Additions * 0.06 * _ ((Me.txt_Years * 12) + (Me.txt_Months) + (Me.txt_Days / 30)) End Sub Public Sub YMDDif(sDate1, sDate2) 'sdate1 earliest date sdate2 later Dim iYear As Integer Dim iMonth As Integer Dim iDay As Integer Dim dInterim1 As Date 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) Me.txt_Days = iDay Me.txt_Months = iMonth Mod 12 Me.txt_Years = iMonth \ 12 'YMDDif = CStr(y) & " Years " & CStr(M) & " months " & CStr(D) & " days" End Sub Public Sub YMDDif_After(sDate1, sDate2) 'sdate1 earliest date sdate2 later Dim iYear As Integer Dim iMonth As Integer Dim iDay As Integer Dim dInterim1 As Date 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) Me.txt_Days_After = iDay Me.txt_Months_After = iMonth Mod 12 Me.txt_Years_After = iMonth \ 12 'YMDDif = CStr(y) & " Years " & CStr(M) & " months " & CStr(D) & " days" End Sub انا طلبت منك: يعني بغيت لما ادخل تواريخ ، اعرف مو نتائجها ، فعلى اساسه اصلح الكود ، بس للأسف انت ما حطيت شئ!! والملف يجب ان يكون مضغوط علشان ترفعه للمنتدى ، ماعدا الصور جعفر 63.1.مساهمة الراتب.accdb.zip
  14. السلام عليكم أخي كريمو الرجاء تجربة المرفق للنموذج Cridi ، وتأخير الاستقطاع ، والتأكد ان كل التغييرات تمام في الجدول tbl_Loans. لن ننتقل الى ElectroM ، لأنه ببساطة نسخ ولصق (مع تعديل بسيط) من كود Cridi. اذا تلاحظ ، عملت Cidi_sub2 ، والفكرة هي دمج Cridi و Elec في هذا النموذج (وعليه لن نحتاج الى كود آخر لنموذج آخر) ، كان ودي ان اضع frm_Loans كنموذج فرعي في النموذج Cridi ، حيث ستكون عندك المعلومة كاملة عن جميع القروض للموظف. جعفر 11.4.FrmDiscountReport.mdb.zip
  15. السلام عليكم جرب الملف المرفق لوسمحت واذا في اي ملاحظة ، ياريت تعمل لي مثل الجدول: المدة قبل (يوم ، شهر ، سنة) ، المدة بعد (يوم ، شهر ، سنة) ، وتحط النتائج في المعادلة. جعفر 63.مساهمة الراتب.accdb.zip
  16. جرب رفع الملف هذا !! شوف النتائج في الصور المتحركة: جعفر 66.BarcodeStudent.mdb.zip
  17. تفضل والطريقة: 1. تعمل استعلام للطلبة الحاضرين في ذلك اليوم ، 2. تعمل استعلام يقارن: أ- الجدول اللي فيه جميع الاسماء ، ب- مع الاستعلام اللي فيه الطلبة الحاضرين. جعفر 66.BarcodeStudent.mdb.zip
  18. السلام عليكم شباب ممكن ان ادلو بدلوي في الواقع ، مع سهولة الدالة ، إلا ان لها استعمالات اكاد لا استغني عنها في اي من برامجي 1.عندنا قيمة الحقل في الجدول ممكن تكون Null ، ومعناه ان مافي اي معلومة دخلت في هذا الحقل ، 2.وممكن ان تكون هناك قيمة في الحقل ، 3.وممكن يكون فاضي ، ومعناه انه تم ادخال قيمة في الحقل ومن ثم تم حذف هذه القيمة. اذا كان اسم الحقل fName مثلا ، واذا اردنا ان نعرف اذا كان الحقل فاضي ، فعادة نقوم بالكود التالي لفحص الطريقتين: if isNull([fName]) or if [fName]="" ولكني استخدم دالة LEN لفحص الطريقتين مرة واحدة ، هكذا: if LEN([fName] & "")=0 جعفر
  19. عفوا ، انا اعتقدت تقرير المتأخرين عطني شوية وقت واحاول اعمل لك استعلام الغائبين جعفر
  20. ليش؟ رجاء لا تغير المفتاح الرئيسي ، لأنه تارة ينفعك انت ، وتارة ينفع البرنامج. فاذا امكن ، ارجع المفتاح الرئيسي. حياك الله التقرير عبارة عن تنسيق للإستعلام ، فعليك بالرأس وسيأتيك الذيل ببلاش سر الاستعلام هو التنسيق ، لاحظ الصورة المرفقة ، التنسيق في النموذج ، وفي الاستعلام: ياريت تخلي لنا الرابط هنا ، علشان يستفيد الجميع من الشرح جعفر
  21. السلام عليكم أستاذنا الفاضل / الجندبي (هاي لزقة فيك ) كان على بالي أخبرك عن موضوع ارفاق صور الطلبه في البرنامج ، ولكن وللأسف نسيت وشكرا لأخي حربي ، ذكرني بالموضوع فكرة إرفاق الصور داخل البرنامج ، ستؤدي الى مشاكل في البرنامج ، ومنها ان حجم البرنامج سيصبح كبيرا ، وقد لن تستطيع تستعمله!! والطريقة الصحيحة هي جعل الصور في مجلد على الكمبيوتر ، وانا افضل ان يكون هذا المجلد في نفس المجلد الذي يكون فيه برنامج الجداول (هذا اذا كان برنامجك مقسم الى قسمين) ، وإلا فيكون المجلد في نفس مجلد البرنامج. الملف المرفق بصيغة 2003 ، مع بعض التعديلات على البرنامج السابق ، والصور غير مرفقة في الجدول في البرنامج ، وانما هناك مجلد اسمه Student_Pictures (وانا وضعت فيه صورة للأخ أحمد واخرى لرائد) ، ويجب ان تضع مجلد الصور في نفس مجلد البرنامج (ما يهم اين ، ودائما تستطيع ان تنقلهم معا الى اي مكان تحب ، بشرط ان يكونوا مع بعض) ، واذا اردت ان يكون مجلد الصور في اي مكان آخر في الكمبيوتر ، فيجب تغيير المسار في الوحدة النمطية (وهناك مثال لهذا). جرب ادخال الباركود لأحمد او رائد ، ثم اضغط TAB ، وسترى الصورة جعفر 66.BarcodeStudent.mdb.zip
  22. وعليكم السلام أخي المسألة مو فقط مسألة استيراد ملفات pdf ، وانما كيف وضعها على النموذج كذلك ، فنموذجك مهيأ للصو وليس لملفات pdf!! الرابط التالي يعطيك مثال للإثنين: http://www.officena.net/ib/index.php?showtopic=60235 جعفر
  23. مع اني معارض فكرة إعطاء تقرير عن المتأخرين (مو انا كنت منهم ايام زمان ) ، ولكن تفضل: جعفر 66.BarcodeStudent.accdb.zip
×
×
  • اضف...

Important Information