نجوم المشاركات
Popular Content
Showing content with the highest reputation on 11/20/25 in all areas
-
السلام عليكم ورحمة الله إليك هذا الحل باستعمال "الذكاء الاصطناعي" (بالمعادلات وبالأكواد -بتصرف-) أرجو أن يفي الغرض المطلوب... ملف العمل.xlsm3 points
-
كلنا نعلم ان ليس هناك حماية مطلقة اقتنعت بهذه المقولة متأخرا كنت الجأ سابقا في حماية برامجي الى طرق قراقوشية لا تخطر على البال .. غرس ملفات في النظام وبيانات خاصة في الريجستري .. وكأني احمي سر القنبلة الكونبة لكني الآن تركت كل ذلك وجعلت مفتاح البرنامج متاحا في ملف تكست ظاهر بجانب قاعدة البيانات .. ملكا لصاحبه .. اما قاعدة الجداول فلم اجد افضل لها من كلمة المرور لحماية البيانات من النسخ ,, وان كانت بعض البيانات شديدة الاهمية لجأت لتشفيرها لحجب قرائتها فيما لو تمكن احد من فك كلمة المرور وتمكن من الدخول الى الجدول .2 points
-
السلام عليكم 🙂 ولو اني مشغول لقمة رأسي ومسافر غدا ان شاء الله ، ولكني اردت المشاركة تفاعلا مع اخي ابوخليل 🙂 . وطريقتي: بالاشارة الى موضوعي ، الجزء الاول: واليك الجزء الثاني من الموضوع: 1. عملت ملف اكسس فارغ، وعملت فيه الاستعلام التالي لقراءة جدول MSysObjects برنامجك ، والذي يحتوي على جميع جداول البرنامج : SELECT MSysObjects.* FROM [D:\temp\1642.HideTBL V1-32.accde].MSysObjects ORDER BY MSysObjects.DateUpdate DESC; . والسبب في الفرز التنازلي ، هو لحقل تاريخ تحديث الجداول ، يعني اخر جداول عملت عليها التحديث (فقط علشان سهولة الوصول للجدول المطلوب). وحتى لو ما عملت الفرز ، فكان بإمكاني عمل كود لفحص الجداول فردا فردا 🙂 وحصلت على الجداول التالية: . ومنها جربت الجدول AccessTbl : SELECT AccessTbl.* FROM [D:\temp\1642.HideTBL V1-32.accde].AccessTbl . وحصلت على النتيجة 🙂 جعفر2 points
-
هو الآن كذلك لا يتقيد بشفت معين .. فقط سنجري بعض التعديلات مدير الموقع عليه الاعلان للموظفين فقط ان الحضور الساعة كذا والانصراف الساعة كذا ... ومهم جدا ان يدخل في فورم التحكم وقت الدخول ووقت الخروج و عدد ساعات العمل فقط هذا كل شيء ساعات العمل تحتسب من وقت الدخول الرسمي وليس من وقت توقيع الموظف أسعدني مرورك قبل المحدد ( فترة العمل ) متاح له الخروج والدخول أكثر من مرة اما بعد فلا يمكنه التوقيع مطلقا ... والبرنامج يطبق عليه لائحة النظام المتبعة اما بالنسبة لما قبل وقت الدخول فهذا يرجع لصاحب العمل ان اراد تقييده .. فهذا ممكن2 points
-
شكرا على المجاملة اللطيفة عملك هو البحر ,, ويلزم امتلاك الادوات اللازمة لمن اراد خوض غماره . اما فكرتي فهي تقليدية .. الطريقة القديمة المعتادة .. رقم النسخة ورقم التسجيل2 points
-
أخواني وأساتذتي ومعلمينا ( دون استثناء ) أدعوكم لتجربة قيد الإختبار ، بحيث يوجد في قاعدة البيانات الحالية المرفقة جدول باسم Table1 . يحتوي سجلات محمية . وأريد تجربة إن كان بالإمكان استيراد هذه السجلات أو معرفة القيم التي فيها ، و بأي وسيلة أو طريقة تخطر على بال من يحاول التجربة بالتعرف على السجلات . الهدف حماية السجلات من العبث ومنع استيرادها بتاتاً . 1. القاعدة غير محمية بكلمة مرور أو حتى أنها غير محفوظة بصيغة Accde ... 2. ما يهمني هو الطريقة التي تم بها الكشف عن الجدول . وليس النتيجة ذاتها Hide TBL.accdb1 point
-
جميل جداً هذا التوضيح والطريقة الجميلة أيضاً .. التعرف على أنه إذا كانت Type = 1 وبالتالي النوع 1 = جدول هي بحد ذاتها أيضاً فكرة جميلة . وبما أن قيمة الـتعليمة Flags = -2147483645 وهي قيمة ثابتة في اكسيس لجميع إصدارات أوفيس ، وهي للتوضيح الواجب أنه ليس لأوفيس علاقة بفرضها بهذه القيمة . بل يفرضها نظام التشغيل نفسه ( Windows ) على حد علمي . أما بخصوص السطر والفكرة التالية :- فهي بحد ذاتها جريئة وإلتفاته فتحت لي أفكاراً جديدة في هذا الخصوص . فشكراً لك ولكل من ساهم بإثراء الموضوع بمشاركته الجميلة والقيمة كجوهره1 point
-
انا طريقتي تختلف عن الاخوان حيث قمت بإظهار الجدول نفسه كما بالصورة وللقيام بذلك قم بتنفيذ الخطوات كالتالي 1- إنسخ الملف تحت القرص D مباشرة (يمكن نسخه إلى أي مكان ولكن هكذا سيكون المسار قصير) 2- إفتح الملف وقم بإنشاء الاستعلام التالي (هذه الخطوة غير مهمة لكم لإني سبق واستخرجت قيمة العمود المطلوب ووضعتها في الكود ولكني ذكرتها للتعرف على الخطوات) SELECT MSysObjects.Flags, MSysObjects.Name, MSysObjects.Type FROM MSysObjects WHERE ( ((MSysObjects.Name) NOT LIKE "MSys*") AND ((MSysObjects.Type) = 1) ); من خلال هذا الاستعلام سنتعرف على أي جدول Type=1 ولايبدأ بالأحرف MSys لتظهر لنا النتيجة كما بالصورة مايهمنا هنا هي قيمة العمود الأول Flags بعد ذلك قم بإغلاق التطبيق بدون حفظ اي شيء 3- إفتح أي قاعدة بيانات أخرى (سواء قاعدة بيانات فارغة أو مستخدمة لايهم) وفي أي وحدة نمطية (جديدة أو فيها اكواد لايهم) والصق فيها الإجراء التالي Sub sbUnHideTables() Dim app As Access.Application Dim wks As Workspace Dim db As dao.Database Dim rst As dao.Recordset Dim tdf As TableDef Set app = New Access.Application Set wks = app.DBEngine(0) 'الإصدار 64 Set db = wks.OpenDatabase("D:\HideTBL V1-64.accde") 'مسار الملف 'الإصدار 32 'Set db = wks.OpenDatabase("D:\HideTBL V1-32.accde") 'مسار الملف For Each tdf In db.TableDefs If tdf.Attributes = -2147483645 Then tdf.Attributes = 0 'تغيير قيمة العمود Flags Next tdf Set db = Nothing End Sub 4- انقر الزر F5 لتشغيل الإجراء حيث سيقوم بتغيير قيمة العمود Flags إلى القيمة صفر 5- اغلق قاعدة البيانات التي قمنا بتنفيذ الكود فيها (حفظ الكود من عدمه راجع لك) 6- الان إذهب إلى القرص D وقم بفتح الملف (HideTBL V1-64.accde او HideTBL V1-32.accde وفقاً لإصدار أوفيس لديك) لتجد أن الجدول قد ظهر في جزء التنقل تحياتي1 point
-
افتح موضوعك الجديد بهذا الطلب ، وأنا على يقين أنك ستجد الكثير من الحلول والأفكار التي ستجد بها حل يرضيك .1 point
-
ما شاء الله عليك .. أولاً نشكر معلمنا أبو خليل لمشاركته وجعله الحافز الذي أنرت به موضوعي المتواضع .. شرح جميل جداً وطريقة مبتكرة أيضاً وجميلة .. سلمت تلك الأنامل والأفكار النيراتِ1 point
-
هو المطلوب بعينه ، ولكن إن لم يكن معلمي يدري ، فمن يدري !!!1 point
-
1 point
-
بعد اكتمال البرنامج واصلاح جميع الملاحظات .. سأوافيك بالمخرج النهائي الذي لا تتخيله الآن1 point
-
لا يصلح لان date تعني اليوم الحالي بينما الدوام المسائي يشتمل على يومين ايضا نموذجين لا يصلح لأن الفكرة كما تعلم نموذج واحد مفتوح دائما وغير قابل للتدخل لا تقلق سأعالج الأمر بطريقة مناسبة . ما رأيك ؟ من اجل ضبط توقيع الخروج هل نعتمد عدد ساعات العمل ونجعلها هي المعيار ومن اجل المرونة واتاحة مساحة للتوقيع نضيف ساعة اضافية مثلا اذا ساعات العمل 4 ساعات وبدء العمل الساعة الرابعة طبعا نهاية العمل الساعة 8 ...... نضيف ساعة اخرى لما بعد الثامنة من اجل اتاحة التوقيع لمن يتأخر في التوقيع غالبا التأخر لا يزيد عن نصف ساعة ولكننا نأخذ بالاحتياط ... اما بعد ذلك فلا يتمكن من التوقيع انتظر رأيك بهذه الفكرة ؟؟؟1 point
-
السلام عليكم ورحمة الله راجع المعادلات في الأعمدة المخفية من العمود B إلى العمود K من شيت "دفتر اليومية" لأن منها ظهر المشكل، وقمت بتصحيح هذه المعادلات بالسحب إلى الأسفل حسب ما فهمت في الملف المرفق. اليومية_034849.rar1 point
-
السلام عليكم ورحمة الله تم التعديل على معادلاتك (معادلات الصفيف) في الملف لتتماشى مع طلبك دون استخدام الفلترة أو ماكرو... ألق نظرة على الملف المرفق. ID.xlsx1 point
-
1 point
-
شكراً لك ثقتكم معلمي الفاضل .. وبانتظار أفكاركم التي أثق أنها ستكون كمحيط اما بحيرتي الصغيرة في تنفيذي1 point
-
قمت بالبحث وتصفح مواضيع الحماية خاصة لتجديد التفعيل والاشتراك . بحيث تكون آمنة وقوية لحاجتي الحالية لذلك لم اجد الا موضوعا احترافيا واحدا لأستاذنا ومعلمنا الخبير @Foksh ولكنه يشترط استخدام الانترنت هنا فاجتهدت على نفسي لتحقيق الفكرة وبفضل من الله تمكنت من عمل منظومة تجمع بين منع النسخ الى اجهزة أخرى وايضا تفعيل الاشتراك لفترة محددة الفترة حسب حاجة العمل .. قد تكون نسخة تجريبية لمدة شهر او شهرين أو تكون نسخة دائمة سنوية يتم تجديدها كل سنة العناصر المعتمد عليها : 1- رقم العتاد ( هارد دسك او معالج او اللوحة الأم ) الذي من خلاله يتم اعداد رقم النسخة 2- دالتي توليد .. لـــ (منع النسخ) دالة ، و لـــ (فترة الاشتراك) دالة 3- جدول يحتوي على حقلين واحد يخص الفترة الزمنية للاشتراك والآخر لضبط التلاعب بتاريخ الجهاز 4- دالة تشفير .. لتشفير التواريخ في الجدول العمل متقن تماما خالي من الاخطاء المحتملة عندما يكتمل سوف أوافيكم بنسخة لمن يرغب في التجربة1 point
-
تفضل استاذ @shiblelayth مرفق من عندي به طريقتي ادخل البيانات بالنموذجان الاولان ثم النموذج الثالث عند اختيار الموظف يعطيق النتائج التي تريدها . ووافني بالرد shiblelayth.rar1 point
-
المطلوب الأول هو من جنس المطلوب الثاني ولا داعي لتكرار الجداول المعادلات المستخدمة هي من نوع الصفيف وليست معادلات عادية تفضل example1.xlsx1 point