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

Moosak

أوفيسنا
  • Posts

    2,064
  • تاريخ الانضمام

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

  • Days Won

    51

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

  1. لا يتم تكرار الأرقام .. فالكود يعيد ترقيم حقل ال ID تصاعديا كل مرة ..
  2. ميزة الجدول الفرعي أنه يمكنك من تحديد أكثر من فترة إنقطاع حسب ضروف المشترك .. ومن ثم تجمع عدد الأيام من أكثر من سجل (حسب عدد الإنقطاعات) خلال الفترة التي تحددها (شهريا مثلا) 🙂 أعيدك إلى فكرة الجدول الفرعي 😅✌ فمن خلالها يمكنك أن تحسب : عدد الأيام - عدد النقاط - عدد الأرصدة - ..... سمها ما شئت ومن خلالها يمكنك إضافة حقل لتأكيد موافقة المالك أيضا .
  3. أسعد الله أوقاتك حبيبنا @ابوخليل 🙂 الفكرة اللي في بالي هي عمل جدول فرعي تضاف فيه فترة الغياب ويكون فيه حقلين تاريخ [من] - [إلى] .. ومن هذين الحقلين يتم احتساب المدة بالأيام ثم تضيفها لعدد الأيام المتبقية .. ويمكن منها استخراج الكثير من البيانات حسب الحاجة 🙂 أما إن كانت الآلية عبارة عن رصيد فيمكن أيضا إضافة حقل في نفس الجدول للإختيار بين المدة أو الرصيد حسب نوع الاشتراك .. وهذه الفكرة قريبة من فكرة كوبونات الخصم أو الأرصدة الإضافية للإجازات أو العروض التجارية التي لها تاريخ بداية ونهاية ... وهكذا والله أعلم 🙂
  4. إذا الحل هو أن تبقى البيانات مشفرة في الجداول في جميع الأحوال .. ويتم فك تشفيرها عن طريق الاستعلامات مثلا تمهيدا لعرضها في النماذج والتقارير ..
  5. البساطة والجمال والإتقان .. 😊🌼 شكرا ألف .. ولكن يبقى الإشكال والتساؤل نفسه والذي طرحته في موضوع الأستاذ فادي @Foksh >> وهو عندما يفتح البرنامج أكثر من مستخدم كيف ستكون النتيجة ؟؟ جربت نسخ النموذج وفتحتهما معا على أعتبار أن هناك مستخدمين إثنين يعملان في نفس الوقت .. فكانت النتيجة كما ترى عيناك ..
  6. ما شاء الله تبارك الرحمن .. 😊🌼 سباق محتدم في الإبداعات والابتكارات هذه الفترة .. شكله موسم الإبداعات 😁👌 سلمت يمناك عم الحاج مستر @Foksh .. شغل معلمين 👍🙂 .. لكن سؤالي هو : هل هذه الحركة سوف تتوافق مع قواعد البيانات المشتركة لأكثر من مستخدم ؟ ألن يحصل تضارب بين المستخدمين عند التشفير وفكه وخصوصا وقت إدخال البيانات ؟ فرص حصول الأخطاء كبيرة .. وخصوصا لو نسينا تغيير حالة ال status قبل عملية إدخال البيانات .. هي مجرد أفكار ولعلها من وحي الخيال وضرب من ضروب الفكر فقط 🙂🖐
  7. أخي @عذاب الزمان بعد الاطلاع على مرفقك وجدت أنك معتمد على حقل ال ID بشكل أساسي .. لذلك غيرت المنهجية وعملته لك بشكل يلائم مرفقك .. نفضل : 🙂 ADD.accdb
  8. لدي فكرة أستخدمتها في عدة برامج .. 🙂👌 إضافة حقل رقمي من نوع Doble مزدوج ونسميه Order مثلا .. وهو حقل خاص بالترتيب ( ترتيب ظهور السجلات ) بحيث يتم ترتيب السجلات بناءا على هذا الحقل.. ويأخذ قيمته تلقائيا بعد إدراج السجل .. ثم بعد ذلك تتغير قيمته حسب موقعه المطلوب بين السجلات .. بحيث تضيف 0.001 مثلا لقيمة السجل المراد أن يكون هذا السجل بعده ليأخذ موقعه المناسب .. وبهذا نستطيع التحكم بترتيب السجلات بدون التأثير على حقل المفتاح الأساسي
  9. عن نفسي ما أستخدمها .. ما عدا Microsoft Web Browser أستخدمته في برنامج واحد كمستعرض للملفات .. وحسب القائمة المذكورة ألاحظ أنه مش من ضمنها 😅 . ولكن الأهم هو أن مايكروسوفت توفر البدائل لهذي الأدوات .. حسب المقال عمي @jjafferr لم يرد ذكر الأكسس من ضمن البرامج ، فقط Word, Excel, PowerPoint, and Visio :
  10. شاركنا هذا النجاح أخي @غريب طرابلس 🙂🌹
  11. أهلا بك أخي @samyegypt1 🙂 الموضوع قديم جدا .. من سياسات المنتدى أن تقوم بفتح موضوع جديد تذكر فيه طلبك .. ثم تشير لهذا الموضوع في حال وجود رابط بينهما .. تحياتي .. 🙂
  12. العفو أستاذنا .. 🙂🌹 .. وسبب عدم إخفاء النموذج هو أنه مفتوح أثناء تشغيل الكود والأصل أنه يعمل للنماذج والتقارير المغلقة .. ولفعل ذلك هناك أكواد أخرى تقوم بهذا الأمر.. 👌
  13. تفضل عمي @الحلبي 🙂 اخفاء الجداول وعدم استيرادها.accdb
  14. أجريت هذا التعديل .. وربما يكون للخبراء رأي بخصوص Resume Next 🙂 : test.rar
  15. أستاذنا العزيز @الحلبي .. باختصار حسب برنامج الأستاذ العزيز @محمود حموده 🙂 هذا الكود الذي تم استخدامه لإخفاء جميع العناصر : Option Compare Database Option Explicit Dim TD As TableDef, QD As QueryDef, FD As AccessObject, RD As AccessObject, MD As AccessObject, MacroD As AccessObject ' إخفاء جميع الكائنات في قاعدة بيانات محددة Sub HideAllObjects(Optional dbPath As String = "") Dim db As DAO.Database Dim isSourceDb As Boolean On Error Resume Next ' إذا لم يُحدد dbPath، سيتم العمل على قاعدة البيانات الحالية If dbPath = "" Then Set db = CurrentDb isSourceDb = False Else Set db = DBEngine.Workspaces(0).OpenDatabase(dbPath) isSourceDb = True End If ' إخفاء الجداول For Each TD In db.TableDefs If Left(TD.Name, 4) <> "MSys" Then If Len(TD.Connect) > 0 Then ' الجدول مرتبط بقاعدة بيانات أخرى Application.SetHiddenAttribute acTable, TD.Name, True Else ' الجدول محلي TD.Attributes = TD.Attributes Or dbHiddenObject End If End If Next TD ' إخفاء الاستعلامات For Each QD In db.QueryDefs If Not (QD.Name Like "~*") Then Application.SetHiddenAttribute acQuery, QD.Name, True End If Next QD ' إخفاء النماذج For Each FD In CurrentProject.AllForms Application.SetHiddenAttribute acForm, FD.Name, True Next FD ' إخفاء التقارير For Each RD In CurrentProject.AllReports Application.SetHiddenAttribute acReport, RD.Name, True Next RD ' إخفاء وحدات الماكرو For Each MacroD In CurrentProject.AllMacros Application.SetHiddenAttribute acMacro, MacroD.Name, True Next MacroD ' إخفاء الوحدات النمطية For Each MD In CurrentProject.AllModules Application.SetHiddenAttribute acModule, MD.Name, True Next MD ' إخفاء الكائنات المخفية Application.SetOption "Show Hidden Objects", False ' إغلاق قاعدة البيانات المصدر إذا تم فتحها If isSourceDb Then db.Close End Sub وهذا كود إظهارها مجددا : ' إظهار جميع الكائنات في قاعدة بيانات محددة Sub ShowAllObjects(Optional dbPath As String = "") Dim db As DAO.Database Dim isSourceDb As Boolean On Error Resume Next ' إذا لم يُحدد dbPath، سيتم العمل على قاعدة البيانات الحالية If dbPath = "" Then Set db = CurrentDb isSourceDb = False Else Set db = DBEngine.Workspaces(0).OpenDatabase(dbPath) isSourceDb = True End If ' إظهار الجداول For Each TD In db.TableDefs If Left(TD.Name, 4) <> "MSys" Then If Len(TD.Connect) > 0 Then ' الجدول مرتبط بقاعدة بيانات أخرى Application.SetHiddenAttribute acTable, TD.Name, False Else ' الجدول محلي TD.Attributes = TD.Attributes And Not dbHiddenObject End If End If Next TD ' إظهار الاستعلامات For Each QD In db.QueryDefs If Not (QD.Name Like "~*") Then Application.SetHiddenAttribute acQuery, QD.Name, False End If Next QD ' إظهار النماذج For Each FD In CurrentProject.AllForms Application.SetHiddenAttribute acForm, FD.Name, False Next FD ' إظهار التقارير For Each RD In CurrentProject.AllReports Application.SetHiddenAttribute acReport, RD.Name, False Next RD ' إظهار وحدات الماكرو For Each MacroD In CurrentProject.AllMacros Application.SetHiddenAttribute acMacro, MacroD.Name, False Next MacroD ' إظهار الوحدات النمطية For Each MD In CurrentProject.AllModules Application.SetHiddenAttribute acModule, MD.Name, False Next MD ' إظهار الكائنات المخفية Application.SetOption "Show Hidden Objects", True ' إغلاق قاعدة البيانات المصدر إذا تم فتحها If isSourceDb Then db.Close End Sub والكود يصلح للقاعدة الحالية أو لأي قاعدة أخرى بحيث أنك إما أن تضع رابط مسار القاعدة المطلوبة، أو تتركه فارغا لكي يخفي عناصر قاعدتك الحالية : Call HideAllObjects(dbPath) Call ShowAllObjects(dbPath)
  16. أهلا بك في المنتدى أخي محمد 🙂 بل تعليمات المنتدى تقتضي بأن ترفق الملف هنا لكي يحاول الإخوة المساعدة في حل مشكلتك ..
  17. جرب تصمم استعلام تضيف فيه الجدولين وأعمل العلاقة في الاستعلام .. لأنه في الاستعلام لا يشترط نفس الشروط التي يشترطها في نافذة العلاقات .. ولكنك ستحصل فقط على السجلات التي تنطبق عليها الشروط حسب العلاقة . وربما ستضطر لتقسيم الاستعلام لعدة استعلامات إضافية للحصول على النتيجة المرجوة. 🙂
  18. شكرا لك أخي @Ahmos (آخر ملوك مصر) 😅🖐 على هذا الجهد الطيب 🙂🌹 أكواد نظيفة ومرتبة ما شاء الله .. رغم قلة معرفتي بكيفية التعامل مع ملفات الريجيستري 😁 لكن لكي تفتح لنا الآفاق هل يمكنك البدء بإعطاء أمثلة عملية على النقطتين [1 - 2 ] مثلا ؟
  19. وعليك السلام ورحمة الله وبركاته أيها العزيز مستر @Foksh 😊🌹 شكر الله سعيك .. وبارك الله جهدك .. وأحسن الله إليك .. 🙂🌷 إقتراح من مبتديء لسمو معاليك : 👍🏻😁 مع إيماني بكم الإبداع الذي يحويه هذا الجهد .. إلا أني أقترح عليك أن يكون مع هذه الدرة الرائعة إضافة مثال من الجداول والبيانات لكي يتضح للمتابعين والمستفيدين كيفية الاستخدام ونرى صورة مباشرة للنتيجة .. فبالمثال يتضح المقال 😄🖐🏻
  20. شكرا لك أخي @محمود حموده 🙂 وهدية مقبولة 🌹🌷
  21. وعليكم السلام أخي غسان .. مع أن الملف بدون بيانات ولكن عبأته لك ببيانات عشوائية .. وطبقت عليه فكرة والدنا العزيز @ابوخليل 🙂 والدور على معلمنا الحبيب @Foksh ليطبق فكرته 😊👌 ghassan.accdb
  22. أخي العزيز غسان @ghassan1959 🙂 .. قم أنت بإرسال ملفك وفيه الجدول والاستعلام المطلوب ترقيمه بحيث يكون فيه كم من البيانات 🙂
  23. إضافة لما تفضل به الأخ @Foksh .. أعتقد أن من فوائد وجود الاستعلامات في ملف الواجهات هو أن الاستعلامات في الأغلب تقوم بعمليات حسابية من خلال الحقول المحسوبة وكذلك بعمليات فرز وتصفية مما يجعلها تأخذ من حجم الذاكرة وقد تبطئ عمل البرنامج أحيانا عندما يكون عدد السجلات كبيرا ، وهذه العمليات تختلف من مستخم لآخر في نفس البرنامج فالمستخدم (أ) قد يبحث عن موضوع معين بينما المستخدم (ب) يبحث عن موضوع آخر في نفس البيانات وفي نفس الوقت ، لذلك يتم فصل الاستعلامات لكل مستخدم على حده لكي يتم تقليل الضغط على قاعدة البيانات الأصلية . وشيء آخر مهم جدا هو أن الاستعلامات لا يمكن استيرادها كاستعلامات مرتبطة بقاعدة بيانات أكسس أخرى .. لذلك يجب أن تكون موجودة في نفس البرنامج لربطها بالنماذج أو التقارير ، إلا إن كانت هناك عملية ربط بالأكواد وهذه عملية معقدة نوعا ما وغير عملية . والله أعلم 🙂
  24. بسم الله بسم الله .. ما شاء الله ما شاء الله .. بسم الله المكين .. نعوذ بالله من السحر والعين لا هذي يبغالها سطل قهوة على صحن برياني على دست حلوى عمانية علشان الواحد يستوعب كم الإبداع والعبقرية الي يحويها هذا الموضوع 😅👌 الاسم لوحده تحفة 😄🖐🏻 شكرا ألف على كل هذي الدرر .. شيخ المعلمين 😊🌹🌷
  25. تمت التجربة بنجاح ما شاء الله 😊👌 وفوق الحلاوة اللي أحلى وأحلى .. بارك الله فيك شيخ المعلمين 😊🌷 فقط لاحظت أن ماكرو التعدلات لا يحفظ القيمة قبل التعديل Old Value .. ولا طبيعي كذا ؟
×
×
  • اضف...

Important Information