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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

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

  1. كان المفروض اقول : . المهم في هذه الخطوة هي فهمك للبرنامج ، و رؤيتك له كبرنامج واحد يحتوي على بيانات جميع المواقع ، وانك تستطيع تمييز بيانات كل موقع في كل جدول ، . 1. نعم قد تحتاج لهذا ، ولكن كل هذا يعتمد على بيانات كل جدول (رجاء قرءة ملاحظتي اعلاه) ، 2. اذا كان نوع حقل تسلسل البيانات "تسلسل تلقائي" ، فيجب عليك ان تعمل حقل جديد من نوع رقم ، ثم تنقل بيانات الحقل السابق الى الحقل الجديد ، واذا كان الحقل القديم "لا يقبل التكرار" فيجب تغييره ليقبل التكرار ، وهكذا ، 3. هناك عدة طرق ، ولكن خلينا بعيد عن التقنية ، فالامر يحتاج الى تدقيق مع كوب قهوة ، لذا : ضبّط جدول واحد في قاعدة بيانات واحدة ، القاعدة رقم 1 ، ثم اعمل ربط لقاعدة البيانات رقم 2 ، واعمل ربط لهذا الجدول من قاعدة البيانات رقم 2 ، وسيعطي اكسس الجدول المربوط ، نفس اسم الجدول القديم متبوعا بالرقم 1 (مثلا tbl_Names1) ، فيكون عندك في قاعدة البيانات رقم 1 ، الجدول المُعدل ، وربط بجدول من قاعدة البيانات 2 ، اعمل استعلام إلحاق ، لتلحق بيانات جدول قاعدة البيانات 2 ، في قاعدة البيانات 1 . السبب في استعمال هذه الطريقة ، لأنك معتاد على هذا النوع من الربط والاستعلام 🙂 جعفر
  2. في الكود الذي خلف زر "حفظ" ، انت قلت له بأن يحفظ الملف بإسم StrName : جعفر
  3. تفضل 🙂 بس انت المكتبة في وحدتين نمطيتين ، ليش ؟ يحتاج ان تنظف الكود من احدهما ، وتشير الى الثانية في كل البرنامج 🙂 جعفر ‏‏‏‏StuData4.zip
  4. وعليكم السلام 🙂 يمكنك استيراد جميع الكائنات الى قاعدة بيانات واحدة ، ولكن اذا كانت حقول الجداول متشابهة ، ولكن بيانات كل قاعدة بيانات تختلف عن الاخرى ، فالطريقة الصحيحة هي عمل حقل جديد باسم "الموقع" (جميع مسميات كائنات قاعدة البيانات يجب ان تكون بالانجليزية ، حتى يسهل عليك كتابة المعادلات والكودد) ، فتعبئ هذا الحقل لكل قاعدة بيانات (حتى تستطيع ان تميز بيانات قاعدة بيانات عن اخرى) ، ثم تستورد جميع الجداول المتشابهة الى جدول واحد ، ويكون عندك نموذج الرئيسي لا يتم غلقة ، وفيه تختار "الموقع" ، وفي الاستعلامات ، اضف لها حقل "الموقع" ، ثم في المعيار اشر الى اختيارك من النموذج الرئيسي. جعفر
  5. وعليكم السلام 🙂 هذا معناه ان مناداة المكتبة الـ 32بت تحتاج الى تعديل حتى تعمل على الاكسس 64بت الذي منصّب على جهازك الذي تستعمله الآن ، المثال الاخير في هذا الموضوع فيه طلبك: اجعل برنامجك يعمل على النواتين 32بت و 64بت - قسم الأكسيس Access - أوفيسنا (officena.net) جعفر
  6. اخي الفاضل : الطريقة الصحيحة للحصول على رقم جديد للفاتورة ، هي عن طريق استعمال حقل رقم ، ثم في النموذج تزيد هذا الرقم ، لماذا ؟ هل ستحتاج الى ان يبدأ هذا الرقم من جديد في كل سنة ، او تجعل كل فرع من فروع الشركة يكون له التسلسل الخاص به ، او .... لذا حقل "ترقيم تلقائي" هو الحقل الخطأ لإستعماله في حالتك !! ابحث في المنتدى ، فهذا من المواضيع الكثيرة التداول ، واليك مثال : ترقيم تلقائي يتجدد كل سنة - قسم الأكسيس Access - أوفيسنا (officena.net) جعفر
  7. الاختلاف يكون بسبب تنسيق نوع الحقل ، او استعمال اوامر تقريب الرقم مثل Round او Int او Abs او ... سواء في الاكسس او الاكسل 🙂 جعفر
  8. وعليكم السلام 🙂 اخوي @ابا جودى عمل مثال شامل وبتفصيل التفصيل لمثل طلبك ، فاقترح تبحث عنه ، لأن سؤالك ظاهرا بسيط ، بس لم تدخل في الاسماء المركبة ، تحصل على اللخبطة 😁 جعفر لقيته : هل من طريقة لاجبار المستخدم علي ادخال الاسم رباعيا - صفحه 2 - قسم الأكسيس Access - أوفيسنا (officena.net) وفي الموضوع ، تلقى هوامير المنتدى يخوضون في بحاره 🙂 جعفر
  9. شكرا جزيلا اخوي ابو خليل 🙂 وانا اطلب من صاحبة الموضوع ان تستخدم قاعدة البيانات اللي عملها اخوي ابو خليل ، وتضيف بعض السجلات يدويا ، حتى نعالج السؤال عن طريق الاستعلام كذلك 🙂 جعفر
  10. فيه طريقة اخرى خطرت على بالي ، بحيث نرجع الى اول مرفق ، ونجعل جميع الحقول المحسوبة في وحدة نمطية ، تكون هناك دالة واحدة رئيسية وفيها جميع الحقول والمعادلات (وهذا سيعطينا المجال ان نفكك معادلات iif الى if ... then مما يجعلها اسرع) ، وهي تنادي Recordset الجدول ولمرة واحدة فقط لكل ID ، وتضع نتائج جميع هذه الحقول في اعلى الوحدة النمطية ، في متغير TempVar (او حتى في متغير عادي متوفرة قيمته للوحدة النمطية) ، في الاستعلام ، هذه الحقول تنادي الدوال الخاصة بها ، والدوال تتأكد من مطابقة ID : فاذا كان جديد ، فيشغل الدالة الرئيسية حتى تعطي جميع النتائج الى المتغيرات ، اذا كانت نفسها ، فالدالة تعطي قيمة المتغير مباشرة الى الاستعلام. فهم الكلام اصعب من فهم الموضوع نفسه 😁 جرب ، واعطنا النتيجة والكود لوسمحت ، وخلينا نستفيد من الكود 🙂 جعفر
  11. اخي الكريم ، هذه صورة من كائنات برنامجك ، فلا تتوقع منا ان نفتحها جميعا ، ثم نجرب الى ان نحصل/نعتقد وجود المشكلة !! ورجاء تخبرنا الخطوات التي تعملها في الكائن ، حتى نحصل نحن على المشكلة ونرى سببها
  12. وعليكم السلام 🙂 المنتدى مليئ بما لذ وطاب ، وخصوصا في هذا الموضوع ، وبعدة طرق ، فما عليك إلا ان تبحث فيه (وللعلم ، انا بحثت قبل ان اضع هذه المشاركة) 🙂 جعفر
  13. للعلم: انا لا اوصي بإستخدام المادة 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
  14. انا نظرت في هذه الدالة فقط ووجدت ام جميع الحقول باللون الوردي غير موجودة في الجدول ، فكيف تتوقع نتيجة منها !!
  15. هذه هي الخطوة الاولى ، وهي عزل الحقول من الجدول والحصول على النتيجة الصحيحة ، والخطوة التالية ، هي ان تبدأ تأخذ الحقول الى الاستعلام ، حقلا حقلا ، وتحذف الدالة لهذا الحقل من الوحدة النمطية ، وتُبقي الحقول اللي تعمل مشكلة في الاستعلام 🙂 جعفر
  16. وعليكم السلام 🙂 مستحيل ان تعمل الحقول يدويا ، لأن كمية الحقول عندك مهولة !! فعملت كود علشان يعمل لي الوحدات النمطية ، وجملة 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
  17. ولو ان هذا المثال لا علاقة له ببرنامجك : - اذا عندك حقل للعملة ، فيجب ان يكون عندك حقل لإسم الدولة (c_Option_1) وحقل لرمز العملة (c_Option_2) - او اذا عندك حقل للمدينة ، فيجب ان يكون عندك حقل لإسم الدولة/المنطقة (c_Option_1) وحقل لإسم المدينة (c_Option_2) وفي يوم من الايام ، ولتصفية معينة ، قد تحتاج الى ان تعمل حقل آخر بإسم c_Option_3 ، وبعدين بتذكرني 🤣 جعفر
  18. مافي مانع ، ولكنك لن تحتاج لها اذا كان ادخال البيانات عن طريق النموذج ، واختيار القيم فيها 🙂 وفي النموذج تعمل كود للتأكد ان الحقل غير فارغ. جعفر
  19. اخي احمد انت بدأت بمخالفة قوانين المنتدى ، بوضع اكثر من سؤال عن نفس الموضوع ، ولم تتواصل في الموضوع السابق !! رجاء المتابعة هناك اريد المساعدة فى استرداد ملفات قاعدة بيانات اكسس - قسم الأكسيس Access - أوفيسنا (officena.net) يُغلق جعفر
  20. ممكن ، مافي مانع ، المهم انه ليس في الجدول ، في الجدول tbl_C ، تقدر تعمل LVL2 لمجموعة الاثنين و LVL3 لمجموعة الثلاثة ، يمكنك استعمال اياً من الاستعلامين ، وهنا يأتي دور التوضيح للمستخدم ، ممكن ان يكون فيه وصف المادة مثلا ، خصوصا اذا كانت الاختيارات تحتاج الى توضيح اكثر ، او انك تكتب فيها ما يساعدك على الاختيار الصحيح 🙂 جعفر
  21. وعليكم السلام 🙂 واهلا وسهلا بك في المنتدى 🙂 رجاء قراءة قوانين المنتدى قبل وضع مشاركات ، حتى تستفيد الاستفادة القصوى من المنتدى ومن وقتك 🙂 انزل البرنامج الذي في المرفق : جعفر
  22. وعليكم السلام 🙂 هناك مجموعة ممنوعات يجب على المبرمج التقيد بها ، واول نقطة في قائمة الممنوعات هي السماح بالمستخدم بادخال البيانات في الجدول مباشرة. البرنامج يحتاج الى مجموعة خطوط حماية ، بحيث لما البيانات توصل للجدول ، يكون المبرمج قد قام بتصفيتها في النموذج او الاستعلام بواسطة الكود او المعايير ، او حتى التحكم في اذا اكثر من شخص ادخل المعلومة في نفس اللحظة : جعفر
  23. لا تأثير 🙂 1. صحيح انك حاليا لا تحتاج اليه ، ولكن قد تحتاج اليه في المستقبل ، 2. لا توجد علاقة بين كم مرة هذا الحقل موجود في الجداول ، مثلا: معلومات الحقل LVL تكتبها مرة واحدة في الجدول tbl_C ، ثم تستعملها لأكثر من جدول. لا تنسى انت فقط تقرأ/تختار من هذا الجدول ، ولكنك تحفظ المعلومة التي تم اختيارها في بقية الجداول ، واذا بعد تجربتك لازلت تحتاج الى توضيح ، ارفق مثال فيه نفس الحقل مكرر في اكثر من جدول 🙂 3. مافي اي مشكلة 🙂 جعفر
×
×
  • اضف...

Important Information