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

Foksh

الخبراء
  • Posts

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

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

  • Days Won

    117

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

  1. أخي @ناقل ، ما رأيك بهذه الفكرة ؟ BackLight3.accdb
  2. مش عارف اقولك ايه صدقني .. عند وجود طالبين لهم نفس الدرجة ، سيتم اختيار الطالب الأصغر سناً ، صحيح؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ واعتذر عن المتابعة معك
  3. بما انك اخترت افضل إجابة . وهذا يعني اغلاق الموضوع ، ويتوجب عليك فتح موضوع ثاني
  4. جرب هذا التعديل ، بالإستعانة بجدول مؤقت يكون هو مصدر سجلات النموذج dodo.accdb مع العلم أن اختيار أفضل إجابة يجب أن يكون لتلك الإجابة التي حلت مشكلتك أخي @2saad
  5. للكومبوبوكس في حدث بعد التحديث Me.Requery
  6. وعليكم السلام ورحمة الله وبركاته ,, جرب هذا الاستعلام SELECT TOP 10 student.id_stu, student.name, student.saf_id, student.totale, student.galose, student.fasle, student.birth, Tbl_saf.saf_id, Tbl_saf.saf FROM student INNER JOIN Tbl_saf ON student.saf_id = Tbl_saf.saf_id WHERE student.saf_id = [Forms]![form1]![cc] ORDER BY student.totale DESC , student.birth, student.name;
  7. شاركنا الملف اللي عندك علشان نعرف الدنيا عاملة ايه في الملف
  8. على العموم ، هذه فكرة محدثة ، انا جربتها على الموظف الأول لشهر 9 أيلول Sep .. attend.mdb
  9. يعني هل رقم الموظف 2 له أكثر من اسم موظف كما في ملفك 🤦🏻‍♂️ .
  10. وعليكم السلام ورحمة الله وبركاته ، هل لك أن توضح أكثر مطلبك !؟!؟ هل تقصد الـ Checkbox ؟؟؟؟؟؟؟؟؟؟ ارفق مثال لتتوضح فكرتك وهدفك
  11. بعد الاطلاع على الملف بشكل دقيق لا اعلم ان كانت هذه البيانات حقيقية أم للتجربة كمثال ولكن ، بناء على الملف المرفق ، لا يوجد علاقة بين الجدولين . حيث ان رقم الموظف من المفترض أنه هو المفتاح الأساسي إن صح التعبير وفي مثالك لا يوجد علاقة . إضافة إلى ذلك : في جدول الحضور والانصراف "Attendance" رقم الموظف 2 = الاسم BQ Safeer و Sanabis Alhussaini و Mohammed Eldosouky فكيف هذا 🤨 على العموم فكرتي هنا تتوقف ، لأن البيانات غير منطقية بالنسبة لي . جرب هذا المرفق attend.mdb
  12. وصلت الفكرة اخي الكريم ,, جاري التنفيذ إن شاء الله
  13. السلام عليكم ورحمة الله وبركاته ، أخواني وأساتذتي ومعلمينا ( دون استثناء ) 📌 أقدم لكم اليوم فكرة قد تكون ليست بالجديدة ، ولكنها بالحديثة و بطريقة فوكشية ▫▪◽◾◻◼. الكثير من المواضيع التي تحدثت عن كيفية رفع ملفات المستخدم على جوجل درايف أو غيره من المواقع التي تقدم مساحات سحابية متعددة الخدمات لمستخدميها .. اليوم وبتوفيق من الله ، تم إنشاء هذه الأداة للتعامل مع جوجل درايف Google Driveحصراً ، لكونه يقدم مساحة 15 جيجا بايت لمستخدميه . ما كان يؤرق الكثيرين هو أن جوجل أو غيره من مقدمي الخدمة المشابهة يقوم بتعديل سياسته وقوانينه كل فترة . لكن هنا وبهذه الأداة المجانية تم حل المشكلة بعد فحصها مراراً وتكراراً (متمنياً ذلك) . الفكرة في الأداة تعتمد على حساب جوجل أو Gmail شخصي . ما يلزم المستخدم هنا تطبيق الخطوات البسيطة التالية حسب الصور أو الفيديو في هذا الرابط . 📌 عند فتح الأداة لأول مرة ، سيساعدك معالج الإنشاء بجميع الخطوات ( خطوة بخطوة ) وستظهر لك هذه الرسالة :- 📌 عند النقر على Yes ، ستظهر لك رسالة الإرشاد الأولى كالتالي :- 📌 سيتم فتح المتصفح لديك على الرابط الخاص بإنشاء الخدمة .. وللمتابعة دون الإطالة ، أترككم مع الصور و الخطوات خطوة بخطوة . 📌 عند الإنتهاء من تنفيذ الخطوات والحصول على رمزي الـ ( CLIENT ID و CLIENT SECRET ) . ✨ سيتوجه بك معالج الإنشاء للخطوة قبل الأخيرة كالآتي :- 📌 هنا يطلب منك لصق رمز CLIENT ID الذي حصلت عليه من تسلسل الخطوات السابقة . ثم بعد لصقه والضغط على OK ، ستظهر لك الرسالة التالية :- 📌 والتي يطلب منك لصق CLIENT SECRET كما في الصورة أعلاه . ✨ الآن الخطوة الهامة والتلقائية ، وبعد لصق الرمزين الخاصين بحسابك في جوجل درايف ( لا تقم بمشاركتهم مع أي أحد ) ، سنهب للحصول على رمز التفويض مرة واحدة فقط ! وهذا يعني أنك لن تحتاج إليه مستقبلاً . انظر الصورة التالية :- 📌 عند النقر على موافق ، سيتم فتح متصفحك على رابط خاص في جوجل لتمنح بريدك الإلكتروني الذي استخدمته في إنشاء الخدمة سابقاً كامل الصلاحية لإستخدام خدمات جوجل درايف . وطبعاً بالمتابعة وتأكيد الموافقة ، ستحصل على رمز التفويض الخاص بك و لمرة واحدة فقط ولن تحتاجه فيما بعد ، فتقوم بنسخه ولصقه في رسالة التأكيد التالية :- الآن وبفضل الله ، ستظهر لك رسالة " تم التفويض بنجاح" ، وبهذه الخطوة تم ربط آكسيس بحساب جوجل درايف الخاص بك ، وستظهر لك واجهة الأداة كما في الصورة أدناه . وما يلي شرحاً سريعاً لمميزاتها . مميزات الأداة :- تتيح لك الأداة رفع الملفات بأي امتداد وبأي حجم ؛ إلى أي مجلد تحدده في حسابك على جوجل درايف ، أو في الملف الرئيسي عند عدم اختيارك لمجلد محدد . والمجلدات التي في حسابك ستظهر لك عند النقر على زر "مجلداتي" ، ثم من قائمة الكومبوبوكس ستختار المجلد الهدف لرفع الملف اليه . زر "إختيار ملف" لإختيار الملف الذي ترغب برفعه على جوجل درايف . زر "معاينة" مخصص لمعاينة الملف حسب الرسالة التي ستظهر لك . زر "مسح الحقول" لتفريغ العناصر من قيمها . زر "ارفع الملف" والذي من خلاله ستقوم بتنفيذ عملية رفع الملف إلى حسابك في جوجل درايف . بعد إتمام عملية الرفع بنجاح ، يتم عرض المساحة المستخدمة من المساحة التخزينية لحسابك ( وهي 15 جيجا ) ، والنسبة المئوية للمساحة في عنوان النموذج ، كما في الصورة أدناه لعملية الرفع . زر "نسخ الرابط" لنسخ الرابط بعد أن تمت عملية الرفع بنجاح ( لإستخداماتك الشخصية وحاجتك لاحقاً ) . وفيما يلي ، صورة سريعة لعملية رفع صورة على سبيل المثال : ملف الأداة بنسختين .. نسخة 64 بت نسخة 32 بت Uploader.zip Uploader 32.zip
  14. موضوع مكرر بهذا الرابط مع العلم أن الفكرة جداً بسيطة في التنفيذ .. جرب هذه الفكرة ss (1).accdb
  15. فكرة جميلة ، ما شاء الله عليك 🙏 . إذا أردت المساعدة ، فأبشر بها يا صديقي 🤗 .
  16. أخي الكريم ، لماذا أشعر بأنك تبخل بالتوضيح بشرح ما يحصل معك وما تحاول الوصول اليه ؟؟؟؟؟ وتقتصر ردودك على صورة وعلى عدم الإجابة عن جميع الأسئلة التي نطرحها محاولةً منا لفهم الذي يحصل معك !!!!!!!!!!! أخر محاولاتي في فهم ما تريد ما لم تقم بالتوضيح أكثر في مواضيعك وطلباتك Private Sub cmd_Pay_installments_Click() On Error GoTo err_cmd_Pay_installments_Click Dim rst As DAO.Recordset Dim rstE As DAO.Recordset Dim myCriteria As String Dim TheSum As Double Dim Rc As Long Dim i As Long Dim a1 As Long Dim a2 As Long Dim PaymentMonth As Long PaymentMonth = CLng(DateSerial(Year(Me.txtMonth), Month(Me.txtMonth), 1)) Set rst = CurrentDb.OpenRecordset("Select * From tbl_Loans Where [Payment_Month]=#" & Format(Me.txtMonth, "MM/DD/YYYY") & "#") rst.MoveLast: rst.MoveFirst Rc = rst.RecordCount a1 = 0 a2 = 0 If Rc = 0 Then MsgBox " لا توجد إقتطاعات لشهر " & Format(Me.txtMonth, "mmmm") & " " & Year(Me.txtMonth), vbInformation Exit Sub End If If Len(rst!Payment_Made & "") = 0 And Not IsNull(rst!Loan_Made) Then Select Case MsgBox("هل تريد أن يتم توزيع الإقتطاعات لشهر " & Me.txtMonth, vbYesNo + vbQuestion + vbDefaultButton1) Case vbYes For i = 1 To Rc rst.Edit If rst!Nr >= 6 Then rst!Payment_Made = 0# Else If rst!Loan_Type = "Cridi" Then rst!Payment_Made = rst!Loan_Made rst!sadad = rst!Loan_Made rst!Loan_Remise = 0 End If If rst!Loan_Type = "Elec" Then rst!Payment_Made = rst!Loan_Made rst!sadad = rst!Loan_Made rst!Loan_Remise = 0 End If End If If rst!sadad.Value = True Then rst!wada3 = "تم التسديد" Else rst!wada3 = "لم يتم التسديد" End If TheSum = TheSum + Nz(rst!Payment_Made, 0) rst.Update rst.MoveNext Next i If Month(Now()) = 3 Or Month(Now()) = 7 Then Set rst = CurrentDb.OpenRecordset("Select * From tbl_Loans") myCriteria = "[Nr] < 6" Set rstE = CurrentDb.OpenRecordset("Select * From Employee Where " & myCriteria) rstE.MoveLast: rstE.MoveFirst Rc = rstE.RecordCount For i = 1 To Rc rst.FindFirst "[Loan_Type]='Inkhirat' And [EmployeeID]=" & rstE!EmployeeID & " And [Payment_Month]=#" & Format(Me.txtMonth, "MM/DD/YYYY") & "#" If rst.NoMatch Then rst.AddNew a2 = 1 rst!EmployeeID = rstE!EmployeeID rst!Loan_ID = 0 rst!Payment_Month = DateSerial(Year(Me.txtMonth), Month(Me.txtMonth), 1) rst!Payment_Made = DLookup("Other_Value", "TblOther", "ID=1") rst!Loan_Type = "Inkhirat" rst!Nr = GetNumDetach(rst!EmployeeID) rst!Remarks = "إقتطاع من الراتب لإنخراط شهر " & Year(Me.txtMonth) & "/" & Month(Me.txtMonth) rst!annee = Year(Date) If rst!Loan_Type = "Inkhirat" Then rst!sadad = rst!Payment_Made If rst!sadad.Value = True Then rst!wada3 = "تم الإنخراط" Else rst!wada3 = "لم يتم الإنخراط" End If End If TheSum = TheSum + Nz(rst!Payment_Made, 0) rst.Update rstE.MoveNext Next i rstE.Close: Set rstE = Nothing End If TheSum = Format(TheSum, "#,##0.00") MsgBox " " & "تم توزيع الإقتطاعات" & vbLf & vbLf & "مجموع الإقتطاعات = " & TheSum, , "إقتطاعات شهر" & FrenchMonth(Month(Date)) & Year(Date) I_am_Done: Case vbNo MsgBox "لم يتم توزيع الإقتطاعات" End Select rst.Close: Set rst = Nothing End If Exit Sub err_cmd_Pay_installments_Click: If Err.Number = 3021 Then Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub
  17. صديقي العزيز ، التقرير لعرض البيانات وليس لإضافة بيانات وقيم في مربعات النص ، تستطيع الاستدعاء في حدث عند التحميل للتقرير 😅 .
  18. جرب فكرتي في المرفق التالي ss (1).accdb
  19. وعليكم السلام ورحمة الله وبركاته .. أخي العزيز @saffar ، من باب النصيحة وأنت تبارك الله عضو مميز ومتمنياً لك اعلى المراكز في حياتك ، حاول الإبتعاد عن المسميات المحجوزة لآكسيس مثل حقل التاريخ Date في جدولك ، فهذا سيربكك في جميع أعمالك وليس فقط في الأكواد .. على العموم قمت بإنشاء استعلام ونموذج بسيطين بحيث من خلال النموذج Form1 اختر الموظف ورقم الشهر وسيتم ادراج تاريخ أول يوم وآخر يوم في هذا الشهر .. ثم انقر زر افتح الاستعلام والذي من خلاله تستطيع انشاء تقريرك حسبما تريد وحسب حاجتك ورغبتك .. attend.mdb
  20. أخي العزيز ، طلبك غير واضح وغير مفهوم .. الرقم 35 سيتم توزيعه بناءً على ماذا ؟؟؟ وما الشروط لتقسيمه ؟؟؟ والمربعات أ ، ب ، ج ، د ، هـ = لا يزيد عن 10 <<<< ماذا تعني !!!!!! نرجو منك التوضيح لفهم المطلوب
  21. لم افهم آلية العمل على برنامجك ، ولكن من خلال ما فهمت من تتبع مسار الكود / جرب هذا التعديل . فأنت تعرف مداخل ومخارج مشروعك وكيفية العمل عليه Private Sub cmd_Pay_installments_Click() On Error GoTo err_cmd_Pay_installments_Click Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset("Select * From tbl_Loans Where [Payment_Month]=CDATE('" & Me.txtMonth & "')") rst.MoveLast: rst.MoveFirst Rc = rst.RecordCount a1 = 0 a2 = 0 If Rc = 0 Then: MsgBox " لا توجد إقتطاعات لشهر " & Format(Me.txtMonth, "mmmm") & " " & Year(Me.txtMonth), vbInformation: Exit Sub If Len(rst!Payment_Made & "") = 0 And Not IsNull(rst!Loan_Made) Then Select Case MsgBox("هل تريد أن يتم توزيع الإقتطاعات لشهر " & Me.txtMonth, vbYesNo + vbQuestion + vbDefaultButton1) Case vbYes For i = 1 To Rc rst.Edit If rst!Nr >= 6 Then rst!Payment_Made = 0# Else If rst!Loan_Type = "Cridi" Then rst!Payment_Made = rst!Loan_Made rst!sadad = rst!Loan_Made rst!Loan_Remise = 0 End If If rst!Loan_Type = "Elec" Then rst!Payment_Made = rst!Loan_Made rst!sadad = rst!Loan_Made rst!Loan_Remise = 0 End If End If If rst!sadad.Value = True Then rst!wada3 = "تم التسديد" Else rst!wada3 = "لم يتم التسديد" End If TheSum = TheSum + Nz(rst!Payment_Made, 0) rst.Update rst.MoveNext Next i If Month(Now()) = 3 Or Month(Now()) = 7 Then Dim rstE As DAO.Recordset Set rst = CurrentDb.OpenRecordset("Select * From tbl_Loans") myCriteria = "[Nr] < 6" Set rstE = CurrentDb.OpenRecordset("Select * From Employee Where " & myCriteria) rstE.MoveLast: rstE.MoveFirst Rc = rstE.RecordCount For i = 1 To Rc rst.FindFirst "[Loan_Type]='Inkhirat' And [EmployeeID]=" & rstE!EmployeeID & " And [Payment_Month]=#" & Me.txtMonth & "#" If rst.NoMatch Then rst.AddNew a2 = 1 rst!EmployeeID = rstE!EmployeeID rst!Loan_ID = 0 rst!Payment_Month = DateSerial(Year(Me.txtMonth), Month(Me.txtMonth), 1) rst!Payment_Made = DLookup("Other_Value", "TblOther", "ID=1") rst!Loan_Type = "Inkhirat" rst!Nr = GetNumDetach(rst!EmployeeID) rst!Remarks = "إقتطاع من الراتب لإنخراط شهر " & Year(Me.txtMonth) & "/" & Month(Me.txtMonth) rst!annee = Year(Date) If rst!Loan_Type = "Inkhirat" Then rst!sadad = rst!Payment_Made If rst!sadad.Value = True Then rst!wada3 = "تم الإنخراط" Else rst!wada3 = "لم يتم الإنخراط" End If End If TheSum = TheSum + Nz(rst!Payment_Made, 0) rst.Update rstE.MoveNext Next i rstE.Close: Set rstE = Nothing End If TheSum = Format(TheSum, "#,##0.00") MsgBox " " & "تم توزيع الإقتطاعات" & vbLf & vbLf & "مجموع الإقتطاعات = " & TheSum, , "إقتطاعات شهر" & FrenchMonth(Month(Date)) & Year(Date) I_am_Done: Case vbNo MsgBox "لم يتم توزيع الإقتطاعات" End Select rst.Close: Set rst = Nothing End If Exit Sub err_cmd_Pay_installments_Click: If Err.Number = 3021 Then Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub مع العلم أنني لم أجد الزر cmd_Pay_installments في النموذج .. على العموم ، جرب الكود وأخبرني بالنتيجة ..
  22. سامحك الله أستاذ @ناقل ، لك حرية الاستخدام كما تريد ،، ويسعدني رؤية تعديلاتك التي تفكر فيها .. جل ما نقدمه جميعاً هنا هو لوجه الله تعالى أولاً ، ثم لنستفيد منه جميعاً .
×
×
  • اضف...

Important Information