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

kanory

الخبراء
  • Posts

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

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

  • Days Won

    138

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

  1. فلذلك عند جعل الدفعات في جدول مستقل تستطيع اضافة الدفعات بكل سهولة وتستطيع حصرها ومعرفة المتبقي لكل مساهم في كل شهر وهكذا .... ابدأ اخي الكريم ..... واطرح ما تريد في المنتدى وستجد الاجابة من الزملاء جميعا ....
  2. اضافة المثال سهل الاجابة ..... بارك الله فيك أخي @Eng.Qassim
  3. لكن فنيا : في عالم الجمعيات ... تعطى فترة محددة لجمعها وليست مفتوحة ... يعني مثلا بعد نزول الراتب باسبوع مثلا ... ليش لان المستلم الى عليه الدور يبغى فلوسه كاملة وليس مقسطه .... لكن تفضل التعديل حسب طلبك .... الجمعية (4).accdb ايضا نسيت .... المفروض البيانات الاساسية تكون في جدول مستقل ..... وبيانات الدفع تكون في جدول اخر بحيث تسجل فيها بيانات الدفع وطرقة الدفع والشهر ايضا ... هناك ملاحظات نسيتها الان ... اذا تذكرتها اضيفها
  4. يعني قصدك في كل دورية تريد تحديث للمبلغ 17950 حسب الدفعات الجديدة .... صحيح .. اليس كذلك..
  5. طيب مشاركة مع حبايبنا الاساتذة ..... اظن هذه معروفة ..... صح ..... Private Sub BtnFalse_Click() ChkBox = False ChkBox.Requery DoCmd.SetWarnings False DoCmd.RunSQL "UPDATE t2 SET t2.[YesNo] = [Forms]![incom2]![ChkBox] WHERE (((t2.xuser)=[Forms]![incom2]![xuser]));" DoCmd.SetWarnings True End Sub Private Sub BtnTrue_Click() ChkBox = True ChkBox.Requery DoCmd.SetWarnings False DoCmd.RunSQL "UPDATE t2 SET t2.[YesNo] = [Forms]![incom2]![ChkBox] WHERE (((t2.xuser)=[Forms]![incom2]![xuser]));" DoCmd.SetWarnings True End Sub
  6. طيب ... ركز معي اخي الكريم هذا المرفق يعمل كالتالي :::: عند فتح نموذج التسليم .... اذا كانت الجمعية جديد يقوم البرنامج تلقائيا بتهيئة البيانات المطلوب وذلك بعد ظهور الرسالة التى تؤكد بدايتها اما اذا كان البرنامج به جمعية سابقة لم تنتهي فيعمل مباشرة دون اي رسائل واذا كان البرنامج به جمعية سابقة ولكن دورتها منتهية أي تم تسليم الجميع مستحقاتهم ... يقوم البرنامج تلقائيا بتجديد دورة اخر جديدة ======================================== ملاحظة هامة الاشخاص الذين تم استلامهم لاشهر سابقة لن تظهر اسمائهم في نموذج التسليم مرة اخرى ... حتى تستكمل الدورة للجميع ... ثم تعاد اسمائهم في الدورة الجديدة ======================================== امور فنية : الجدول المسمى distribution هو جدول لترحيل بيانات التسليم مع كل ضغطت زر للتسليم الجدول المسمى Kan_distribution هو جدول لوضع علامة امام كل مستلم حتى لايظهر اسمه قبل نهاية الدورة ..... ومع الدورة الجديد تزال تلك العلامات ========================================= انظر الصور .... مع تجربة المرفق .... وأعلمنا بالنتيجة الجمعية.accdb
  7. الحقيقة اني دخل موضوعك والمرفق الموجود فيه اكثر من مرة لكن !!!!!1 للاسف لم افهم ....لذلك حاول طرح هذه الاسئلة ؟؟؟؟ هل التوزيع الموجود في الصورة صحيح ؟؟؟؟؟ هل انت تضع التواريخ يعنيي يدوي أو تريد البرنامج يوزع مثل الى في الصورة مع تواريخ اشهر متتابعة ؟؟؟؟
  8. حياك الله ابا الحسن... واياك ... واشكرك على الدعوات الطيبة ...
  9. بارك الله فيك اخي امير وعلى سعة صدرك ...
  10. امسح هذا .... C = Null D = Null A = Null B = Null واستبدلها بهذا .... Me.Undo
  11. طيب ... جرب المرفق ووافينا بالنتيجة ... dbo_da_kan.accdb
  12. ضع هذا الكود في حدث النقر على الزر <<<<<<<>>>>>>> DoCmd.SetWarnings False DoCmd.RunSQL "UPDATE tbl_Items SET tbl_Items.iBillStatus = ""مرحل"" WHERE (((tbl_Items.iDate) Between [Forms]![frmTarhell]![Text0] And [Forms]![frmTarhell]![Text2]));" DoCmd.SetWarnings True
  13. جرب المرفق وطبق على مثالك ...... db1.mdb
  14. للتعلم ... اعمل استعلام تحديث للجدول وقم بعمل معيار bitween ....
  15. الشرح :::: تنسيق شرطي في جميع طلباتك اخي الكريم انظر الصورة ..... تفضل المرفق بعد التعديل <<<<<<<<>>>>>>>> DATA1041.mdb
  16. تفضل <<<<<<<<>>>>>>>>> DATA1041.mdb
  17. استخدم هذا الكود في مربع النص الخاص بالتاريخ في حدث بعد التحديث ...... If Not IsNull(DLookup("A", "ABCD", "C=form!C and D=form!D And A=form!A And A=form!A")) Then If MsgBox("سبق إدخال " & C & " و " & D & " هل تريد الاستمرار؟", vbYesNo, "تنبيه") = vbNo Then 'لتفريغ الحقول فقط A = Null B = Null C = Null D = Null End If End If للأسف لم استطع استخدام الكود في مثالك ......... نظرا لاستخدامك اللغة العربية في التسميات ............
  18. لان الكود ينظر لاول تريقيم في الجدول وليس الترقيم الذي انت تريده ( بداية الترقيم قي السنه ) انظر هذا الكود وتفحصة لتعرف ما الذي يجب عليك تعديلة ليفهم الكود بداية الترقيم Em.21001 DoCmd.GoToRecord , "", acNewRec Rc.MoveFirst ChequesFound = Rc.GetRows(Rc.RecordCount) ChequeNoStart = ChequesFound(0, 0) ChequeNoEnd = ChequesFound(0, UBound(ChequesFound, 2)) اما الكود الذي وجدته فلا يعيد الارقام المفقودة !!!!!
  19. احسن الله اليك ..... القصد في المشاركة حتى تتعدد الافكار والطرق وتصبح معلومة لمن يريدها وقت البحث ..... اشكر لك صعت صدرك من امثالكم نتعلم . بارك الله فيك اخي الكريم
  20. lمشاركة مع البش مهندس ... max&^min.accdb
  21. ارفق مثال مصغر للمطلوب ؛؛؛؛؛؛؛؛
  22. المنتدى للتعلم بارك الله فيك ..... حاول في الكود .... غير ... بدل ... ضيف .... احذف .... حتى تصل ... ما تخسر شيئ بل تكتسب خبرة
  23. ههههه .... اذن حاول انقاذ الموقف .... بتعديل كودك .... 😁
  24. لكن لو فكرت منطقيا ... انت اعتمدت على السنه في الترقيم .. صحيح اذن ... سوف تواجه مشكلة العام القادم ... ليش منطقيا ان كل عام له ترقيمه الخاص ... يعني كل سنه يبدأ ترقيم من جديد .... السؤال ... لك .... للتعلم .... كيف يمكن تعديل الكود السابق حتى نتلافى تلك المشكلة ؟؟؟ اريد انت تفكر بطرق حل تلك المشكلة برمجيا !!
  25. استبدل الكود الموجود لديك بهذا الكود ..... On Error Resume Next Dim Db As DAO.Database Dim Rc As DAO.Recordset Dim ChequesFound Dim ChequeNoStart As Long Dim ChequeNoEnd As Long Dim i As Long Set Db = CurrentDb Set Rc = Db.OpenRecordset("SELECT SamoBrojevitxt([dbo_ID]) AS Brojevtxti FROM dbo_Tbl_Emp ORDER BY SamoBrojevitxt([dbo_ID]);") Do While Not Rc.EOF Rc.MoveNext Loop If Rc.RecordCount = 0 Then dbo_ID = "Em." & Right(Year(Date), 2) & "001" 'MsgBox "No Records Found" GoTo cmdDisplay_Exit End If DoCmd.GoToRecord , "", acNewRec Rc.MoveFirst ChequesFound = Rc.GetRows(Rc.RecordCount) ChequeNoStart = ChequesFound(0, 0) ChequeNoEnd = ChequesFound(0, UBound(ChequesFound, 2)) For i = ChequeNoStart To ChequeNoEnd If BinarySearch(ChequesFound, i) = False Then dbo_ID = "Em." & i GoTo cmdDisplay_Exit Else dbo_ID = "Em." & Replace(Nz(DMax("dbo_ID", "dbo_Tbl_Emp", "dbo_ID like 'Em." & Right(Year(Date), 2) & "*'"), "Em." & Right(Year(Date), 2) & "000"), "Em.", "") + 1 End If Next i cmdDisplay_Exit: Set Rc = Nothing Set Db = Nothing
×
×
  • اضف...

Important Information