بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
تثبيت رقم على باقى الخلايا بالضغط على زرار
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") 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 والسلام جعفر -
تفضل وهذا هو الكود: 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
-
زيادة مبلغ إيقاف الخصم الشهري الى مبلغ القرض
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
السلام عليكم أخي كريمو الرجاء تجربة المرفق للنموذج Cridi ، وتأخير الاستقطاع ، والتأكد ان كل التغييرات تمام في الجدول tbl_Loans. لن ننتقل الى ElectroM ، لأنه ببساطة نسخ ولصق (مع تعديل بسيط) من كود Cridi. اذا تلاحظ ، عملت Cidi_sub2 ، والفكرة هي دمج Cridi و Elec في هذا النموذج (وعليه لن نحتاج الى كود آخر لنموذج آخر) ، كان ودي ان اضع frm_Loans كنموذج فرعي في النموذج Cridi ، حيث ستكون عندك المعلومة كاملة عن جميع القروض للموظف. جعفر 11.4.FrmDiscountReport.mdb.zip -
السلام عليكم جرب الملف المرفق لوسمحت واذا في اي ملاحظة ، ياريت تعمل لي مثل الجدول: المدة قبل (يوم ، شهر ، سنة) ، المدة بعد (يوم ، شهر ، سنة) ، وتحط النتائج في المعادلة. جعفر 63.مساهمة الراتب.accdb.zip
-
-
تفضل والطريقة: 1. تعمل استعلام للطلبة الحاضرين في ذلك اليوم ، 2. تعمل استعلام يقارن: أ- الجدول اللي فيه جميع الاسماء ، ب- مع الاستعلام اللي فيه الطلبة الحاضرين. جعفر 66.BarcodeStudent.mdb.zip
-
السلام عليكم شباب ممكن ان ادلو بدلوي في الواقع ، مع سهولة الدالة ، إلا ان لها استعمالات اكاد لا استغني عنها في اي من برامجي 1.عندنا قيمة الحقل في الجدول ممكن تكون Null ، ومعناه ان مافي اي معلومة دخلت في هذا الحقل ، 2.وممكن ان تكون هناك قيمة في الحقل ، 3.وممكن يكون فاضي ، ومعناه انه تم ادخال قيمة في الحقل ومن ثم تم حذف هذه القيمة. اذا كان اسم الحقل fName مثلا ، واذا اردنا ان نعرف اذا كان الحقل فاضي ، فعادة نقوم بالكود التالي لفحص الطريقتين: if isNull([fName]) or if [fName]="" ولكني استخدم دالة LEN لفحص الطريقتين مرة واحدة ، هكذا: if LEN([fName] & "")=0 جعفر
-
عفوا ، انا اعتقدت تقرير المتأخرين عطني شوية وقت واحاول اعمل لك استعلام الغائبين جعفر
-
ليش؟ رجاء لا تغير المفتاح الرئيسي ، لأنه تارة ينفعك انت ، وتارة ينفع البرنامج. فاذا امكن ، ارجع المفتاح الرئيسي. حياك الله التقرير عبارة عن تنسيق للإستعلام ، فعليك بالرأس وسيأتيك الذيل ببلاش سر الاستعلام هو التنسيق ، لاحظ الصورة المرفقة ، التنسيق في النموذج ، وفي الاستعلام: ياريت تخلي لنا الرابط هنا ، علشان يستفيد الجميع من الشرح جعفر
-
السلام عليكم أستاذنا الفاضل / الجندبي (هاي لزقة فيك ) كان على بالي أخبرك عن موضوع ارفاق صور الطلبه في البرنامج ، ولكن وللأسف نسيت وشكرا لأخي حربي ، ذكرني بالموضوع فكرة إرفاق الصور داخل البرنامج ، ستؤدي الى مشاكل في البرنامج ، ومنها ان حجم البرنامج سيصبح كبيرا ، وقد لن تستطيع تستعمله!! والطريقة الصحيحة هي جعل الصور في مجلد على الكمبيوتر ، وانا افضل ان يكون هذا المجلد في نفس المجلد الذي يكون فيه برنامج الجداول (هذا اذا كان برنامجك مقسم الى قسمين) ، وإلا فيكون المجلد في نفس مجلد البرنامج. الملف المرفق بصيغة 2003 ، مع بعض التعديلات على البرنامج السابق ، والصور غير مرفقة في الجدول في البرنامج ، وانما هناك مجلد اسمه Student_Pictures (وانا وضعت فيه صورة للأخ أحمد واخرى لرائد) ، ويجب ان تضع مجلد الصور في نفس مجلد البرنامج (ما يهم اين ، ودائما تستطيع ان تنقلهم معا الى اي مكان تحب ، بشرط ان يكونوا مع بعض) ، واذا اردت ان يكون مجلد الصور في اي مكان آخر في الكمبيوتر ، فيجب تغيير المسار في الوحدة النمطية (وهناك مثال لهذا). جرب ادخال الباركود لأحمد او رائد ، ثم اضغط TAB ، وسترى الصورة جعفر 66.BarcodeStudent.mdb.zip
-
وعليكم السلام أخي المسألة مو فقط مسألة استيراد ملفات pdf ، وانما كيف وضعها على النموذج كذلك ، فنموذجك مهيأ للصو وليس لملفات pdf!! الرابط التالي يعطيك مثال للإثنين: http://www.officena.net/ib/index.php?showtopic=60235 جعفر
-
مع اني معارض فكرة إعطاء تقرير عن المتأخرين (مو انا كنت منهم ايام زمان ) ، ولكن تفضل: جعفر 66.BarcodeStudent.accdb.zip
-
حياك الله
-
الله يطول في عمرك أخوي ، لا ما قرأت المرفق انت ماشاء الله عليك مادمت كتبت الكود ، قلت اعطيك الجواب ، وانت تحطه في المكان اللي تريده بس مادمت مصر اني احط الجواب في الكود ، بدل هذا: Me.acpt20 بهاي: left(Me.acpt20,1) جعفر
-
سهله msgbox left([acpt20 ],1) جعفر
-
السلام عليكم أخي محمد انا لن اتطرق لطريقة عمل النموذج الجديد ، "لأننا" لم نلحظ المشكلة في النموذج الاصل ولكني دخلت في كود 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) جعفر
- 25 replies
-
- 12
-
-
-
نعم ممكن في الكود بس اللي بيصير (حسب فهمي): اذا انت دخلت التواريخ التالية للموظف لحساب مساهمته: من 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 شو نسوي ابها؟ جعفر
-
زيادة مبلغ إيقاف الخصم الشهري الى مبلغ القرض
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
عذرا على الخطأ جرب هذه النسخة ، وقد عملت الاستعلام qry_Loans ، وتفتحه من النموذج (شوف الصورة): طبعا تقدر تمسح كل شئ من الجداول وتبدأ من جديد ، جربه لوسمحت 1. انت تريد ان تعطي الاختيار للمموظف في عملية سداد المبلغ ، وهو يختار الاشهر؟ اذا كان الموضوع كذلك ، فيجب ان تقوم بالعملية يدويا ، فالبرنامج لا يستطيع معرفة الاشهر بهذه الطريقة!! 2. بالنسبة لتوزيع المبلغ ، فاعتقد بأن يوزع على الاشهر ، بقيمة قسط الشهر ، وليس أكثر (هذا سيسهل عملية التقرير ، وكل رقم سيكون بشهره) ، اما اذا لم نلتزم بتوزيع الاشهر حسب القسط ، فمعناه مثلا: قسط 8-2015 هو 2000 ، ولكنه دفع 4000 ، فمعناه يجب علينا ان نجمع الارقام تراكميا للحصول على الرقم النهائي ، بينما الطريقة الاولى جاهزة وبدون ارقام تراكمية بالنسبة لدمج الجدولين ، فرجاء إخباري (في صورة او اكسل) عن الحقول المتشابهة في الجدولين جعفر 11.3.FrmDiscountReport.mdb.zip -
رحم الله والديك أخوي أبوخليل ، صرت في فريقنا أخي محمد ، صرنا ثلاثه (انا وراعي الغنم وأبوخليل) نقول النسخة مافيها شئ جعفر
-
طيب انا ما شايف اي تغيير في السجلات في هذه النسخة!!
-
أستاذ محمد خلينا في موضوع واحد ونحاول نحل المشكلة ، ومافي داعي لفتح موضوع جديد !! عفوا أخوي أبوخليل ، اذا ممكن لوسمحت تشاركنا في الرابط ، علشان نحل الموضوع مع بعض: http://www.officena.net/ib/index.php?showtopic=61152&p=393969 جعفر
-
يا فنان يا أبوخليل ، تسلم ايدك هالأفكار ما تيجيني ، ولا حتى بالفيتامينات جعفر
-
الظاهر في فرق بين قاعدة البيانات اللي انت شغال عليها ، وبين اللي انت ارفقته!! رجاء انك تجرب المرفق اللي وضعته لنا. جعفر
-
زيادة مبلغ إيقاف الخصم الشهري الى مبلغ القرض
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
بعد الرد على سؤالي السابق ، وهل ممكن دمج جدول Cridi وجدول ElectroMeng ، مع إضافة نوع القرض (وستكون Cridi او ElectrMeng او حتى اي شئ جديد في المستقبل) ، فاذا تم هذا ، فالمسألة ستقلل من عملك بين النماذج والجداول والتقارير ، وسيكون نموذج واحد وجدول واحد جعفر -
كما قلت سابقا ، انا لا يحصل عندي هذا الشئ ولكن ، غير اعدادات النموذج من All Records الى Current Record مثل الصورة: جعفر