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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. 1. ابداً لا تستعمل On Error Resume Next ، إلا في حالات جدا جدا ضيقة ، وكودك ليس من هذه الحالات ، 2. يجب ان تعرض علينا الخط الذي يتوقف عليه الكود حتى نعرف المشكلة ، 3. اذا لم تكن قد خلطت اكواد اخرى مع آخر كود اعطيتك ، فالمفروض ان الكود يعمل ، لأني جربته. واما اذا عملت تغيير/اضافة عليه ، فرجاء ارفاق الكود كاملا ، 4. من المشاركات السابقة ، يتضح ان الخطأ يكون في المسار. جعفر
  2. اعمل موضوع جديد ، وضع فيه رابط/الاشارة الى هذا الموضوع ، ثم ارجع الى هذا الموضوع ، وضع فيه رابط/الاشارة الى الموضوع الجديد ، بهذه الطريقة الجميع يعرف 🙂 جعفر
  3. وعليكم السلام 🙂 1. نعطي الحقلين اسماء واضحة : . 2. من المهم جدا ان نعمل الحدث "عند التنسيق" للقسم الصحيح الذي فيه الحقول التي نريدها: . 3. بهذا الكود نأخذ او قيمة في مصدر بيانات التقرير ، ثم ننتقل الى نهاية السجلات ، ونأخذ آخر قيمة : Private Sub رأس_التقرير_Format(Cancel As Integer, FormatCount As Integer) Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset(Me.RecordSource) Me.First_on_the_List = rst![اسم التلميذ] rst.MoveLast Me.Last_on_the_List = rst![اسم التلميذ] rst.Close: Set rst = Nothing End Sub . والنتيجة: . جعفر 1372.امتحانات.mdb.zip
  4. في الواقع انا طول عمري اعملها يدويا (من شب على شيء، شاب عليه 🙂 ) : اعمل نسخة من البرنامج ، واعطيه اسم البرنامج منتهيا بـ BE ، مثل: Abc_BE.accdb ، ثم احذف جميع كائناته ما عدا الجداول ، واحفظه في الشبكة في مسار تراه جميع الكمبيوترات ، والنسخة الاصل اعطيه اسم البرنامج منتهيا بـ FE ، مثل: Abc_FE.accdb ، ثم احذف جميع جداوله ، ثم من خلال قائمة البيانات الخارجية، اختار الـ BE واختار ربط ، واختار الجداول التي اريدها من BE ، ثم اضع على كمبيوتر كل مستخدم نسخة من هذا الملف 🙂 جعفر طبعا اخوي ابوخليل ، انت تدري ، مو انت المقصود من هذا الشرح 🙂
  5. نصيحتي لك هي ان تجمع جميع افكار الخبراء (واقعا هذه الكلمة قليلة في حق هؤلاء الكرماء) اعلاه وتخرج بفكرة وبرنامج افضل 🙂 هكذا تحصل على رسالة بأن الملف موجود مسبقا (قمت بعمل بحث في مساعد الاكسس بكلمة msgbox ، وفي اسفل الشرح كان هذا الكود, والذي استعمله في برامجي) : Dim X As String 'X = Environ("USERPROFILE") & "\Desktop" 'Desktop path X = "C:\Users\arapo\Documents\Reports" X = X & "\" & Me.m_name & ".pdf" If Dir(X, vbNormal) = "" Then DoCmd.OutputTo acForm, "frm_data_main", acFormatPDF, X, True, , , acExportQualityPrint Else Dim Msg, Style, Title, Response Msg = "الملف موجود مسبقا، هل تريد النسخ عليه" ' Define message. Style = vbYesNo + vbCritical + vbDefaultButton2 ' Define buttons. Title = "الرجاء الانتباه" ' Define title. ' context. ' Display message. Response = MsgBox(Msg, Style, Title) If Response = vbYes Then ' User chose Yes. DoCmd.OutputTo acForm, "frm_data_main", acFormatPDF, X, True, , , acExportQualityPrint Else ' User chose No. MsgBox "تم الغاء عملية الحفظ" End If End If جعفر
  6. تماما ، وهذا كان قصدي في قولي: ولكن هذا الخطأ لا يظهر في وضع اظهار التقرير ، وهذا اللي جعلني ابحث عن المشكلة ، وخصوصا ان رسالة الخطأ لا تدل على نوع الخطأ !! بس الحمدلله اننا اتفقنا على هذه النقطة 🙂 جعفر
  7. تفضل 🙂 عملت لك نموذج للتصدير 🙂 جعفر 1371.حفظpdf.accdb.zip
  8. انا عملت نسخ ولصق للكود الذي وضعته ، وكان فيه شيء خطأ ، وفيه خطأ من جانبي كذلك ، وتم تصحيحهم 🙂 فجرب هذا : If DCount("MODELS", "MARKA", "[MODELS]= '" & Trim(Me.MODELS) & "'") > 0 Then MsgBox "هذه الماركة مسجل مسبقاً", vbCritical + vbDefaultButton1 + 1572864 cancel=true Me.Undo End If جعفر
  9. انا لا اتكلم عن منبثق او غيره ، وانما طريقة عرض التقرير: . جرب واخبرني النتيجة 🙂 جعفر
  10. في النموذج على حدث "الحالي" ، اجعل استعلام او تقرير يأخذ قيمة من هذا السجل ، ويعمل تصفية سجلات للإستعلام او التقرير او حتى نموذج آخر فردي ، واستعمل اسم هذا الكائن في الامر اللي عندك ، الموضوع في غاية السهولة 🙂 جعفر
  11. وعليكم السلام 🙂 استعمل حدث "قبل التحديث" BeforeUpdate 🙂 If DCount("MODELS", "MARKA", "[MODELS]'= '" & Trim(Me.MODELS) & "'") > 0 Then MsgBox "هذه الماركة مسجل مسبقاً", vbCritical + vbDefaultButton1 + 1572864 Me.cancel Me.Undo End If جعفر
  12. الحمدلله وصلنا الى حل 🙂 الله يطول عمرك ان شاء الله ، الاكسس ما عنده امر بحفظ سجل فقط بين سجلات !! فيا تعمل نموذج لسجل واحد فقط (وتستعمل acForm في امر الطباعة) ، او تقرير acReport ، او استعلام acQuery ، وبعدين تستعمل الامر اعلاه وتصدر الملف 🙂 والخيار بين ايدكم سيدي 🙂 جعفر
  13. جرب هاي التعديل Dim X As String X = "C:\Users\arapo\Documents\Reports" X = X & "\" & Me.m_name & ".pdf" DoCmd.OutputTo acForm, Me.name, acFormatPDF, X, True, , , acExportQualityPrint جعفر
  14. السؤال هنا، شو الكائن اللي تريد حفظه ، هل هو تقرير او استعلام او نموذج !!
  15. الآن عرفت ليش التقرير لا يعمل في وضع معاينة طباعة !! لأن هذه الحقول مرتبطة بجداول غير موجودة في المرفق 🙂 . جعفر
  16. وعليكم السلام 🙂 يجب ان تكتب مسار حفظ الملف على الكمبيوتر ، مجرد اسم العميل لا يكفي 🙂 مثلا: Dim X As String X = Environ("USERPROFILE") & "\Desktop" 'Desktop path X = X & "\" & Me.m_name & ".pdf" DoCmd.OutputTo acSelection, X, acFormatPDF جعفر
  17. كل شيء شغال تمام ، ولكن اعمل ضغط واصلاح وجرب 🙂 ولكن اذا ممكن تشرح بالضبط وين المشكلة اللي تواجهها !! مافي مشكله مع تقرير منبثق ، ولكن هناك خطأ في وضع معاينة التقرير !! جعفر
  18. وعليكم السلام اخوي ابوخليل 🙂 عيدكم مبارك جميعا وايامكم سعيدة ان شاء الله 🙂 لو تعيد رفع المرفق ، قد استطيع ان ادلو بدلوي مع اخوي kanory ، خصوصا اني اعمل على اكسس 2010 🙂 جعفر
  19. هذا الموضوع يذكرني في مشاركة لي في منتدى اجنبي: صاحب الموضوع وضع شرح طويل عن مشكلته ، وقامت خبيرة بالرد على سؤاله بسطر واحد ، وعلى سبيل المزاح قلت لها: حرام ان صاحب الموضوع يكتب هذا الكم من الكلمات ويحصل على اجابة سطر واحد !! ثم وضعت كود بعدة اسطر (ولم يكن افضل من كود السطر) وقلت لصاحب الموضوع لا تزعل وتفضل اجابة بكود اطول 🙂 والذي استغربت منه هو ، ان صاحب الموضوع قام بإختيار طريقتي كأفضل حل !! ولما قلت له اني كنت امزح في وضع الحل ، وان الحل الافضل هو كود السطر الواحد ، رد عليّ قائلا: يتم الدفع لي على البرمجة بعدد الاسطر التي اكتبها 😬 وطبعا اخوي خالد انت عرفت بأن هذا السطر كان مزحة 🙂 اخوي ازهر ، عدد الاسطر الحقيقية لهذا الكود هي: R = Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace("y0372023r0b9g0v5", "q", ""), "w", ""), "e", ""), "r", ""), "t", ""), "y", ""), "u", ""), "i", ""), "o", ""), "p", ""), "a", ""), "s", ""), "d", ""), "f", ""), "g", ""), "h", ""), "j", ""), "k", ""), "l", ""), "z", ""), "x", ""), "c", ""), "v", ""), "b", ""), "n", ""), "m", "") وعلشان يكون الكود اوضح للفهم والقراءة ، فيصبح: R = Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace( _ Replace("y0372023r0b9g0v5", "q", "") _ , "w", "") _ , "e", "") _ , "r", "") _ , "t", "") _ , "y", "") _ , "u", "") _ , "i", "") _ , "o", "") _ , "p", "") _ , "a", "") _ , "s", "") _ , "d", "") _ , "f", "") _ , "g", "") _ , "h", "") _ , "j", "") _ , "k", "") _ , "l", "") _ , "z", "") _ , "x", "") _ , "c", "") _ , "v", "") _ , "b", "") _ , "n", "") _ , "m", "") جعفر
  20. وعليكم السلام 🙂 معذرة اخوي خالد ، بدل ما يستعمل اخوي ازهر كودك ابو 8 اسطر ، انا اقدم له حل ابو سطر واحد فقط ، ويشتغل في الكود والاستعلام Remove_Letters: Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace("y0372023r0b9g0v5", "q", ""), "w", ""), "e", ""), "r", ""), "t", ""), "y", ""), "u", ""), "i", ""), "o", ""), "p", ""), "a", ""), "s", ""), "d", ""), "f", ""), "g", ""), "h", ""), "j", ""), "k", ""), "l", ""), "z", ""), "x", ""), "c", ""), "v", ""), "b", ""), "n", ""), "m", "") جعفر الحروف على تسلسل لوحة المفاتيح 🙂
  21. السلام عليكم 🙂 اليك طريقة نقل كائنات المرفق الى برنامجك ، لأن نقل الوحدة النمطية التي في Class من برنامج الى آخر يجب ان يتم بطريقة خاصة : هذه المشاركة الاصل ، وفيها المرفق بصيغة 2003 🙂 جعفر
  22. وعليكم السلام 🙂 لا اعرف ولم اسمع بأنه يمكن استخراج الكود من الملفات صيغ mde و accde ، غير موقع واحد من احد مبرمجي الاكسس المحترفين اصحاب ثقة ، يمكنك رفع ملفك الى الموقع التالي: MDE to MDB Conversion - Retrieve VBA code from your MDE/ADE Databases (everythingaccess.com) وعليه اذا كان فيه امكانية لإسترجاع برنامجك الى صيغة accdb ، فالموقع سيثبت لك ذلك (عن طريق الايميل وبعد يوم او اكثر) ، وفي مقابل مبلغ من المال (يبدأ بمبلغ 450 دولار) ، وبعد التأكد بأنك صاحب البرنامج حقا ، سيعملون المطلوب ويرجعون لك البرنامج بصيغة accdb ويمكنك التعديل عليه 🙂 واذا اتخذت هذا الطريق ، فياريت تكتب لنا هنا مؤكدا ما جرى 🙂 جعفر
  23. وعليكم السلام 🙂 1. اعمل استعلام حذف : . 2. في الواقع انت محتاج الى استعلام الحاقي ، ولكن بالبيانات من الجدول الآخر ، فيصبح الاستعلام هكذا : . ملاحظات مهمة على برنامجك ، حتى حتى لا تحصل على مشاكل في المستقبل : 1. لا تستعمل Lookup في الجدوال ، وانما استعمل استعلام ربط بين جدولين للحصول على المطلوب ، 2. لا تستخدم علامات او ارقام كأسمات لكائناتك ، وبالذات العلامات والاسماء المحجوزة للاكسس ، 3. لا تستعمل اسماء بحروف عربية في كائناتك ، 4. لسرعة عمل الجدول ، يجب عمل حقل المعرّف (مفهرس وترقيم تلقائي) ، والحقل الذي تعتمد عليه كمعيار للنمييز بين السجلات , حقل الاسم (يجب ان يكون مفهرس) : جعفر 1369.نسخ البيانات.mdb.zip
×
×
  • اضف...

Important Information