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

AbuuAhmed

الخبراء
  • Posts

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

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

  • Days Won

    16

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

  1. استخدام دالة CLng لتحويل التاريخ إلى رقم تسلسلي فيه احتراز أكبر: CLng(bToDate) = CLng(bFromDate)
  2. أبو خليل غفل أن يحذف دالة Year
  3. في خصائص صندوق النص بدل قيمة خاصية Reading Order إلى Right-To-Left
  4. ما فهمته أن المشكلة تكمن في ظهور الشكل وهذا يمكن التغلب عليه باستخدام دالة التنسيق Format أما التوسع في المدى فيكنك التبديل بين: Long Integer Double
  5. استخدم دالة Mod للحصول على فرق الشلنات = Mod(Total, 0.05)
  6. جرب هذه الحسبة Calculations_01.xlsx
  7. حرب هذه الطريقة ، لتعطيك آخر يوم في الشهر، ويمكنك من خلالها اطلاق العنان في كتابة معادلات شبيهة. =IF(A5="";"";DATE(YEAR(A5);MONTH(A5)+1;0)) وهذه المعادلة لتعطيك مدة الشهر: =IF(A5="";"";DAY(DATE(YEAR(A5);MONTH(A5)+1;0)))
  8. هي مختلفة جزئيا وليست مختلفة تماما ، وهذا الاختلاف يجب أن يلم به (المبرمج المحاسب) فأنا أستخدم الدالتين في حساباتي وكل دالة أضعها في مكانها الصحيح. وفي المحاسبة أي حساب حقيقي أو وهمي يمكن أن يتغير رصيده ويتحول عكس طبيعته لعدة أسباب ليس المجال هنا لتعدادها، وهنا لا بد من عمل التجارب لمن يختلط عليه الأمر حتى لا يتسبب في مشكلات محاسبية. أنا استخدم ال Int في عمليات حسابية دقيقة جدا لو أستخدم ال Fix بدلها لخربت وتضررت النتائج بشكل كبير ولكن هذه الدالة مثلا لا يمكن استخدامها مع حسابات التاريخ والوقت ويلزم استخدام دالة Fix بدلا منها. موفقين
  9. إذا أردت الفصل فقط بدون معالجة قيمة الرقم الصحيح فاستخدم دالة Fix بدلا من Int جرب الدالتين على رقم -1.4 و -1.6 لتعرف الفرق بين الدالتين. (الرقمين بالسالب)
  10. توجد أيام في الشهر لا هي غياب ولا هي حضور 🙂
  11. وهذه طريقتي في كود الإضافة والبحث والذهاب إلى آخر سجل. Option Compare Database Option Explicit Private Sub btnsave_Click() Dim db As DAO.Database Dim rst As Recordset On Error Resume Next If Nz(Me.sname, "") = "" Or Nz(Me.sage, "") = "" Then MsgBox "لا يمكن ترك احد الحقول فارغا" Screen.PreviousControl.SetFocus Exit Sub End If Set db = CurrentDb Set rst = db.OpenRecordset("tbltest", dbOpenDynaset) With rst Err.Clear .AddNew !sname = Me.sname !sage = Me.sage .Update If Err.Number = 0 Then Me.sname = Null Me.sage = Null Me.sname.SetFocus Else MsgBox Err.Description, , Err.Number End If End With Set rst = Nothing Set db = Nothing End Sub Private Sub btnview_Click() Dim db As DAO.Database Dim rst As DAO.Recordset On Error Resume Next Set db = CurrentDb Set rst = db.OpenRecordset("tbltest", dbOpenSnapshot) With rst .FindFirst "sname='" & Nz(Me.sname, "") & "' And sage=" & Nz(sage, 0) If Not .NoMatch Then Me.ID = !ID Else MsgBox "لا يوجد سجل بهذه البيانات" End If End With Set rst = Nothing Set db = Nothing End Sub Private Sub cmdLastRec_Click() Dim db As DAO.Database Dim rst As DAO.Recordset On Error Resume Next Set db = CurrentDb Set rst = db.OpenRecordset("tbltest", dbOpenSnapshot) With rst .MoveLast Me.ID = !ID Me.sname = !sname Me.sage = !sage End With Set rst = Nothing Set db = Nothing End Sub Test_01.accdb
  12. من الجيد تعديل العنوان بعد تبديل كلمة عمارير إلى عمائر.
  13. دالة InStrRev خيار آخر لفصل اسم الملف من اسم المسار الكامل.
  14. حياك الله أستاذ سعد باين عليك بخيل أستاذ سعد 🙂 ، تعطيني طلباتك بالقطارة. على كل تم التعديل ولكن في كل الأحوال غ م غياب مجاز أو أي حروف أخرى وفارغ أيضا سيعتبرها البرنامج غياب وسيظهر الناتج "راسب". توزيع القرار لمدارس العراق_08.xlsm
  15. تم التعديل ، ويفترض أن أرجع لكم قبل هذا الوقت ولكن اليوم حصل خطأ ما وفقدت جزءا كبيرا من التعديلات واضطررت إلى إعادته مرة أخرى. لم أدقق على النتائج بشكل كاف والكرة الآن في مرماكم 🙂 . توزيع القرار لمدارس العراق_07.xlsm
  16. حياك الله عزيزي ، ممكن ، هل لديك مثال ليتم التعديل عليه ، وربما لو يكون في موضوع منفصل أو في موضوع قائم آخر حفاظا على وحدة الموضوع. كما ترون فأنا مستعد للمحاولة وكلني سأتأخر عليكم قليلا لانشغالي في "مشروع اكسل" مجنني شويتين.
  17. تعديل على التعديل السابق 🙂 التعديل السابق لتقريب الكسور إلى أقرب رقم صحيح كان يحول الخلايا الفاضية إلى أصفار وهذا خطأ لأن البرنامج يفرق بين الصفر والتي هي درجة تحصيل والخانة الفاضية والتي كان يعتبرها البرنامج غياب. التعديل في هذا السطر: من If IsNumeric(.Value) Then إلى If .Value <> "" And IsNumeric(.Value) Then توزيع القرار لمدارس العراق_06.xlsm
  18. مثال أولي قابل للتطوير بانتظار تجاربكم ومراجعاتكم بخيرها وشرها 🙂 PeriodsPrepare_01.accdb
  19. أنا عدلت على الكود جرب مرة أخرى ، وهذا ما عندي عزيزي.
  20. نظمت لك الكود بدون محرر الفيجوال جرب يمكن يشتغل معك. Private Sub cmd_Click() set objFSO As Object, objFolder As Object Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder("C:\Users\tf1\OneDrive\Desktop\myfolder") If Me.cmd.Caption = "hide" Then Me.cmd.Caption = "show" If objFolder.Attributes = objFolder.Attributes And 2 Then objFolder.Attributes = objFolder.Attributes Xor 2 End If Else Me.cmd.Caption = "hide" If objFolder.Attributes = objFolder.Attributes Xor 2 Then objFolder.Attributes = objFolder.Attributes And 2 End If End If Set objFSO = Nothing Set objFolder = Nothing End Sub
  21. هذا الكود أنا وجدته قبل مشاركات الزملاء ليعمل من خلال الاكسل وأنا عدلت عليه ليعمل من خلال الأكسس ولكن بعد تجربتي له لم يعمل بشكل صحيح وتوقفت عن وضعه لكم.
  22. شكرا لمرورك عزيزي ، كلامك صحيح إذا كان المطلوب تقرير ربعي/ربع سنوي ولكن عند تدقيق كود السائل يتضح أن المطلوب مختلف ، لاحظ أنه جعل البداية للكل 01/01 وكذلك للأسماء نصف سنوي بدلا من الربع الثاني وسنوي بدلا من الربع الرابع أو الأخير وكذلك أن السائل لم يطلب المساعدة إلا في نهاية الشهر الحالي ولم يشر إلى بقية المدد. أنا قلت أضرب عصفورين بحجر واحد فنظمت له الكود شكلا وأصلحت له نهاية "الشهر الحالي" وفترة "أسبوعي" وربما هو يريدها آخر سبعة أيام مع أن حسبتهم ثمانية أيام، فلننتظر مراجعته.
  23. الكود بعد التعديل: Private Sub m_AfterUpdate() Select Case Me.m Case "اليوم" Me.n1 = Date Me.n2 = Date Case "اسبوعي" If Weekday(Date, vbSunday) = vbSunday Then Me.n1 = Date Else Me.n1 = Date - Weekday(Date, vbSunday) + 1 End If Me.n2 = Me.n1 + 6 Case "الشهر الحالي" Me.n1 = DateSerial(Year(Date), Month(Date) + 0, 1) Me.n2 = DateSerial(Year(Date), Month(Date) + 1, 0) Case "الربع الأول" Me.n1 = DateSerial(Year(Date), 1, 1) Me.n2 = DateSerial(Year(Date), 3, 31) Case "نصف سنوي" Me.n1 = DateSerial(Year(Date), 1, 1) Me.n2 = DateSerial(Year(Date), 6, 30) Case "الربع الثالث" Me.n1 = DateSerial(Year(Date), 1, 1) Me.n2 = DateSerial(Year(Date), 9, 30) Case "سنوي" Me.n1 = DateSerial(Year(Date), 1, 1) Me.n2 = DateSerial(Year(Date), 12, 31) Case Else End Select End Sub PeriodRange_01.accdb
  24. حياك الله أستاذ حاولت أن أسهل عليكم بقدر المستطاع بحيث أحتفظ بالبيانات الأصل ولكن أصبح بعض التعديل يتطلب مراجعة كلية لكل الأكواد وهذا متعب علي حاليا. قمت بالتعديل على البيانات التي تلصق في صفحة المسودة القسم الأيمن/الأول بما يعني أن البيانات الأصلية لن تكون متوفرة بعد المعالجة. مع ملاحظة أن الكود يقوم بتقريب كل الدرجات السعي والنهائية. نحتاج مشاهدة صورة أخرى من هذه النسخة شبيهة للصورة السابقة. توزيع القرار لمدارس العراق_05.xlsm
  25. تعديل آخر حسب فهمي Calculate_astalt_03.accdb
×
×
  • اضف...

Important Information