-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
زيادة مبلغ إيقاف الخصم الشهري الى مبلغ القرض
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
1. أخي كريمو ، وكيف استطيع ان اصلح ما قلت ، وانت لم تخبرني ما المشكلة!! وللعلم ، يجب التفريق بين شيئين مختلفين ، الجدول tbl_Loans و الاستعلام qry_Loans ،والاستعلام مجرد أداه للجدول. 2. نعم نستطيع ان نعمل زر لدفع قروض الشهر ، في النموذج FrmDiscountReport للشهر الذي تم اختياره لإستقطاعات الشهر. الزر هو "سدد مبالغ شهر الاقتطاعات" ، وهذا هو الكود الذي يملئ حقول الدفع للشهر المختار: Private Sub cmd_Pay_installments_Click() Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset("Select * From tbl_Loans Where [Payment_Month]=#" & Me.txtMonth & "#") rst.MoveLast: rst.MoveFirst RC = rst.RecordCount For I = 1 To RC rst.Edit 'check, maybe a manual payment is done, so don't over write it If Len(rst!Payment_Made_Cridi & "") = 0 And Not IsNull(rst!Loan_Cridi) Then rst!Payment_Made_Cridi = rst!Loan_Cridi End If If Len(rst!Payment_Made_Elec & "") = 0 And Not IsNull(rst!Loan_Elec) Then rst!Payment_Made_Elec = rst!Loan_Elec End If rst.Update rst.MoveNext Next I MsgBox "Payments made" End Sub يجب ان تعرف ان برنامج القروض الان يعتمد على الجدول tbl_Loans ، لذا ، فجميع خطوات الدفع لابد ان ندخلها في الجدول اولا (طبعا عن طريق النموذج frm_Loans) ، ثم يقوم الاستعلام بأخذ البيانات من هذا الجدول وعمل الحساب مثل ما تريد. 3. انا قلت: "هذه الحقول قد تبدو زيادة عن الازم في الوهلة الاولى ، وان بامكاننا ان نستعيض عن هذه الحقول ببعض الاوامر في الاستعلام (وهذه المشكلة التي كنا نعاني منها في البرنامج السابق) ، ولكنها تسهل الامور إن شاء الله." فجمع الحقلين في استعلام او حتى في تقرير سهل ، ولكن اذا اردت ان تفصلهم اذا كانوا مجتمعين ، فالمسألة ستكون صعبة وللعلم ، هذين الحقلين يتم احتساب نتائجهم عن طريق الوحدة النمطية ، وسترى هناك اننا نقوم بعمل معادلات مختلفة ، واذا اردت انت لاحقا ان تقوم بتغيير شئ ، فكما اخبرتك سابقا ، المعادلات سهلة التغيير الآن ، رجاء ، الغي جميع البيانات من جداول القروض ، وادخل مجموعة بيانات صحيحة ، ثم جرب البرنامج ، واذا اردت اي تعديل ، فرجاء ارسال البرنامج ذو البيانات الصحيحة ، والرجاء ان تكون دقيق في شرح المطلوب ، كالعادة جعفر 11.5.FrmDiscountReport.mdb.zip -
زيادة مبلغ إيقاف الخصم الشهري الى مبلغ القرض
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
السلام عليكم أخي كريمو الثاني بحمد الله ومنته ، توصلت الى عمل الاستعلام والذي يعطي بقية مبلغ القرض Remaining طبعا اضطررت لعمل بعض التغييرات البسيطة على الجدول tbl_Loans ، واهمها هو عمل حقل Loan_Type لسهولة عمل استعلام لاحقا ، سواء لـ Cridi او Elec ، بالاضافة الى عمل حقل خاص لدفعات Cridi ودفعات Elec. هذه الحقول قد تبدو زيادة عن الازم في الوهلة الاولى ، وان بامكاننا ان نستعيض عن هذه الحقول ببعض الاوامر في الاستعلام (وهذه المشكلة التي كنا نعاني منها في البرنامج السابق) ، ولكنها تسهل الامور إن شاء الله. لا يوجد تغيير في طريقة العمل ، ولكن لدفع القرض الشهري ، فيجب عليك ان تفتح نموذج frm_Loans عن طريق الضغط على الزر سداد مبلغ ، وتضيف قيمة الدفعة يدويا (هذا ما اردته انت سابقا ، وخصوصا بأن الموظف الان يستطيع ان يدفع اي مبلغ يريده شهريا ) ، ولقد سهلت عليك ايضا ، بان تنقر الفأرة مرتين في حقل الدفع لذلك الشهر ، ليكتب المبلغ تلقائيا ). هنا وحدة نمطية جديدة Count_Remaining ، وهي التي تعطي Remaining ، بأخذ القيم من الجداول ، والكود سهل جدا: Function Count_Remaining(ID_Emp As Integer, ID_Loan As Integer, T As String) As Currency 'ID_Loan = Loan ID 'S = Sum of payments 'Type = Cridi or Elec 'we need to know how much is the Loan, from tables Cridi and ElectroMeng 'ans SUM the paid, from tbl_Loans If T = "Cridi" Then a = DLookup("[Cridi_Value]", "Cridi", "[ID]=" & ID_Loan) S = DSum("[Payment_Made_Cridi]", "tbl_Loans", "[EmployeeID]=" & ID_Emp) ElseIf T = "Elec" Then a = DLookup("[Elec_Value]", "ElectroMeng", "[ID]=" & ID_Loan) S = DSum("[Payment_Made_Elec]", "tbl_Loans", "[EmployeeID]=" & ID_Emp) End If Count_Remaining = a - Nz(S, 0) End Function هذا شكل الاستعلام: حاليا الاستعلام يجمع جميع مبالغ الموظف التي تم سدادها ، ولم اجربه لعدة قروض او قروض منتهية ، او .... ، فرجاء التجربة وإخباري بالنتيجة. جعفر 11.5.FrmDiscountReport.mdb.zip -
السلام عليكم عفوا اخي احمد ، اسمح لي بإبداء رايي: صحيح ان البرنامج قد يكون ملكا لك ، ولكن البيانات ليست ملكك ، فهي ملك الذي ادخلها ، واذا دمرتها/حذفتها فانك تعتدي على ملكية غيرك !! لو كنت مكانك ، لأقفلت البرنامج بعدم السماح للمستخدم بعمل اي شئ ، سوى تصدير بياناته الى الاكسل مثلا. جعفر
-
زيادة مبلغ إيقاف الخصم الشهري الى مبلغ القرض
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
السلام عليكم أخي كريمو المرفق الان يعمل على: 1. بعد إضافة القرض في Cridi ، فان القرض يسجل في tbl_Loans ، 2. يمكنك تعديل هذا القرض وتأجيله ، ونتائجه تسجل في tbl_Loans ، 3. بعد إضافة القرض في Elec ، فان القرض يسجل في tbl_Loans ، 4. يمكنك تعديل هذا القرض وتأجيله ، ونتائجه تسجل في tbl_Loans ، 5. يمكن فتح نموذج سداد المبلغ ، والذي سيفتح سجلات القرض المختار. رجاء التجربة ، ثم التجربة ، وتجربة حذف القرض كذلك. الخطوة الاخيرة (هذا الذي اعتقده ) : حساب Remaining على اساس المبالغ المدفوعة. جعفر 11.5.FrmDiscountReport.mdb.zip -
هدية : نظام المستخدمين واخفاء اطار الاكسس نهائيا
jjafferr replied to ابو جودي's topic in قسم الأكسيس Access
السلام عليكم انا اسمي موجود اشكرك على الموضوع ، وعلى وجود اسمي بين اخواني العمالقة جعفر -
ظهور رسالة عن تثبيت اداة الرسائل على الوندز
jjafferr replied to سلمان الشهراني's topic in قسم الأكسيس Access
أخوي سلمان اذا رجعت لنفس المشكلة اللي صادفتك سابقا ، بس لموضوع آخر ، ورد عليك أخونا الكبير ابوخليل على هذا الرابط: http://www.officena.net/ib/index.php?showtopic=61220 لاحظ الامر regsvr32 جعفر -
زيادة مبلغ إيقاف الخصم الشهري الى مبلغ القرض
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
السلام عليكم أخي كريمو انا عدلت هذه المادة فقط ، فرجاء تجربتها مع باقي الخطوات التي كتبتها لك سابقا ، وموافاتي بالنتيجة جعفر 11.4.FrmDiscountReport.mdb.zip -
سؤال : ظهور اسم اليوم الحالى تلقائيا فى التقارير
jjafferr replied to ابو جودي's topic in قسم الأكسيس Access
حياك الله كما قلت في البداية ، انا استعمل هذا الجدول تقريبا في جميع برامجي الرئيسية ، وهو يلبي لي طلب الزبائن ، وخصوصا بالاشهر ، واساس حل الموضوع هو الجدول نفسه جعفر -
سؤال : ظهور اسم اليوم الحالى تلقائيا فى التقارير
jjafferr replied to ابو جودي's topic in قسم الأكسيس Access
وعليكم السلام هو الحل كما تفضل به الاخ مارد ولكن ، اذا كان نظام الوندوز عندك انجليزي وارت ان تكتب اسم اليوم او الشهر بالعربي ، فهذا يحتاج الى عمل اضافي انا عندي جدول اسمه tbl_Months وبه اسماء الاشهر الهجرية ، والاشهر الانجليزية بالانجليزي والعربي ، والاشهر العراقية (الشامية) ، واضفت اليه الايام كذلك: وعليه ، عملت كود يقرأ اذا نظام الوندوز ، وعلى اساسه تستطيع ان تطلب اليوم ، كما في هذا النموذج (ادخل / اختر التاريخ ، ثم اضغط على مفتاح TAB على keyboard) ، وعلى اساسه سترى بقية الاسماء باللغة الاخرى: وهذا هو الكود الذي يقوم بكل شئ: Private Sub myDate_AfterUpdate() 'display the dates based on the system setting Me.Date_1 = Format(Me.myDate, "dddd dd/mm/yyyy") Me.Date_2 = Format(Me.myDate, "dddd dd, mmm yyyy") Me.Day_System = Format(Me.myDate, "dddd") Me.Month_System = Format(Me.myDate, "mmmm") 'read the 1st letter of the day, and check if it is Arabic or latin If Left(Asc(Format(Me.myDate, "dddd")), 1) > 127 Then 'the system is Arabic 'get the English info from the table Me.Day_table = DLookup("[Days_English]", "tbl_Months", "[Days_Arabic]='" & Format(Me.myDate, "dddd") & "'") Me.Date_3 = Me.Day_table & Format(Me.myDate, " dd/mm/yyyy") Me.Month_Table = DLookup("[Months_English]", "tbl_Months", "[Months_Georgian]='" & Format(Me.myDate, "mmm") & "'") Me.Date_4 = Me.Day_table & Format(Me.myDate, " dd, ") & Me.Month_Table & Format(Me.myDate, " yyyy") Else 'the system is English 'get the Arabic info from the table Me.Day_table = DLookup("[Days_Arabic]", "tbl_Months", "[Days_English]='" & Format(Me.myDate, "dddd") & "'") Me.Date_3 = Me.Day_table & Format(Me.myDate, " dd/mm/yyyy") Me.Month_Table = DLookup("[Months_Georgian]", "tbl_Months", "[Months_English]='" & Format(Me.myDate, "mmmm") & "'") Me.Date_4 = Me.Day_table & Format(Me.myDate, " dd, ") & Me.Month_Table & Format(Me.myDate, " yyyy") End If End Sub جعفر tbl_Months.zip -
ظهور رسالة عن تثبيت اداة الرسائل على الوندز
jjafferr replied to سلمان الشهراني's topic in قسم الأكسيس Access
وعليكم السلام الامر هو: regsvr32 "C:\WINDOWS\system32\MSINET.OCX " انت نسيت امر التسجيل هنا التفاصيل كاملة: http://www.ctimls.com/Support/KB/How%20To/Register_dll.htm جعفر -
ترقيم تلقائي لحقل في جدول يتغير بتغير الشهر
jjafferr replied to osama_matafy's topic in قسم الأكسيس Access
-
تهنئة للأخ عبدالله قدور والأخ مارد الترقية الى عضو مميز
jjafferr replied to عبدالله المجرب's topic in قسم الأكسيس Access
متباركين شباب من الآن ورايح ، عيوننا بتكون على مشاركتكم (طبعا هذا ما يعني اني ما كنت متابع مشاركاتكم سابقا) جعفر -
ترقيم تلقائي لحقل في جدول يتغير بتغير الشهر
jjafferr replied to osama_matafy's topic in قسم الأكسيس Access
السلام عليكم أخي المارد اذا كان الحقل 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) & "#" جعفر -
يا سلام ، هذا الفن وإلا بلاش
-
انا دايخ وتعبان ، فاعطيت ما قل ودل ولكن ، لو ان سؤالك كان فيه عملية غير السالب والموجب والجمع ، كنا نضطر للكود بس الحمدلله جت سليمة جعفر
-
لأن الطريقة الثانية فيها كود طويل وللعلم ، بدل : DoCmd.RunCommand acCmdSaveRecord تقدر تستعمل me.refresh او if me.dirty then me.dirty=false والقصد هو حفظ السجل جعفر
-
قصدك ياكسلان
-
تفضل يا ريس في النموذج: وكود بعد التحديث: Private Sub PSelect_AfterUpdate() DoCmd.RunCommand acCmdSaveRecord End Sub طبعا في طرق اخرى ، بس انا اليوم كسلان جعفر 73.Absence of Employees.mdb.zip
-
زيادة مبلغ إيقاف الخصم الشهري الى مبلغ القرض
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
وعليكم السلام أخي كريمو نعم عدت اليوم عصرا من سفري وان شاء الله غدا اواصل من حيث انتهينا ، إلا اذا عندك ملاحظات جديدة جعفر -
السلام عليكم ايش رأيك في هذه الطريقة: سحب أكثر من حقل من سجل واحد في الجدول ، وهذا الرابط فيه المثال http://www.officena.net/ib/index.php?showtopic=61152&p=394338 جعفر
-
تهنئة للأخ أبو ياسر الترقية الى عضو خبير
jjafferr replied to عبدالله المجرب's topic in قسم الأكسيس Access
مبارك إن شاء الله أبو ياسر :-) و إن شاء الله نرى مشاركاتك في مساعدة الأخوة كذلك :-) جعفر -
زيادة مبلغ إيقاف الخصم الشهري الى مبلغ القرض
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته 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 سابقا). جعفر -
تثبيت رقم على باقى الخلايا بالضغط على زرار
jjafferr replied to khaledhelmy's topic in قسم الأكسيس Access
حياك الله هاه ، هل استقر رأيك على صورة معينة حياك الله اعتقد سؤالك في الموضوع الاخر يعتبر ملغي الان ، صح؟ جعفر -
تثبيت رقم على باقى الخلايا بالضغط على زرار
jjafferr replied to khaledhelmy's topic in قسم الأكسيس Access
تعديل بسيط ، اذا لم يتم اخيار اي رقم وتم الغاء الامر: 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 جعفر