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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    408

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

  1. الرابط السابق لا يعطي النتائج اذا الحقل يساوي NULL ، لذلك عملت التغيير على استعلام برنامجك ، حتى تحتوي النتائج على جميع الحقول ، التي بها قيم او التي لا تحتوي على قيم او التي هي عبارة عن Null : هذا المثال للحقل School بدل School: Like "*" & [Forms]![Datamasterform]![School] استعمل School1: Nz([School],"") IIf(Len([Forms]![Datamasterform]![School] & "")=0,Nz([School],""),[Forms]![Datamasterform]![School]) جعفر 660.Test2000.mdb.zip
  2. وعليكم السلام اقرأ الرابط التالي ، وخصوصا الجملة باللون الاحمر: واللي يهمك هو كود Room_No جعفر
  3. لجعل الامر السابق يعمل ، يجب ان نضع علامة صح على الاعدادات التالية (اللي في الدائرة الحمراء): في الاكسس 2003 فما دون: . والاكسس 2010 . جعفر
  4. لما تعمل تنسيق التاريخ للحقل ، فالحقل لن يقبل اي شيء غير التاريخ ، لا ارقام ولا نص ، الظاهر عندك خطأ ، فإعمله مرة اخرى وجرب ، وإلا فارفق مثالك نشوف عملك علشان نعدل عليه جعفر
  5. انا اعطيتك رابط فيه مثال ، فهل جربته؟ جعفر
  6. السلام عليكم ومشاركة مع أخي محمد اخي خالد ، المشكلة انك استعملت الاشهار للمتغير Exam_no مرتين : في الوحدة النمطية ، وهذا هو المكان الصحيح لها : . واستعملتها في النموذج Exam ، فيجب عليك حذفها من هنا: جعفر
  7. السلام عليكم انا اتعامل مع برامجي FE بهذه الطريقة: جعفر
  8. شكرا على الملاحظة ، وتم تعديل المثال في موضوعي بالنسبة للتاريخ ، فالافضل ان تعمل التنسيق للحقل من اعدادات الحقل في النموذج ، هكذا مثلا: dd/mm/yyyy جعفر
  9. السلام عليكم شباب عيدكم مبارك وايامكم سعيدة ان شاء الله جعفر
  10. وعليكم السلام هذه طريقتي: Private Sub ÃãÑ56_Click() Dim a_rr As Error Dim X As String On Error GoTo a_rr X = InputBox("enter text", "text ") If Len(Trim(X)) = 0 Then MsgBox "error " Exit sub end if For i = 1 To Len(X) If IsNumeric(Mid(X, i, 1)) Then MsgBox "contains Numbers" Exit Sub End If Next i DoCmd.OpenReport "Rep_sadder", acViewPreview, , "Go_sad like '" & X & "'" Exit Sub a_rr: MsgBox " error " End Sub جعفر
  11. فكرة ممتازة في الواقع كنت اريد استخدم GetRows بدلا عن rs_Report.MoveNext ، ولكني لأني لم استخدمها سابقا ، اعطتني خطأ ، فتركتها واتبعت الطريقة المألوفة rs_Report.MoveNext جعفر
  12. همممم في الواقع صادفت هذه المشكلة في البرنامج ، ولكن لما الحقول كانت نص!! هذا الرابط قد يعطيك فكرة عن الاشياء اللي يشوفها البرنامج ، وما تشوفها عيننا لكن في طريقة بلدية ممكن نعالج الممسوس ، شوية بخور ، وشيخ يعرف الطريقة ، بس ما ادري اذا يقدر على الحقل جعفر
  13. وعليكم السلام هذه طريقة معرفة الارقام الناقصة بين الارقام جعفر
  14. السلام عليكم المنتدى كان على هيئة نقاش ، فتم تغييره الى اسئلة واجوبة واحد اهم الفوائد من هذا التغيير هو: ليمكن اختيار الاجابة الصحيحة و تظهر تلقائيا بعد اول سؤال ان شاء الله نتعود على الحلّة الجديدة بسرعة ، ونستفيد منها بالاضافة الى ان المنتدى سيرتقي الى النسخة الاحدث: فنرجوا من الاعضاء ان يوسعوا صدورهم لهذا الكم الهائل من التغييرات ، والى الافضل دائما جعفر
  15. فكرة جميلة ولكن وقعت في نفس الفخ اخي أبو إبراهيم ففكرتك اذا كان الحقل رقم ، بينما الحقل نص بالاضافة الى ان الاستعلام يعطيك قيم سجل واحد فقط جعفر
  16. 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
  17. وكذلك من البحث في المنتدى حصلت على عدة روابط ، منها اختي رجاء ، اجعلي البحث هو مساعدك الرئيسي ، فبدل ان تنظري الى الروابط التي اعطيك اياها ، فهناك الكثير والكثير منها جعفر
  18. وعليكم السلام اذا فهمت سؤالك صح ، فهناك عدة مواضيع في المنتدى ، والبحث هو مساعدك الرئيسي تفضلي بعض الروابط جعفر
  19. حياك الله اخوي عبدالفتاح ، والطيبين دائما على راسي 1. كود اخي ابوخليل في المرفق هو نفسه الذي عرضه في المشاركة ، ولم يستخدم Val في امر Dmax ، وانما استخدمه في الاسطر التالية في الامر Dlookup 2. اضافة الجدول او الاستعلام مرة ثانية وثالثة و... في الربط يكون كأنك تتعامل مع جدول/استعلام جديد ، بشروطه ومعاييره ، ولا في اي شيء خاص ، ولكني للتجربة اضفت نفس الجدول 24 مرة ، فلاحظت في تأخير في الاستعلام 3. الرسالة تأتي لأنك تربط حقل رقم بحقل نص ، وهذا لا يقبله الاكسس وهذا الذي كنت اشير اليه في مشاركتي الثانية ، لهذا السبب قمت ببعض الخطوات الاضافية مثل Val و Int ، حتى يتم توحيد الحقول الى رقم ، ومنها يتم الربط جعفر
  20. السلام عليكم سألني الكثير من الاعضاء عن البرامج اللي استعملها في مشاركاتي والتي استعملها للصور والدوائر والاسهم والصور المتحركة ، وهذا رابط فيه شرح بسيط ومعظم البرامج التي استعملها هي مجانية ، والحمدلله هناك الكثير منها ، بكفاءة متناهية جعفر
  21. 1. هناك طريقتين لإضافة كائنات في Option Group: أ- اختار اللي تريده من قائمة التصميم Menu ، سنختار علامة الصح مثلا ، ثم لما تمرر الفأرة على Option Group ، سترى ان لونه اصبح اسود ، هنا تستطيع ان تضيف علامة الصح مع بقية الكائنات هناك ، ب- ان تعمل نسخ لكائن موجود مسبقا في Option Group ، وتلصقه مرة ثانية ، وبعد ها يجب ان تغير Option Value الكائن الجديد. 2. نعم تستطيع ، فانا كتبت لك "او" ، يعني عندك اختيارين وانت تختار الافضل لك ، وانا تعمدت ووضعت لك البديل الثاني (قائمة سرد وتحرير ListBox) ، حتى لما تضيف اي جديد في الجدول ، فانه يظهر لك مباشرة ، يعني عملية استباقية جعفر
  22. السلام عليكم انا عملت التنبيه مرتين باللون البني: ومرة اخرى هنا . ولكن الظاهر لم تنتبهوا لها ، فاعذروني اثبته لكم المشكلة كلها اننا نتعامل مع حقل نص وليس رقم: لذلك كود أخي ابوخليل يحتاج تعديل ، وملاحظة اخي عبدالفتاح غير دقيقة: . الى الاثبات: 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
  23. شكرا على البديل أخوي شفان هنا بدون بديل: . ثم الكود يصبح: Private Sub lst_Click() Me.نوع_التعامل = DLookup("[نوع اتعامل]", "التعامل", "[رمز الخدمة]=" & Me.lst) End Sub Private Sub opt_Click() Me.نوع_التعامل = DLookup("[نوع اتعامل]", "التعامل", "[رمز الخدمة]=" & Me.opt) End Sub جعفر 657.Database1.accdb.zip
  24. أحي لوسمحت لا تعمل اكثر من موضوع لنفس السؤال لقد تم حذف الموضوع الآخر شكرا لك أخي شفان جعفر
  25. تفضل ، حسب فهمي للسؤال . جعفر 657.Database1.accdb.zip
×
×
  • اضف...

Important Information