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

jjafferr

أوفيسنا
  • Content count

    3,332
  • تاريخ الانضمام

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

  • Days Won

    79

jjafferr last won the day on May 22

jjafferr had the most liked content!

السمعه بالموقع

2,147 Excellent

عن العضو jjafferr

Profile Information

  • Gender (Ar)
    ذكر
  • Job Title
    -

اخر الزوار

3,380 زياره للملف الشخصي
  1. فكرة ممتازة في الواقع كنت اريد استخدم GetRows بدلا عن rs_Report.MoveNext ، ولكني لأني لم استخدمها سابقا ، اعطتني خطأ ، فتركتها واتبعت الطريقة المألوفة rs_Report.MoveNext جعفر
  2. همممم في الواقع صادفت هذه المشكلة في البرنامج ، ولكن لما الحقول كانت نص!! هذا الرابط قد يعطيك فكرة عن الاشياء اللي يشوفها البرنامج ، وما تشوفها عيننا لكن في طريقة بلدية ممكن نعالج الممسوس ، شوية بخور ، وشيخ يعرف الطريقة ، بس ما ادري اذا يقدر على الحقل جعفر
  3. وعليكم السلام هذه طريقة معرفة الارقام الناقصة بين الارقام جعفر
  4. السلام عليكم المنتدى كان على هيئة نقاش ، فتم تغييره الى اسئلة واجوبة واحد اهم الفوائد من هذا التغيير هو: ليمكن اختيار الاجابة الصحيحة و تظهر تلقائيا بعد اول سؤال ان شاء الله نتعود على الحلّة الجديدة بسرعة ، ونستفيد منها بالاضافة الى ان المنتدى سيرتقي الى النسخة الاحدث: فنرجوا من الاعضاء ان يوسعوا صدورهم لهذا الكم الهائل من التغييرات ، والى الافضل دائما جعفر
  5. فكرة جميلة ولكن وقعت في نفس الفخ اخي أبو إبراهيم ففكرتك اذا كان الحقل رقم ، بينما الحقل نص بالاضافة الى ان الاستعلام يعطيك قيم سجل واحد فقط جعفر
  6. 1. نعم أخوي ابوخليل هذا واضح 2. في الواقع انا لما انتقل للكود بدل الاستعلام ، فتصبح يدي وشهيتي مفتوحة بدل ان نأخذ اعلى قيمة ثم نأخذ اللي بعدها ، خلينا نفرز جميع القيم من الاكبر الى الاصغر ، مثلا للموظف رقم 2 . ولاحظ بأني حذفت السنة 1916 . وبتغيير في كود أخوي ابوخليل ، فتم الموضوع Private Sub cmd_update_Click() On Error GoTo err_cmd_update_Click Dim db As DAO.Database Dim rs As DAO.Recordset Dim rs_Report As DAO.Recordset Dim j, i, ii, x As Integer Dim r, rr As String Set db = CurrentDb Set rs = db.OpenRecordset("emp") rs.MoveLast rs.MoveFirst For j = 1 To rs.RecordCount x = rs!emp_id Set rs_Report = db.OpenRecordset("SELECT Val([rep_year]) as r_Year, rep, emp_id FROM Report WHERE emp_id =" & x & " ORDER BY Val([rep_year]) DESC") rs_Report.MoveLast: rs_Report.MoveFirst i = rs_Report!r_Year r = rs_Report!rep rs_Report.MoveNext ii = rs_Report!r_Year rr = rs_Report!rep rs.Edit rs!rep_last = r rs!rep_befor = rr rs.Update rs.MoveNext Next j MsgBox "??" Set db = Nothing rs.Close: Set rs = Nothing rs_Report.Close: Set rs_Report = Nothing Exit Sub err_cmd_update_Click: If Err.Number = 3021 Then ii = "" rr = "" Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub . 3. وهاي عالجناها بأنه اذا مافي سجل ، لا تعطينا لا خطأ والقيمة ستكون "" ، وكذلك تراها في السجل الرابع ، حيث جعلت له سجل واحد فقط جعفر 655.3.db1.mdb.zip
  7. وكذلك من البحث في المنتدى حصلت على عدة روابط ، منها اختي رجاء ، اجعلي البحث هو مساعدك الرئيسي ، فبدل ان تنظري الى الروابط التي اعطيك اياها ، فهناك الكثير والكثير منها جعفر
  8. وعليكم السلام اذا فهمت سؤالك صح ، فهناك عدة مواضيع في المنتدى ، والبحث هو مساعدك الرئيسي تفضلي بعض الروابط جعفر
  9. حياك الله اخوي عبدالفتاح ، والطيبين دائما على راسي 1. كود اخي ابوخليل في المرفق هو نفسه الذي عرضه في المشاركة ، ولم يستخدم Val في امر Dmax ، وانما استخدمه في الاسطر التالية في الامر Dlookup 2. اضافة الجدول او الاستعلام مرة ثانية وثالثة و... في الربط يكون كأنك تتعامل مع جدول/استعلام جديد ، بشروطه ومعاييره ، ولا في اي شيء خاص ، ولكني للتجربة اضفت نفس الجدول 24 مرة ، فلاحظت في تأخير في الاستعلام 3. الرسالة تأتي لأنك تربط حقل رقم بحقل نص ، وهذا لا يقبله الاكسس وهذا الذي كنت اشير اليه في مشاركتي الثانية ، لهذا السبب قمت ببعض الخطوات الاضافية مثل Val و Int ، حتى يتم توحيد الحقول الى رقم ، ومنها يتم الربط جعفر
  10. السلام عليكم سألني الكثير من الاعضاء عن البرامج اللي استعملها في مشاركاتي والتي استعملها للصور والدوائر والاسهم والصور المتحركة ، وهذا رابط فيه شرح بسيط ومعظم البرامج التي استعملها هي مجانية ، والحمدلله هناك الكثير منها ، بكفاءة متناهية جعفر
  11. 1. هناك طريقتين لإضافة كائنات في Option Group: أ- اختار اللي تريده من قائمة التصميم Menu ، سنختار علامة الصح مثلا ، ثم لما تمرر الفأرة على Option Group ، سترى ان لونه اصبح اسود ، هنا تستطيع ان تضيف علامة الصح مع بقية الكائنات هناك ، ب- ان تعمل نسخ لكائن موجود مسبقا في Option Group ، وتلصقه مرة ثانية ، وبعد ها يجب ان تغير Option Value الكائن الجديد. 2. نعم تستطيع ، فانا كتبت لك "او" ، يعني عندك اختيارين وانت تختار الافضل لك ، وانا تعمدت ووضعت لك البديل الثاني (قائمة سرد وتحرير ListBox) ، حتى لما تضيف اي جديد في الجدول ، فانه يظهر لك مباشرة ، يعني عملية استباقية جعفر
  12. السلام عليكم انا عملت التنبيه مرتين باللون البني: ومرة اخرى هنا . ولكن الظاهر لم تنتبهوا لها ، فاعذروني اثبته لكم المشكلة كلها اننا نتعامل مع حقل نص وليس رقم: لذلك كود أخي ابوخليل يحتاج تعديل ، وملاحظة اخي عبدالفتاح غير دقيقة: . الى الاثبات: 1. حقل التاريخ في الجدول هو نص . اذا طبقنا كود اخي ابوخليل على التواريخ كما هي في الجدول ، فالنتيجة تكون صحيحة (وذلك بسبب الحرف الاول للسنوات كلها 1) : . بينما اذا استعملنا التواريخ التالية ، فنرى ان الكود يعطي نتائج غير صحيحة ، والسبب هو طريقة فرز الارقام يبدأ من الصغير الى الكبير ، بينما فرز النص يختلف ، فالفرز يكون بالحرف الاول ، والحرف 9 يكون دائما اكبر من الحرف 1 (1 و 12 و 100 و 1000 ، اول حرف لها هو 1) . لعلاج هذه المشكلة ، يجب ان نأخذ القيمة الرقمية لحقل التاريخ ، وليس قيمته كما هو في الجدول (قيمة نصّية) ، فعليه يصبح كود اخي ابوخليل: بدل i = DMax("rep_year", "report", "emp_id=" & x) ii = DMax("rep_year", "report", "emp_id=" & x) - 1 نغير rep_year الى Val([rep_year]) فيصبح الكود i = DMax("Val([rep_year])", "report", "emp_id=" & x) ii = DMax("Val([rep_year])", "report", "emp_id=" & x) - 1 . والنتيجة تكون صحيحة: . جعفر 655.2.db1.mdb.zip
  13. شكرا على البديل أخوي شفان هنا بدون بديل: . ثم الكود يصبح: Private Sub lst_Click() Me.نوع_التعامل = DLookup("[نوع اتعامل]", "التعامل", "[رمز الخدمة]=" & Me.lst) End Sub Private Sub opt_Click() Me.نوع_التعامل = DLookup("[نوع اتعامل]", "التعامل", "[رمز الخدمة]=" & Me.opt) End Sub جعفر 657.Database1.accdb.zip
  14. أحي لوسمحت لا تعمل اكثر من موضوع لنفس السؤال لقد تم حذف الموضوع الآخر شكرا لك أخي شفان جعفر
  15. تفضل ، حسب فهمي للسؤال . جعفر 657.Database1.accdb.zip