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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. وعليكم السلام 🙂 هذا من: ، وعليك ان تكمل الباقي : . جعفر
  2. وعليكم السلام 🙂 الامر هو docmd.MoveSize Right, Down, Width, Height جعفر
  3. وعليكم السلام 🙂 هذه امكانيات الاكسس ، في آخر نقطة للنماذج تجد الجواب مواصفات Access - Access (microsoft.com) جعفر
  4. من تجربتي ، يجب ان يكون لهذا القرض رقم ايضا ، فقد يأخذ قرض للمواد الكهربائية ووو مثل عند اخونا @كريمو2 ، وحتى قروض النقد ، فإذا استوفى قيمة القرض ، قد يأخذ قرض آخر في الشهر التالي !! جعفر
  5. وعليكم السلام 🙂 اهلا وسهلا بك في المنتدى 🙂 للإستفادة القصوى من المنتدى ، رجاء قراءة قوانين المنتدى : https://www.officena.net/Tips/Questions.htm المنتدى مليء بمواضيع الحماية ، فقط قم بالبحث. يُغلق جعفر
  6. نعم اعرف ، وقد اخبرتك بهذا مسبقا ، فقط قم بعمل Compile حتى ترى الخطأ ، ولما تصلحه سترى الخطأ الذي بعده ، وهكذا !! وهي ليست اخطاء ، ولكن لأنك مكرر التصريح بهذه المتغيرات مرتين ، في الوحدتين النمطيتين ( basBrowsefiles ) ( Module11 ) !! وبسبب ان عندي عيد اليوم (كلّ يومٍ لا يُعصى الله فيه فهو عيد) ، بعطيك فرصة لليل ، وبعدها بغوص في برنامجك واشوف الحل ، ان شاء الله 🙂 جعفر
  7. السلام عليكم 🙂 اخي الفاضل ، رجاء قراءة قوانين المنتدى ، وفي المرات القادمة ، بوضع عنوان صحيح للموضوع ، يدل على مضمون الموضوع 🙂 هذا الكود لا يحفظ قيم ، وانما يُحدّث قيم : وليس لسجل واحد ، وانما لجميع قيم (سجلات) الحقل st_no في الجدول ENTER_SAFF . جعفر
  8. تقدر ان توقف هذا السطر ، بوضع العلامة ' في اول اسطر ، لأنك اصلا ما تستعمل هذه المكتبة 🙂 ولكن ، ستحصل على اخطاء اخرى من البرنامج ، بسبب تكرارك للوحديتين النمطيتين ، لهذا السبب يجب عليك حذف احدهما ، ولكن بعد نقل بقية الدوال اليها 🙂 جعفر
  9. كان المفروض اقول : . المهم في هذه الخطوة هي فهمك للبرنامج ، و رؤيتك له كبرنامج واحد يحتوي على بيانات جميع المواقع ، وانك تستطيع تمييز بيانات كل موقع في كل جدول ، . 1. نعم قد تحتاج لهذا ، ولكن كل هذا يعتمد على بيانات كل جدول (رجاء قرءة ملاحظتي اعلاه) ، 2. اذا كان نوع حقل تسلسل البيانات "تسلسل تلقائي" ، فيجب عليك ان تعمل حقل جديد من نوع رقم ، ثم تنقل بيانات الحقل السابق الى الحقل الجديد ، واذا كان الحقل القديم "لا يقبل التكرار" فيجب تغييره ليقبل التكرار ، وهكذا ، 3. هناك عدة طرق ، ولكن خلينا بعيد عن التقنية ، فالامر يحتاج الى تدقيق مع كوب قهوة ، لذا : ضبّط جدول واحد في قاعدة بيانات واحدة ، القاعدة رقم 1 ، ثم اعمل ربط لقاعدة البيانات رقم 2 ، واعمل ربط لهذا الجدول من قاعدة البيانات رقم 2 ، وسيعطي اكسس الجدول المربوط ، نفس اسم الجدول القديم متبوعا بالرقم 1 (مثلا tbl_Names1) ، فيكون عندك في قاعدة البيانات رقم 1 ، الجدول المُعدل ، وربط بجدول من قاعدة البيانات 2 ، اعمل استعلام إلحاق ، لتلحق بيانات جدول قاعدة البيانات 2 ، في قاعدة البيانات 1 . السبب في استعمال هذه الطريقة ، لأنك معتاد على هذا النوع من الربط والاستعلام 🙂 جعفر
  10. في الكود الذي خلف زر "حفظ" ، انت قلت له بأن يحفظ الملف بإسم StrName : جعفر
  11. تفضل 🙂 بس انت المكتبة في وحدتين نمطيتين ، ليش ؟ يحتاج ان تنظف الكود من احدهما ، وتشير الى الثانية في كل البرنامج 🙂 جعفر ‏‏‏‏StuData4.zip
  12. وعليكم السلام 🙂 يمكنك استيراد جميع الكائنات الى قاعدة بيانات واحدة ، ولكن اذا كانت حقول الجداول متشابهة ، ولكن بيانات كل قاعدة بيانات تختلف عن الاخرى ، فالطريقة الصحيحة هي عمل حقل جديد باسم "الموقع" (جميع مسميات كائنات قاعدة البيانات يجب ان تكون بالانجليزية ، حتى يسهل عليك كتابة المعادلات والكودد) ، فتعبئ هذا الحقل لكل قاعدة بيانات (حتى تستطيع ان تميز بيانات قاعدة بيانات عن اخرى) ، ثم تستورد جميع الجداول المتشابهة الى جدول واحد ، ويكون عندك نموذج الرئيسي لا يتم غلقة ، وفيه تختار "الموقع" ، وفي الاستعلامات ، اضف لها حقل "الموقع" ، ثم في المعيار اشر الى اختيارك من النموذج الرئيسي. جعفر
  13. وعليكم السلام 🙂 هذا معناه ان مناداة المكتبة الـ 32بت تحتاج الى تعديل حتى تعمل على الاكسس 64بت الذي منصّب على جهازك الذي تستعمله الآن ، المثال الاخير في هذا الموضوع فيه طلبك: اجعل برنامجك يعمل على النواتين 32بت و 64بت - قسم الأكسيس Access - أوفيسنا (officena.net) جعفر
  14. اخي الفاضل : الطريقة الصحيحة للحصول على رقم جديد للفاتورة ، هي عن طريق استعمال حقل رقم ، ثم في النموذج تزيد هذا الرقم ، لماذا ؟ هل ستحتاج الى ان يبدأ هذا الرقم من جديد في كل سنة ، او تجعل كل فرع من فروع الشركة يكون له التسلسل الخاص به ، او .... لذا حقل "ترقيم تلقائي" هو الحقل الخطأ لإستعماله في حالتك !! ابحث في المنتدى ، فهذا من المواضيع الكثيرة التداول ، واليك مثال : ترقيم تلقائي يتجدد كل سنة - قسم الأكسيس Access - أوفيسنا (officena.net) جعفر
  15. الاختلاف يكون بسبب تنسيق نوع الحقل ، او استعمال اوامر تقريب الرقم مثل Round او Int او Abs او ... سواء في الاكسس او الاكسل 🙂 جعفر
  16. وعليكم السلام 🙂 اخوي @ابا جودى عمل مثال شامل وبتفصيل التفصيل لمثل طلبك ، فاقترح تبحث عنه ، لأن سؤالك ظاهرا بسيط ، بس لم تدخل في الاسماء المركبة ، تحصل على اللخبطة 😁 جعفر لقيته : هل من طريقة لاجبار المستخدم علي ادخال الاسم رباعيا - صفحه 2 - قسم الأكسيس Access - أوفيسنا (officena.net) وفي الموضوع ، تلقى هوامير المنتدى يخوضون في بحاره 🙂 جعفر
  17. شكرا جزيلا اخوي ابو خليل 🙂 وانا اطلب من صاحبة الموضوع ان تستخدم قاعدة البيانات اللي عملها اخوي ابو خليل ، وتضيف بعض السجلات يدويا ، حتى نعالج السؤال عن طريق الاستعلام كذلك 🙂 جعفر
  18. فيه طريقة اخرى خطرت على بالي ، بحيث نرجع الى اول مرفق ، ونجعل جميع الحقول المحسوبة في وحدة نمطية ، تكون هناك دالة واحدة رئيسية وفيها جميع الحقول والمعادلات (وهذا سيعطينا المجال ان نفكك معادلات iif الى if ... then مما يجعلها اسرع) ، وهي تنادي Recordset الجدول ولمرة واحدة فقط لكل ID ، وتضع نتائج جميع هذه الحقول في اعلى الوحدة النمطية ، في متغير TempVar (او حتى في متغير عادي متوفرة قيمته للوحدة النمطية) ، في الاستعلام ، هذه الحقول تنادي الدوال الخاصة بها ، والدوال تتأكد من مطابقة ID : فاذا كان جديد ، فيشغل الدالة الرئيسية حتى تعطي جميع النتائج الى المتغيرات ، اذا كانت نفسها ، فالدالة تعطي قيمة المتغير مباشرة الى الاستعلام. فهم الكلام اصعب من فهم الموضوع نفسه 😁 جرب ، واعطنا النتيجة والكود لوسمحت ، وخلينا نستفيد من الكود 🙂 جعفر
  19. اخي الكريم ، هذه صورة من كائنات برنامجك ، فلا تتوقع منا ان نفتحها جميعا ، ثم نجرب الى ان نحصل/نعتقد وجود المشكلة !! ورجاء تخبرنا الخطوات التي تعملها في الكائن ، حتى نحصل نحن على المشكلة ونرى سببها
  20. وعليكم السلام 🙂 المنتدى مليئ بما لذ وطاب ، وخصوصا في هذا الموضوع ، وبعدة طرق ، فما عليك إلا ان تبحث فيه (وللعلم ، انا بحثت قبل ان اضع هذه المشاركة) 🙂 جعفر
  21. للعلم: انا لا اوصي بإستخدام المادة 3 من طريقة عملي ادناه ، فقد تسبب بطئ في برنامجك !! لما تحتاج الى حقول في الاستعلام ، طريقة العمل هي كالتالي: اعمل الاستعلام (مثلا qry_1) وفيه حقول الجدول ، بالاضافة الى بقية الحقول المحسوبة التي ستحتاج اليها خقول محسوبة اخرى ، ثم اعمل استعلام (مثلا qry_2) ، ويكون مصدر الاستعلام هو qry_1 ، وتضع فيه بقية الحقول المحسوبة ، وستبقى بعض الحقول الغير موجودة في الاستعلام ، ولكننا نحصل على نتيجتها من الدالة في الوحدة النمطية ، فعليه ، ننادي هذه الدالة بدل اسم الحقل ، كمل هو موضح في الصورة: . وتشير في الدالة التالية الى هذا الاستعلام الاول : Function make_rst() Set rst = CurrentDb.OpenRecordset("Select * From qry_1") End Function وننادي الاستعلام هكذا: Private Sub cmd_qry_ALL_Click() Call make_rst DoCmd.OpenQuery "qry_2" End Sub جعفر 1364.1.حسابى معدل.accdb.zip
  22. انا نظرت في هذه الدالة فقط ووجدت ام جميع الحقول باللون الوردي غير موجودة في الجدول ، فكيف تتوقع نتيجة منها !!
  23. هذه هي الخطوة الاولى ، وهي عزل الحقول من الجدول والحصول على النتيجة الصحيحة ، والخطوة التالية ، هي ان تبدأ تأخذ الحقول الى الاستعلام ، حقلا حقلا ، وتحذف الدالة لهذا الحقل من الوحدة النمطية ، وتُبقي الحقول اللي تعمل مشكلة في الاستعلام 🙂 جعفر
  24. وعليكم السلام 🙂 مستحيل ان تعمل الحقول يدويا ، لأن كمية الحقول عندك مهولة !! فعملت كود علشان يعمل لي الوحدات النمطية ، وجملة SQL الاستعلام 🙂 تستطيع ان تحذف الجداول Data و Data2 ، انا تركتهم لك علشان تجرب الكود 🙂 يجب استعمال النموذج لتشغيل الاستعلام ، وإلا لن تحصل على نتائج الحقول المحسوبة في الاستعلام !! هذا جزء من الوحدة النمطية الخاصة بالحقول المحسوبة: Option Compare Database Option Explicit Dim rst As DAO.Recordset Dim Calc1 As Long Dim Calc2 As Long ' Function make_rst() Set rst = CurrentDb.OpenRecordset("Select * From Data") End Function Function f_nezara99(ID As Long) On Error Resume Next: rst.FindFirst "[ID]=" & ID f_nezara99 = IIf(rst![nezara] = 0, 0, IIf(rst![gazaat] >= 5, 0, rst![nezara])) End Function Function f_elawa_edafia(ID As Long) On Error Resume Next: rst.FindFirst "[ID]=" & ID f_elawa_edafia = IIf(rst![feaa] = "ادارى", 0, IIf(rst![Name] <> "", 4, 0)) End Function جعفر 1364.استعلام حسابى.accdb.zip
  25. ولو ان هذا المثال لا علاقة له ببرنامجك : - اذا عندك حقل للعملة ، فيجب ان يكون عندك حقل لإسم الدولة (c_Option_1) وحقل لرمز العملة (c_Option_2) - او اذا عندك حقل للمدينة ، فيجب ان يكون عندك حقل لإسم الدولة/المنطقة (c_Option_1) وحقل لإسم المدينة (c_Option_2) وفي يوم من الايام ، ولتصفية معينة ، قد تحتاج الى ان تعمل حقل آخر بإسم c_Option_3 ، وبعدين بتذكرني 🤣 جعفر
×
×
  • اضف...

Important Information