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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

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

  1. ولا يهمك اخي عبدالرحمن ، واهلا وسهلا بك في كل مشاركاتي جعفر
  2. مثل ما يقول المثل: الصورة بألف كلمة ، فمجموع الكلمات اللي كتبتها: 12 كلمة + 6000 كلمة (6 صور) = 6012 كلمة شرح جعفر
  3. وعليكم السلام ما فهمت المطلوب جعفر
  4. وعليكم السلام ورحمة الله وبركاته اليك طريقتين: الطريقة الاولى: . . . والطريقة الثانية: . . . جعفر 317.matger.accdb.zip
  5. هذا الوصف واضح ، بينما الوصف السابق لم يكن تفضل نقوم بإعادة ترقيم [رقم المادة] كلما حدث حذف ، هكذا: Private Sub Form_AfterDelConfirm(Status As Integer) Dim rst As DAO.Recordset Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount For i = 1 To RC rst.Edit rst![رقم المادة] = i rst.Update rst.MoveNext Next i End Sub جعفر 316.students.accdb.zip
  6. ما ادري ، يمكن بالغلط تركت لك النسخة القديمة جرب هذه النسخة لوسمحت جعفر 316.students.accdb.zip
  7. هل انت تستخدم البرنامج الجديد او النسخة السابقة مع تعديل الكود؟ رجاء استخدم البرنامج الجديد. جعفر
  8. آسف ، الكود وضعته في الحدث الخطأ الكود الصحيح الآن على حدث بعد التحديث من اسم المادة (يعني لما تدخل مادة جديدة ، وبعد ان تخرج من حقل اسم المادة ، يعطيك الرقم): Private Sub المادة_AfterUpdate() On Error GoTo err_المادة_AfterUpdate If Me.NewRecord = True Then Me.[رقم المادة] = Nz(DMax("[رقم المادة]", "الدرجة", "[رقم الطالب]=" & Me.[رقم الطالب]), 0) + 1 End If Exit Sub err_المادة_AfterUpdate: If Err.Number = 3075 Then 'No Subject Number Exit Sub Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر 316.students.accdb.zip
  9. ما شاء الله عليك أخي رضا ، من وينك لك الوقت لكل هذه البرامج تفضل جعفر 316.students.accdb.zip
  10. تفضل يا سيدي هذا الكود الذي يقوم بالعمل ، انا عملته على النقر المزدوج (مرتين) على حقل الاسم: Private Sub name_DblClick(Cancel As Integer) Dim rst As DAO.Recordset Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount For i = 1 To RC If rst!print = -1 Then rst.Edit rst!print = 0 rst.Update End If rst.MoveNext Next i Me.[print] = -1 End Sub جعفر 315.11.accdb.zip
  11. شوي شوي علينا أخي رضا ، بعدين بصير مثل البالونه ، انت تنفخ وتنفخ ،و انا راسي يكبر ويكبر ، وبعدين إبرة صغيرة تضربها في البالونه ، واعرف قدري الحقيقي جعفر
  12. وعليكم السلام يعني عند اختيارك اكثر من اسم ، هل تريدهم جميعا مظللين ، ام آخر اسم تم اختياره فقط؟ جعفر
  13. تفضل يا سيدي نعمل ماكرو يشتغل عند تشغيل البرنامج ، ويجب ان يكون اسمه AutoExec ، هذا الماكرو نطلب منه تشغيل الوحدة النمطية Login_Form: . الوحدة النمطية Login_Form ، تقرأ قيمة الحقل Shall_I_Open من الجدول tbl_Shall ، فاذا كانت قيمته =-1 (True) ، فانه سيفتح النموذج frm_Log-n ، وإلا فانه سيفتح النموذج frm_Home : . عند اغلاق النموذج frm_Login ، فانه يغير قيمة الحقل Shall_I_Open من الجدول tbl_Shall ، الى القيمه =0 (False) . جعفر 314.form.accdb.zip
  14. قبل ان تستطيع الضغط على الزر الذي في الشريط الاصفر ، يجب عليك ان تضغط على رز Stop all Macro السبب في ظهور هذه الرسالة ، هو تشغيلك برنامج اكسس من مجلد غير موثوق به (للأكسس 2007 فما فوق) ، فالاكسس 2010 فما فما فوق ، يمكنك القيام بما قاله الاخ كرار ، ولن تظهر لك الرسالة مرة ثانية ، بينما للأكسس 2007 ، فيجب عليك ان تذهب الى اعدادات الاكسس ، وتختار مجلد موثوق به ، وثم تشغل برامج الاكسس من ذلك المجلد ، ولن تظهر لك هذه الرسالة مرة ثانية جعفر
  15. وعليكم السلام انت تريد هذا النموذج ان يفتح مرة واحدة ، وبعدها لا يفتح؟ اعمل جدول خاص لهذا الغرض ، واجعل فيه خانة واحدة ، Shall_I_Open (مثلا)واجعلها نعم/لا ، 1. كلما اردت تشغيل هذا النموذج (عند تشغيل البرنامج مثلا) ، فيجب ان تقرأ القيمة من الجدول ، فاذا كانت = نعم ، فيسمح لك الكود بالدخول في النموذج ، واذا كانت = لا ، فلا يسمح لك بالدخول ويفتح لك نموذج آخر انت تختاره ، 2. عند حدث اغلاق النموذج ، غيّر القيمة الى لا (بواسطة استعلام تحديث مثلا) ، جعفر
  16. السلام عليكم أخي بسام بكرة ان شاء الله اعطيك مثال عن ملاحظتي في الموضوع الاخر جعفر
  17. سؤال الاخ احمد كان كلمات متقاطعة ، فحاولت احلها من الكود ولما كود ADO ما وصلني مكان ، التجأت الى DAO بس ياريت تكمل الكود ، لأني اعتقد بأن الاخ أحمد عنده اسئلة لاحقه لسؤاله الاصلي ، وكودك حيكون اول خطوة للجواب التالي جعفر
  18. تفضل أخي أحمد ، الكود بالشرح: Private Sub cmd_another_DB_Click() 'نشير الى المرجع الصحيح 'فعندنا مرجع 'ADO ومرجع DAO 'وهنا سنستخدم المرجع الاخير ، DAO Dim rst As dao.Recordset Dim db As dao.Database 'اختار قاعدة البيانات ، وفي حالتنا فهي خارجية Set db = OpenDatabase(Application.CurrentProject.Path & "\rr.mdb") 'الآن نربط الكود بقاعدة البيانات اعلاه ، بالجدول المحدد 'ونستطيع ان نعطي امر للتصفية وامر للفرز كذلك Set rst = db.OpenRecordset("Select * From emplyee") 'لكي يتم قراءة الجدول اعلاه بطريقة كاملة ، يجب ذهاب المؤشر الى آخر الجدول ثم الرجوع الى اوله rst.MoveLast: rst.MoveFirst 'عدد سجلات الجدول RC = rst.RecordCount 'إقرأ السجلات من اول سجل الى آخر سجل For i = 1 To RC 'اطبع قيمة السجلsatff_name MsgBox rst!satff_name 'انتقل الى السجل التالي rst.MoveNext 'واصل اللف حول السجلات Next i 'اغلق قاعدة لبيانات ، وازلها من الذاكرة rst.Close: Set rst = Nothing End Sub جعفر
  19. انت لما تحذف بيانات من جدول الطالب ، فتلقائيا سجلات الطالب في جدول الدرجة ينحذف. وين المشكلة؟ لوسمحت تعطيني اسماء الجداول جعفر
  20. السلام عليكم وهذه طريقة اخرى: Private Sub cmd_another_DB_Click() Dim rst As dao.Recordset Dim db As dao.Database Set db = OpenDatabase(Application.CurrentProject.Path & "\rr.mdb") Set rst = db.OpenRecordset("Select * From emplyee") rst.MoveLast: rst.MoveFirst RC = rst.RecordCount For i = 1 To RC MsgBox rst!satff_name rst.MoveNext Next i rst.Close: Set rst = Nothing End Sub جعفر
×
×
  • اضف...

Important Information