اذهب الي المحتوي
أوفيسنا

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. وعليكم السلام المبرمج مثل الدكتور ، يسألك بعض الاسئلة ، وعلى ردودك ممكن يعطيك نصائح ، ولكن للتأكد 100% من المشكلة ، لازم يعمل فحوصات وتحاليل ، واللي المريض شخصيا لازم يكون موجود ، وبرنامجك مشكلته هي: رقم 1 (خط الفصل بين صفحة واخرى) ، اعلى من الخط رقم 2 (الخط السفلي لمربع الحقل "حالة") . وعلشان ما تخلي رقم 1 ينزل مسافة كبيرة ، اعمل التالي: 1. اختاره ، 2. ثم خليك ماسك زر Ctrl الكيبورد ، 3. ومن الكيبورد ، استعمل السهم لأسفل ، 3 حبات فقط. الدكتور جعفر
  2. وعليكم السلام اخوي وضاح استعمل هذا الكود للزر "ادراج بالفاتوره" ، بدل الكود الموجود حاليا: Private Sub أمر44_Click() On Error Resume Next Forms![frm_Recall_sales]![Rjmfatwra2] = Me.Rjmfatwra Dim Rs As DAO.Recordset Set Rs = Forms!frm_Recall_sales!SubSales.Form.RecordsetClone Rs.FindFirst "[Rjmfatwra] = '" & Me.n7 & "' And ID_Sanf =" & Me.ID_Sanf If Rs.NoMatch = False Then MsgBox "Record Exists" GoTo No_Records Else Rs.AddNew Rs!Rajmsanf = Me.Rajmsanf Rs!ID_Sanf = Me.ID_Sanf 'Rs!Price_Sales = Me.Price Rs!Price = Me.Price 'Rst!Price = Me.Price_Sales Rs!Alkmiah = Me.n6 Rs!Atarih = Me.Atarih Rs!Nwaha = Me.Nwaha Rs!Rjmfatwra = Me.n7 Rs!Adfah = Me.Adfah Rs!NoEmp = Me.NoEmp Rs.Update Me.Price_Sales = Null Me.ID_Sanf = Null Me.Rajmsanf = Null Me.Sanf = Null 'sarabaih = Null Me.Price = Null Me.n9 = Null Me.n6 = Null Me.Alkmiah = Null Me.الاجمالي = Null Me.Atarih = Null Me.Nwaha = Null Me.Rjmfatwra = Null Me.Adfah = Null Me.NoEmp = Null Rajmsanf.SetFocus End If No_Records: Rs.Close 'DoCmd.Close ' End If End Sub . جعفر 844.رساله التكرار.mdb.zip
  3. السلام عليكم ورحمة الله وبركاته سنة 2017 رحلت ، واذا احد عنده حساب معاها ، فالدعاء والاستغفار هو ما بقى لنا منها ، وان شاء الله سنة 2018 تكون لنا جميعا سنة صحة وسلامة وخير ونعمة ورزق وفير وقضاء الديون ، ورضى من رب العالمين ، لنا ولمن احببنا ، ولا ننسى ، هي صحيفة اعمالك ، فاملأها بالعمل الصالح جعفر
  4. السلام عليكم اخي رعد انا احاول اتفادى الاسئلة اللي تتكلم بلغة المحاسبة ، ولكن لما يكون السؤال واضح بأسماء الحقول وتفصيل ، احاول المساعدة طلبك بسيط ، ولكن اريد بعض الاجابات لوسمحت: 1. المدين: رقم او صفر ، ولكن الصورة فيها فراغ اذا الدائن فيه رقم ، يعني لا رقم ولا صفر !! 2. اذا المدين فيه رقم ، الدائن = صفر ، ولكن الصورة فيها فراغ اذا المدين فيه رقم ، يعني لا يوجد صفر !! 3. رجاء شرح المادة 3 باللون الاحمر ، 4. واذا لم يتم التوازن ، لا يتم الحفظ !! ، هذا معناه اذا عندك 100 سجل ادخلتهم ولم يتم التوازن ، وما عندك وقت تدقق وين الخطأ ، تحذف كل العمل !! جعفر
  5. المرفق مافيه بيانات ، عليه لا استطيع عمل شيء جعفر
  6. وعليكم السلام لأن بياناتك عمودية: . يجب ان نفرغ الحقول ، من عمودية الى افقية ، حسب كل حركة: . والنتيجة ، والتي تستطيع ان تبدأ الحساب من هنا ، بين حقل الدخول والخروج ، او اي عملية حسابية شئت . وكذلك يمكن عمل الاستعلام هكذا ، استعلام وسيط (للايام ، وبدون وقت) . ونستخدم استعلام CrossTab ، ونكتب اسماء الاعمدة . والنتيجة . ولكن ، وعلشان اسهل عليك ، عملت لك الفرق بين اول وقت وآخر وقت ، بالساعة H و الدقيقة M . هذه النتيجة ، والباقي عليك . جعفر 842.Attendance.accdb.zip 842.Attendance.mdb.zip
  7. وعليكم السلام يجب ان تترك مسافة في الاسفل ، بين الحقل وخط القسم ، هكذا: لا توجد مسافة في اسفل الحقل ، فلا ترى الخط السفلي لمربع الحقل . اترك مثل هذه المسافة ، وسترى مربع الحقل بالكامل . جعفر
  8. حياك الله كود اخي شفان سيصبح هذا للاعتيادية =Nz(DSum("[مدة الإجازة]";"جدول الإجازات";"[نوع الاجازة]='اعتيادية'" & "and [رقم الموظف]=" & [Forms]![AAA]![رقم الموظف]);"لا يوجد") وهذا للاجازات التعويضية =Nz(DSum("[مدة الإجازة]";"جدول الإجازات";"[نوع الاجازة]='تعويضية'" & "and [رقم الموظف]=" & [Forms]![AAA]![رقم الموظف]);"لا يوجد") جعفر
  9. وعليكم السلام . . جعفر 840.نوع الاجازة.accdb.zip
  10. وعليكم السلام الاربع اسطر الاخيرة: 2. نعمل الاستعلام qry_NewQry من جملة mySQL_Union ، 3. نصدر بيانات الاستعلام الى D:\Test\abc.xls ، 4. نحذف الاستعلام. Private Sub cmd_Training_Records_Click() mySQL1 = "SELECT TOP " & Forms!Q1!iSchool & " الوقت, الاسم, الجهة, الدورة" mySQL1 = mySQL1 & " FROM tbl_Training" mySQL1 = mySQL1 & " WHERE الجهة = 'مدرسة' And الدورة ='" & [Forms]![Q1]![T1] & "'" mySQL1 = mySQL1 & " ORDER BY الوقت" 'Debug.Print mySQL1 mySQL2 = "SELECT TOP " & Forms!Q1!iAdmin & " الوقت, الاسم, الجهة, الدورة" mySQL2 = mySQL2 & " FROM tbl_Training" mySQL2 = mySQL2 & " WHERE الجهة = 'إدارة' And الدورة ='" & [Forms]![Q1]![T1] & "'" mySQL2 = mySQL2 & " ORDER BY الوقت" 'Debug.Print mySQL2 mySQL3 = "SELECT TOP " & Forms!Q1!iOffice & " الوقت, الاسم, الجهة, الدورة" mySQL3 = mySQL3 & " FROM tbl_Training" mySQL3 = mySQL3 & " WHERE الجهة = 'مكتب' And الدورة ='" & [Forms]![Q1]![T1] & "'" mySQL3 = mySQL3 & " ORDER BY الوقت" 'Debug.Print mySQL3 mySQL_union = mySQL1 & " union all " & mySQL2 & " union all " & mySQL3 'Debug.Print mySQL_union Me.f1.Form.RecordSource = mySQL_union Me.f1.Form.OrderBy = "الجهة, الوقت" Me.f1.Form.OrderByOn = True Dim qdf As QueryDef Set qdf = CurrentDb.CreateQueryDef("qry_NewQry", mySQL_union) DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, "qry_NewQry", "D:\Test\abc.xls" CurrentDb.QueryDefs.Delete "qry_NewQry" End Sub جعفر
  11. . بينما نموذجك ، نموذج مستمر ، فلا يعمل الكود على حقل في سجل معين ، وانما يعمل على جميع السجلات (حسب قيمة اول سجل) ، اما التنسيق الشرطي ، فاليك مثال: https://stackoverflow.com/a/45284549 جعفر
  12. اذا تريد بيانات هذه الحقول تظهر تظهر لك في النموذج، فنعم يجب إدخالها في الكود
  13. قلت لك اني عملته !! لازم تغير اسم الجدول الموجود tbl_Training الى اسم آخر، وبعدين تقوم بهذا العمل. طبعا، اذا بدأت استعمال البرنامج، فيجب عليك حذف جدول المتقدمين، والعمل فقط على الجدول tbl_Training
  14. بس مافي داعي، لأني عملته انا، وعليه أصبح عندنا الجدول tbl_Training . ولكن لا بأس بعمله، ليطمئن قلبك جعفر
  15. وعليكم السلام هذا الزر هو الذي قام بتنظيم الدورات ونقلها إلى حقل واحد. لاستخدامه: 1. أعمل نسخه من جدول المتقدمين، واسميه tbl_Training ، 2. غيّر اسم الحقل دورة1 الى دورة ، 3. اضغط على هذا الزر ، 4. ارجع الى الجدول tbl_Training ، سترى السجلات الجديدة، وهي نسخة من الدورات دورة2 الى دورة5 تم تصفيفها في حقل دورة، مع الأخذ في الاعتبار التاريخ والأيام و الجهة ، 5. احذف حقول دورة2 الى دورة5. بعد تحويل الجدول بهذه الطريقة، ينتهي دور النموذج، ولا تستعمله مرة ثانية. جعفر
  16. وعليكم السلام انت تفتح التقرير ، ثم تطبعه ، لماذا !! مافي داعي لهذا ، جرب هذا if nz(me.total,0)<>0 then DoCmd.OpenReport "grama" end if جعفر
  17. هناك دائما اكثر من طريقة لعمل المطلوب ، ولكننا نتخذ قرارا لعمل المطلوب بطريقة معينة لسبب او لآخر ، وبعض الاوقات لا توجد طريقة افضل من اخرى ، واحيانا يكون هناك الكثير من الاشياء التي تلزمك بعمل شيء بطريقة معينة ، وانت تعرف ان هذه الطريقة ليست الافضل ، ولكن لا يوجد مجال لإختيار الافضل هنا. فالجواب ، تعددت الاسباب والموت واحد اذا الطريقة سهلة لك ، واهم الشيء ان النتائج صحيحة ، فلا تهتم بشيء آخر جعفر
  18. وعليكم السلام اولا وقبل كل شيء ، يجب عليك تغيير تصميم جدول "المتقدمين" (حاليا تصميمه يناسب الاكسل) ، حتى يكون بطريقة قواعد البيانات الصحيحة ، والذي سيوفر عليك الكثير من الوقت لاحقا ، لذا عملت لك التعديل في الجدول tbl_Training . انت محتاج تعمل استعلام لكل جهة (يعني 3 استعلامات) ، ثم تستعمل الامر Union لتجمع الاستعلامات الثلاث في استعلام واحد ، ولكن المشكلة هي العدد المطلوب ، فلا يمكننا ان نجعل العدد رقم متغير في الاستعلام ، وهو ما يشار الى بـ TOP n (اذا العدد معروف مسبقا ، فالاستعلامات الثلاث سهله ، ثم نعمل استعلام Union يجمعها) ، لذا وجب علينا ان نعمل الاستعلامات في الكود Private Sub cmd_Training_Records_Click() mySQL1 = "SELECT TOP " & Forms!Q1!iSchool & " الوقت, الاسم, الجهة, الدورة" mySQL1 = mySQL1 & " FROM tbl_Training" mySQL1 = mySQL1 & " WHERE الجهة = 'مدرسة' And الدورة ='" & [Forms]![Q1]![T1] & "'" mySQL1 = mySQL1 & " ORDER BY الوقت" 'Debug.Print mySQL1 mySQL2 = "SELECT TOP " & Forms!Q1!iAdmin & " الوقت, الاسم, الجهة, الدورة" mySQL2 = mySQL2 & " FROM tbl_Training" mySQL2 = mySQL2 & " WHERE الجهة = 'إدارة' And الدورة ='" & [Forms]![Q1]![T1] & "'" mySQL2 = mySQL2 & " ORDER BY الوقت" 'Debug.Print mySQL2 mySQL3 = "SELECT TOP " & Forms!Q1!iOffice & " الوقت, الاسم, الجهة, الدورة" mySQL3 = mySQL3 & " FROM tbl_Training" mySQL3 = mySQL3 & " WHERE الجهة = 'مكتب' And الدورة ='" & [Forms]![Q1]![T1] & "'" mySQL3 = mySQL3 & " ORDER BY الوقت" 'Debug.Print mySQL3 mySQL_union = mySQL1 & " union all " & mySQL2 & " union all " & mySQL3 'Debug.Print mySQL_union Me.f1.Form.RecordSource = mySQL_union Me.f1.Form.OrderBy = "الجهة, الوقت" Me.f1.Form.OrderByOn = True End Sub . ويكون الاستعلام الاخير هو مصدر بيانات النموذج الفرعي . جعفر 837.الدورات.accdb.zip
  19. لا اعتقد بأنك تستطيع الطباعة مثل ما اقترحت ، ولكن يمكنك عمل كود بهذه الطريقة ، واللي تحدد فيه جميع صيغ الصور: if len(Dir("D:\2017\pic\" & Me.Code_ID & ".jpg"))>0 then Ex=".jpg" elseif len(Dir("D:\2017\pic\" & Me.Code_ID & ".png"))>0 then Ex=".png" elseif len(Dir("D:\2017\pic\" & Me.Code_ID & ".bmp"))>0 then Ex=".bmp" end if Shell ("cmd /c mspaint /p " & "D:\2017\pic\" & Me.Code_ID & Ex) . الامر Shell هو (بالاضافة الى بعض المتغيرات من هذا الامر مثل ShellWait و ..) ، هو اعطاء اوامر عن طريق Command Line بين البرامج ، لهذا السبب ، لاحظ لما انا اقترح برنامج معين مكمل للأكسس ، فهذا البرنامج يجب ان يقبل اوامر Command Line ، حتى اتحكم به برمجيا من الاكسس ، عن طريق Shell في حالتنا هنا ، البرنامج mspaint يقبل التحكم به عن طريق برنامج DOS مال زمان ، واللي اليوم اصبح اسمه cmd . جعفر
  20. العفو اخوي وضاح ، بعض الاوقات اضطر اكون خشن ، علشان الامور تسير عدل وابو ياسين على راسي ، ومثل ما شفت في موضوع ابو ياسين ، فقد حذفت مشاركة التأنيب الآن نجي لهذا الموضوع ، فهل لا زلت تريده ، او انه تم حله من الموضوع الآخر؟ جعفر
  21. من هنا: نفترض ان حقل كود العميل اسمه Code_ID ، عليه يصبح امر الطباعة: Shell ("cmd /c mspaint /p " & "D:\" & me.Code_ID & ".jpg") . جعفر
  22. وعليكم السلام وما صيغة هذا الملف؟ جعفر
×
×
  • اضف...

Important Information