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

jjafferr

أوفيسنا
  • Posts

    9,871
  • تاريخ الانضمام

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

  • Days Won

    403

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

  1. نعم، وعليه كتبت ملاحظاتي. والان حسب مرفقك الثاني ، هل هذا اللي تريده: بمعنى انك تريد ان يظهر لك في Table2 هذه النتائج ؟
  2. السلام عليكم لايزال طلبك غير واضح بالنسبة لي !! رجاء اعطينا مجموعة امثلة (مو اقل من 4-5) ، وخلينا نحلل طلبك .
  3. وعليكم السلام 🙂 حسب اعتقادي, هناك 3 طرق لعمل المطلوب: 1. اعمل نسخة من البرنامج ، بعد الضغط والاصلاح ، في مجلد في الشبكة ، وبين الحين والآخر تستطيع انزالها الى الحاسبة التي تريد ، وتستبدل بها نسخة الحاسبة (انا اعمل بهذه الطريقة في احد اعمالي ، حيث عدد المستخدمين كبير ، وبهذه الطريقة الموضوع سهل عمله) ، 2. مثل ما تفضل اخوي @gavan ، ولكن مع تغيير بسيط: أ- اكتب الكود اعلاه على حدث زر ، لما تريد عمل ضغط واصلاح ، 'كود الضغط و الاصلاح Application.SetOption "Auto compact", True 'كود الخروج من التطبيق DoCmd.Quit ب- على حدث فتح النموذج الرئيسي للبرنامج ، قم بتغيير الاعدادات الى (حتى لا يعمل البرنامج اصلاح في كل مرة ينغلق فيه البرنامج) : Application.SetOption "Auto compact", False 3. على حدث نقر زر ، اكتب كود ، والذي سيتم حفظه كملف بصيغة vbs او bat ، ويعمل التالي: أ- لنفترض ان اسم قاعدة بياناتك A.accdb ، الكود يبحث عن الملف A.laccdb (لاحظ هذا اسم ملف القفل الذي ينشأه اكسس عندما يكون برنامجك شغال) ، واذا لم يجده ، ينفذ الامر التالي لضغط واصلاح البرنامج. اليك هذا البرنامج الذي يعمل ضغط واصلاح، وبه بعض الميزات: http://www.peterssoftware.com/cal.htm#:~:text=Backup, Repair, and Compact a List. او برنامجي ، والذي ياخذ نسخة من البرنامج الاصل قبل الضغط والاصلاح ، يقوم بعمل الضغط والاصلاح ، Decompile للكود ، وحفظ نسخه من البرنامج بعد الضغط والاصلاح : شكرا جزيلا على هذه المعلومة اخوي ابو خليل ، وفي الواقع يجب عمل الضغط ةالاصلاح على كمبيوترك المحلي ، وليس على مجلد الشبكة 🙂 جعفر
  4. السلام عليكم 🙂 في الواقع انا خسارتي كبيرة لغيابي عن المنتدى لفترات طويلة ، لأني ما اشوف و اواكب واتعلم واستفيد من مثل هذه الابداعات الجميلة 🙂 شكرا لك اخوي موسى 🙂 جعفر
  5. وعليكم السلام 🙂 طريقة بسيطة لعدة اوامر iif متداخلة : . جعفر
  6. اخي الفاضل رجاء مراعاة قوانين المنتدى، وعدم نشر ما هو مخالف. قواعد المشاركة فى الموقع اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة و بصفة خاصة نؤكدعلى ما يلي 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة جعفر
  7. وعليكم السلام 🙂 الفرز يجب ان يكون عن طريق حقل المعرف. الاستعلام: . والدالة في الوحدة النمطية: Function Concat(PR As Double) Dim rst As Recordset Dim i As Long, RC As Long Set rst = CurrentDb.OpenRecordset("select [Category] From PRindex Where [PuReq]=" & PR & " Order by [المعرف]") rst.MoveLast: rst.MoveFirst: RC = rst.RecordCount For i = 1 To RC Concat = Concat & "," & rst!Category rst.MoveNext Next i Concat = Mid(Concat, 2) rst.Close: Set rst = Nothing End Function . والنتيجة: 1617.PRindex.accdb.zip
  8. ابدا بالعمل ، ولما تصادف مشكلة ، ارسلها هنا علشان نساعدك
  9. وعليكم السلام 🙂 البرنامج غير مفتوح المصدر لأنه بصيغة accde ، فالطريقة الوحيدة عندك هي الرجوع الى صاحب البرنامج: http://www.acc-arab.com حتى يعدل عليه ،او الاتصال بالمبرمج: محمد عصام - مصـــــر - القاهــــــرة - Soul-angel@msn.com جعفر
  10. وعليكم السلام 🙂 1. ممكن اضافة اسم "الموارد اليشرية" في الكود ، بحيث عند النقر على الزر ، يقارن الاسم الموجود في الحقل بالاسم الموجود في الكود ، وعليه يقوم بالحذف من عدمه ، ولكني أفضّل ان اضيف حقل اخر في الجدول ، نوع نعم/لا ، فلنسميه Delete_Me ، وبهذه الطريقة لا نكتب اسم "الموارد البشرية" في الكود ، وانما نعمل "صح" امامه. وكذلك يمكنك اضافة اي عدد من الاقسام التي لا تريد حذفها. اما الكود فيكون: اذا Delete_Me =-1 اذن احذف. 2. اذا كنت في صفحة الكود VBE ، اضغط على الزر F1 ، وابحث عن msgbox ، ثم انقر على Msgbox Function : . في الاسفل بيعطيك الكود ، واللي منه تقدر تجربه وتغيره حسب حاجتك ، فهو يعطيك مثال فيه نعم/لا : . 3. اما وجود الحقل الفارغ في اسفل السجلات ، لأنك تركت في اعدادات النموذج "الاضافة" (اضافة سجل) ، نعم ، بينما انت لا تريد الاضافة ، فغيره الى لا : . ليش ما عملت تغيير على مرفقك وريحتك وقللت العمل على نفسي ؟ حتى تستفيد من هذه الاجراءات لأسئلتك الاخرى 🙂 جعفر
  11. اخي الفاضل انا هنا اجمع مشاركاتي السابقة في مكان واحد ، لمعاينة التقرير حسب قيمة الحقل EMID ، اذا كان الزر في النموذج الفرعي: في حال كان EMID نص doCmd.OpenReport "ETSALATSIM_REPORT3", acPreview, , "[EMID]='" & [Forms]!ETSALATSIMCARDFORMTEST![ETSALATFORM]![EMID] & "'" في حال كان EMID رقم doCmd.OpenReport "ETSALATSIM_REPORT3", acPreview, , "[EMID]=" & [Forms]!ETSALATSIMCARDFORMTEST![ETSALATFORM]![EMID] . واذا كان الزر في النموذج الرئيسي: EMID نص doCmd.OpenReport "ETSALATSIM_REPORT3", acPreview, , "[EMID]='" & [Forms]!ETSALATSIMCARDFORMTEST![EMID] & "'" في حال كان EMID رقم doCmd.OpenReport "ETSALATSIM_REPORT3", acPreview, , "[EMID]=" & [Forms]!ETSALATSIMCARDFORMTEST![EMID]
  12. وعليكم السلام 🙂 حيا الله اخوي محمد 🙂 للتقارير التي تطبع على طابعات خاصة ، مثل طابعة الهويات البلاستيكية ، يجب تخصيص الطابعة ، ولا نجعلها الطابعة الافتراضية ، هكذا . . . ثم تجعل مسافات الحواف كلها صفر ، وسستم تغييرها تلقائيا حسب اعدادات الطابعة : . . ودائما استعمل "معاينة الطباعة" . . فيصبح تقريرك هكذا . جعفر
  13. اختي الفاضلة ، انظري هذا الرابط ، فهو مفيد للحاسبات البطيئة ، يعني من مساعدات جميع الاعضاء ، الكود سيحذف السجلات ، ويطلب سجلا جديدة (Requey) ، ولكن النموذج سيظهر فيه كلمة DELETED# لجزء من الثانية ، فاذا اردنا ان لا نرى هذا ، يمكنك استخدام الامر Me.Painting ، كما هو موضح في الموضوع هنا : جعفر
  14. العفو انا اخطأت في كتابة اسم النموذج الرئيسي في المشاركة السابقة ، وقد تم التعديل عليها الآن ، اما اذا كان الحقل EMID في النموذج الرئيسي ، فيصبح الكود: EMID نص doCmd.OpenReport "ETSALATSIM_REPORT3", acPreview, , "[EMID]='" & [Forms]!ETSALATSIMCARDFORMTEST![EMID] & "'" في حال كان EMID رقم doCmd.OpenReport "ETSALATSIM_REPORT3", acPreview, , "[EMID]=" & [Forms]!ETSALATSIMCARDFORMTEST![EMID]
  15. وعليكم السلام جرب في حال كان EMID نص doCmd.OpenReport "ETSALATSIM_REPORT3", acPreview, , "[EMID]='" & [Forms]!ETSALATSIMCARDFORMTEST![ETSALATFORM]![EMID] & "'" في حال كان EMID رقم doCmd.OpenReport "ETSALATSIM_REPORT3", acPreview, , "[EMID]=" & [Forms]!ETSALATSIMCARDFORMTEST![ETSALATFORM]![EMID]
  16. وعليكم السلام 🙂 في الجدول ، في اعدادات الحقل ، التاريخ: . الرقم . النص: 2. معناه انك تقبل يكون طول النص "صفر" ، معناه فارغ، او تكون كتبت شيء ثم حذفته
  17. السلام عليكم 🙂 هذا الموقع يعطي ترتيب أكثر قواعد بيانات العالم استخداما: https://db-engines.com/en/ranking/relational+dbms والترتيب متغير شهريا ، ففي هذا الشهر: 6/2024 ، يكون ترتيب الاكسس رقم 8 عالميا : . واليكم طريقة تقييمهم للترتيب من: https://db-engines.com/en/ranking_definition وهنا تمت ترجمته آليا الى العربية: جعفر
      • 6
      • Thanks
      • Like
  18. . ثانيا: عمل جبار لمبتدئ، والشيء الاكثر اعجابا هو ربط الجداول بطريقة محترفة ، ثالثا: انا قلت: . ممكن تبدأ بالعمل بدون علاقات ، وخلال هذه الاثناء تصير الامور واضحة ، وتقدر تعمل العلاقات المتبقية
  19. سؤال: شو اسم النموذج/الفرعي الذي فيه حدث الحذف؟ شو اسم النموذج/الفرعي الذي تظهر لك علامات DELETED# ؟ رجاء ارفاق حدث الحذف.
  20. انا فهمي بطيء ، فياريت تشرح طلبك شوي اكثر 🙂
  21. كتبت 4 ملاحظات ، هكذا: ** .1> <1. ***الجملة التالية خطيرة ، ولا يجب استعمالها إلا في حالات خاصة، اما في كود طويل مثل هذا ، فيجب ان لا تُستخدم** On Error Resume Next If MsgBox("åá ÃäÊ ãÊÃßÏ ãä ÍÐÝ ÈíÇäÇÊ ÇáãÑíÖ¿", vbYesNo, "ÃäÊÈå ") = vbYes Then DoCmd.SetWarnings (0) ' DoCmd.OpenQuery "qrydeletedPatientTest" ' DoCmd.OpenQuery "QryDeleteTestOrderTbl" Dim strSQL1, strSQL2 As String strSQL1 = "DELETE test_order_tbl.*, test_order_tbl.ID " & _ "FROM test_order_tbl " & _ "WHERE (((test_order_tbl.ID)=" & Forms![reservation_frm]![ID] & "));" strSQL2 = "DELETE reservation_tbl.*, reservation_tbl.ID " & _ "FROM reservation_tbl " & _ "WHERE (((reservation_tbl.ID)=" & Forms![reservation_frm]![ID] & "));" ' strSQL2 = "DELETE test_order_tbl.test, test_order_tbl.sub, test_order_tbl.ID, test_order_tbl.tcode, test_order_tbl.torder, test_order_tbl.patient_price, test_order_tbl.num " & _ "FROM test_order_tbl " & _ "WHERE (((test_order_tbl.ID)=" & Forms!reservation_frm!ID & "));" DoCmd.RunSQL strSQL1 DoCmd.RunSQL strSQL2 'DoCmd.SetWarnings (1) <2. **تم ايقاف عمل هذا السطر DoCmd.RunCommand acCmdDeleteRecord selected_list.Requery me.Requery <3. **تم اضافة هذا السطر DoCmd.SetWarnings (1) <4. **وهذا السطر Else DoCmd.CancelEvent End If
  22. وعليكم السلام 🙂 الاكسس يحتفظ ببياناته القديمة بطريقته الخاصة ، لذا كلما اردت تنشيط الاكسس (حتى انه يصبح اسرع كذلك) ، استعمل زر الضغط والاصلاح : . وبهذه الطريقة نزل حجم قاعدة بياناتك من 58 ميجا الى اقل من 3 ميجا ، وبهذه الطريقة يمكنك رفعه الى المنتدى باستخدام احد برامج الضغط مثل winrar او winzip وغيرهم. وشكرا للمبرمج الذي ساعدك في قاعدة البيانات ، فغير انه فكك الجدول الى عدة جداول ، فقد قام بعمل العلاقات بين الجداول كذلك (واقعا عمل محترف ، شكرا ايها المبرمج 🙂) ، وفي النظر الى علاقات الجداول ، وبعد اعادة مواقع الكائنات قليلا (موضوع شكلي) ، اليك العلاقات بين جداولك (طبعا هذا موجود في برنامجك) : . وقد قمت بوضع المرفق في موضوعك الاصل وبه جميع التغييرات اعلاه. جعفر
  23. وعليكم السلام 🙂 يجب إعطاء الامر Me.Requery ومعناها اجلب البيانات الجديدة من مصدر بيانات النموذج (Me معناه انا الكائن الذي تتم العمليه من خلاله ، اي مكان الحدث الذي اتى منه امر الحذف مثلا) ، بعد كل عملية تغيير في الجداول ، سواء حذف بيانات (مثل ما عندك) ، او اضافة او تغيير. وممكن عمل تحديث بيانات نموذج آخر (غير النموذج الذي تم الامر من خلاله) ، فيصبح الامر Forms!frnName.requery جعفر
×
×
  • اضف...

Important Information