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

محب العقيدة

الخبراء
  • Posts

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

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

  • Days Won

    3

محب العقيدة last won the day on فبراير 18

محب العقيدة had the most liked content!

السمعه بالموقع

154 Excellent

3 متابعين

عن العضو محب العقيدة

البيانات الشخصية

  • Gender (Ar)
    ذكر
  • Job Title
    free

اخر الزوار

بلوك اخر الزوار معطل ولن يظهر للاعضاء

  1. السلام عليكم الصحيح اني فقط قرأت بسرعة وتذكرت اني نزلت من النت برنامج يخص هذا الموضوع ربما تستفيد من هذا البرنامج CarRental.rar
  2. ....الرإي السائد الان ان مهمه البرمجيين اختلفت تماما هي لم يعد كتابه الكود ولا تصحيح الكود انما هو قائد اوركسترا فقط وهذا المصطلح سوف تسمعه كثيرا هل عندما تتابع فيديوهات ai مهمه المبرمج الان اصبحت فقط هو كيفيه اداره ادوات الذكاء الاصطناعي للوصول الى الكفاء القصوى في البرنامج المصمم واقصد ادوات الذكاء الاصطناعي كثيره منها السكيلز ملفات الام دي والام سي بي سيرفر والستيرنج ومشاريع github المتعلقه بالحصول على احدث،اساليب الاستفاده من الذكاء الاصطناعي مع ،
  3. مشكله الاكسس يختلف عن البقية حيث في البايثون تستطيع ان تنشئ برنامج من الصفر الى قاعده البيانات وبواجهه اماميه وخلفيه بكل سهوله اما في الاكسس وهو برنامج مغلق لابد من استخدام الام سي بي سيرفر حتى تستطيع ان تتحكم داخل الاكسيس طبعا هناك الكثير من مشاريع الام سي بي سيرفر كمثلا كهذا المشروع https://github.com/tyler-73/MS-Access-mcp يدعي صاحبها ان هناك تحكم كامل بكل الاكسس عن طريق الذكاء الاصطناعي طبعا انا لم اجرب هذا المشروع انا انشئت ما ام سي بي سيرفر فب الجيت هب واحاول الان ان اجد حل للهلوسة التي تحدث للذكاء الاصطناعي عن طريق الام سي بي سيرفر طبعا الان انا استخدم skill.me طبعا لم تقضي على الهلوسه بشكل كامل كان الحل النهائي استخدام الام سي بي سيرفر للاتصال بقاعده البيانات واضافه وحذف ....... اما التنفيذ الحرفي للاضافة والحذف.....عن طريق سكربت البايثون والتعليمات العامه عن طريق ملف skill.md طبعا لماذا ملف الام سي بي سيرفر لا يحتوي على التعليمات بشكل حرفي لانه الام سي بي سيرفر يجب ان يتعامل مع كل قواعد البيانات اما ملف البايثون فهو يستخدم وينشأ لكل قاعده بيانات على حدا اما ملف الاسكيل الام الدي خوفا من الهلوسه
  4. ملاحظة اخيرة لمن يستخدمون اللغة العربية في شجرة الحسابات لجعل القائمة تظهر من اليمين لليسار Go to File -> options -> Client settings -> General alignment Change the settings to Text Mode, and it worked for me.
  5. بالنسبة للالوان انظر هذا الموضوع TIP: Add colour to queries, listboxes & comboboxes | Access World Forums اما البقية treeview_v2.accdb
  6. هل ترغبون بان اقوم باضافة شجرة اخرى للمواد مع اضافة وجذف ونعديل؟
  7. حياكم الله وبياكم وصلتني ملاحظة عند تحديث الشجرة تنتقل الى الاعلى مم يسبب ازعاج كبير عن طريق ال mcp تم حل المشكلة يوتيوب treeview_v1.accdb
  8. هذه الصورة النهائية لشجرة الحسابات treeview.accdb treeview - Copy (10).accdb
  9. اخي جعفر انظر الى هذه الشجره الاحترافيهالتي اخرجها mcp ثم احكم . طبعا الاخطاء اللي setfocus حلها سهل جدا بالنسبه للتيكس بوك الفارغ هو للبحث والبوتون هو لاعاده ضم الشجره لكن هذه مسوده غدا ان شاء الله ساعمل فيديو مع ارفاق نموذج خالي من الاخطاء تماما وكيفيه استخدام الام سي بي لانشاء تقرير طبعا ستكون بالفيديو كيف اطلب من الام سي بي انشاء تقرير للشجره وغيره من الخصائص في الشجر treeview.accdb
  10. هذه تجربة mcp server MCP_server_ms_access_control treeview - Copy.accdb
  11. السلام عليكم استخدمت mcp msaccess استخدمته في انشاء قاعده بيانات مع الجدول للحسابات بالاضافه الى النموذج بديل عن اكتف اكس وكانت النتائج تقريبا مقبوله 50% طبعا ان شاء الله ان اخرج شجره حسابات متكامله مع اضافه وحذف وتعديل ساقوم بنشرها في هذا المنتدى
  12. حتى لو نجحت طريقه اخواني الخبراء لكن دائما وتساب تغير من سياستها ونهجها وبالتالي انت تحتاج كل ما غيرت وتساب نهجها تحتاج الى الذهاب الى العميل وتغيير الكود اما بالنسبه للاي بي اي فيبقى ثابت لا يتغير انظر الى اليوتيوب ستجد كثير من الشروحات هذا مثل هذه القناه https://youtube.com/@itspioneers
  13. انا مستغرب ما دام هو عميل لماذا لا يستخدم api
  14. اخي منتصر يبدو ان الفكرة لم تصلك بعد التخزين سيكون( LongBinary (BLOB عموما اريد ان اطرح هذه الفكرة على منتديات اجنبية حتى ارى مدى سلبيتها او عدم فائدتها وانما هي فكرة من الذكاء الصناعي لحفظ الملفات الحساسة جدا ارفقت قاعدة البيانات قبل تحويلها الى ACCDE كيف تعمل وطلبت من الذكاء الصناعي ان بشرح الفكرة بشكل مفصل ────────────────────────────────────────────────┐ │ (Stream-Based Storage) │ ├─────────────────────────────────────────────────┤ │ │ │ tbl_SecureStorage │ │ ┌────────────────────────────────────────┐ │ │ │ StreamName │ DataBlob │ │ │ ├────────────────────────────────────────┤ │ │ │ ITEMS │ 57 48 52 53 32 30 32 35 │ │ │ │ │ 00 00 02 D4 49 54 45 4D │ │ │ │ │ 53 00 00 00 B3 F2 A1 9C │ │ │ │ │ [... 2000+ bytes ...] │ │ │ └────────────────────────────────────────┘ │ │ │ │ ← البيانات **مشفرة وغير مفهومة** │ │ ← لا يمكن قراءتها بدون الكود الخاص │ └─────────────────────────────────────────────────┘ 🔐 رحلة البيانات: من الإدخال إلى التخزين السيناريو: إضافة مادة "أرز" ┌─────────────────────────────────────────────────────┐ │ 1. المستخدم يدخل البيانات │ └─────────────────────────────────────────────────────┘ ↓ اسم المادة: أرز الكمية: 100 السعر: 50 ↓ ┌─────────────────────────────────────────────────────┐ │ 2. تُحفظ في الذاكرة (ADODB.Recordset) │ └─────────────────────────────────────────────────────┘ ↓ ItemID=1, ItemName="أرز", Quantity=100, Price=50 ↓ ┌─────────────────────────────────────────────────────┐ │ 3. عند الضغط على "حفظ" │ │ → clsItemsManager.Save() │ └─────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────┐ │ 4. التحويل إلى XML (modSerializer) │ └─────────────────────────────────────────────────────┘ ↓ <records> <record> <ItemID>1</ItemID> <ItemName>أرز</ItemName> <Quantity>100</Quantity> <Price>50</Price> </record> </records> ↓ ┌─────────────────────────────────────────────────────┐ │ 5. تحويل XML إلى Bytes (modSerializer) │ └─────────────────────────────────────────────────────┘ ↓ [60, 114, 101, 99, 111, 114, 100, 115, ...] ↓ ┌─────────────────────────────────────────────────────┐ │ 6. التشفير XOR (modSecurity) │ └─────────────────────────────────────────────────────┘ ↓ [183, 227, 94, 201, 88, 129, 47, 93, ...] ↓ ┌─────────────────────────────────────────────────────┐ │ 7. إضافة Header (modSecurity) │ └─────────────────────────────────────────────────────┘ ↓ [WRHS2025][00 00 02 D4][ITEMS...][encrypted data] ↑ ↑ ↑ ↑ Signature Length Name Encrypted XML ↓ ┌─────────────────────────────────────────────────────┐ │ 8. حساب Hash (modSecurity) │ └─────────────────────────────────────────────────────┘ ↓ Hash = "5A5A7B3C-000002D4" ↓ ┌─────────────────────────────────────────────────────┐ │ 9. الحفظ في tbl_SecureStorage (modDataStorage) │ └─────────────────────────────────────────────────────┘ ↓ INSERT INTO tbl_SecureStorage (StreamName, DataBlob, DataHash, RecordCount) VALUES ('ITEMS', [Binary], '5A5A7B3C-000002D4', 1) ↓ ┌─────────────────────────────────────────────────────┐ │ ✓ البيانات محفوظة على القرص! │ └─────────────────────────────────────────────────────┘ 📊 المقارنة التفصيلية نظام Access التقليدي: البيانات الأصلية: ItemID = 1 ItemName = "أرز" Price = 50 ↓↓↓ تُحفظ مباشرة في الجدول ↓↓↓ tbl_Items ┌────────┬──────────┬───────┐ │ ItemID │ ItemName │ Price │ ├────────┼──────────┼───────┤ │ 1 │ أرز │ 50 │ ← مرئي ومقروء! └────────┴──────────┴───────┘ ✗ أي شخص يفتح الجدول يرى البيانات ✗ يمكن ربطه من Excel/Access آخر ✗ يمكن كشفه عبر MSysObjects نظامك الثوري: البيانات الأصلية: ItemID = 1 ItemName = "أرز" Price = 50 ↓↓↓ سلسلة معالجات معقدة ↓↓↓ XML → Bytes → Encrypted → Header → Hash ↓↓↓ النتيجة النهائية ↓↓↓ tbl_SecureStorage ┌────────────┬─────────────────────────────────┐ │ StreamName │ DataBlob │ ├────────────┼─────────────────────────────────┤ │ ITEMS │ 57 48 52 53 32 30 32 35 00 ... │ │ │ ← Binary مشفر غير مفهوم! │ └────────────┴─────────────────────────────────┘ ✓ لا يمكن قراءة البيانات بالعين ✓ لا يمكن ربطه من برامج أخرى ✓ لا يظهر في MSysObjects كجدول حقيقي ✓ يحتاج الكود الخاص لفك التشفير 🔍 دعنا نفتح الـ DataBlob ونرى ما بداخله! كود لعرض أول 100 بايت: vba Public Sub ShowBlobContent() Dim db As DAO.Database Dim rs As DAO.Recordset Dim blob() As Byte Dim i As Integer Dim output As String Set db = CurrentDb Set rs = db.OpenRecordset("SELECT DataBlob FROM tbl_SecureStorage WHERE StreamName = 'ITEMS'") If Not rs.EOF Then blob = rs!DataBlob.Value Debug.Print "========== محتوى DataBlob (أول 100 بايت) ==========" Debug.Print "" output = "" For i = 0 To 99 If i <= UBound(blob) Then output = output & Right("00" & Hex(blob(i)), 2) & " " If (i + 1) Mod 16 = 0 Then Debug.Print output output = "" End If End If Next i Debug.Print "" Debug.Print "إجمالي الحجم: " & (UBound(blob) + 1) & " بايت" End If rs.Close End Sub النتيجة ستكون شيء مثل: ========== محتوى DataBlob (أول 100 بايت) ========== 57 48 52 53 32 30 32 35 00 00 02 D4 49 54 45 4D 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B3 F2 A1 9C 8D 7E 3C 2F D8 91 4A 6B 73 29 8F A2 C4 E7 5D 38 9A 2C 7F B1 ... إجمالي الحجم: 1,234 بايت التفسير: 57 48 52 53 32 30 32 35 = "WRHS2025" (Magic Signature) 00 00 02 D4 = الطول (724 بايت) نموذج تخزين آمن جديد لبرنامج مايكروسوفت أكسس: بنية بيانات مشفرة قائمة على التدفق (تصميم 2025) مقدمة يُخزّن مايكروسوفت أكسس البيانات تقليديًا في جداول علائقية، مما يُسهّل عرض المعلومات، والاستعلام عنها، وتصديرها، أو ربطها بتطبيقات خارجية. على الرغم من فائدة هذا في العديد من سيناريوهات الأعمال، إلا أنه يُشكّل أيضًا قيدًا أمنيًا كبيرًا: يمكن لأي شخص لديه نسخة من أكسس فتح الجداول ورؤية جميع البيانات. حتى عند استخدام ACCDE، أو كلمات مرور قواعد البيانات المشفرة، أو الاستعلامات المُبهمة، تظل بيانات الجدول الخام مرئية. لمعالجة هذه المشكلة التصميمية الأساسية، قمتُ ببناء نموذج تخزين مشفر قائم على التدفق، يستبدل الجداول التقليدية بحاوية ثنائية واحدة. هذه ليست طريقة تقليدية لإخفاء الجداول. هذا نقلة نوعية في البنية. 🔐 كيفية تخزين النظام للبيانات (نظرة عامة شاملة) بدلاً من كتابة السجلات في جداول Access العادية، يُجري النظام الخطوات التالية: تُجمع البيانات في الذاكرة باستخدام مجموعة سجلات ADODB/DAO. تُسلسل مجموعة السجلات إلى XML. يُحوّل XML إلى مصفوفة بايت. تُشفّر مصفوفة البايت (XOR أو AES-256). يُضاف رأس ثنائي مُخصّص: التوقيع (WRHS2025) عدد السجلات اسم التدفق (مثل: ITEMS) طول الحمولة يُنشأ تجزئة بيانات للكشف عن أي تلاعب. يتم تخزين كل شيء داخل جدول واحد: tbl_SecureStorage ------------------------- StreamName (نص) DataBlob (ثنائي طويل) DataHash (نص) RecordCount (طويل) يبدو شكل DataBlob النموذجي كما يلي: 57 48 52 53 32 30 32 35 00 00 02 D4 49 54 45 4D ... WRHS2025 ...... ITEMS ... [البايتات المشفرة] هذه الكتلة الثنائية غير قابلة للقراءة، وغير علائقية، ويستحيل تفسيرها بدون شفرة فك التشفير المدمجة في واجهة ACCDE الأمامية. عند تحميل قاعدة البيانات: قراءة الكتلة ← التحقق من الترويسة ← فك التشفير ← إلغاء تسلسل XML ← التحميل في الذاكرة لا يتم تخزين أي بيانات في الجداول العادية. ⭐ فوائد هذه البنية 1) بيانات غير مرئية لا شيء في قاعدة البيانات قابل للقراءة من قبل البشر. تحتوي الجداول على تدفقات ثنائية مشفرة فقط. 2) انعدام قابلية الربط لا يمكن لـ Excel أو PowerBI أو أي ملف Access آخر أو حتى اتصالات DAO المباشرة "رؤية" أي بيانات ذات معنى. 3) استحالة الاستكشاف عبر MSysObjects الجداول التقليدية غير موجودة؛ يوجد فقط جدول حاوية واحد. 4) فصل واجهة المستخدم عن التخزين تعمل النماذج على مجموعات سجلات في الذاكرة، مما يوفر مرونة عالية. 5) حماية النزاهة يحمل كل تدفق تجزئة للكشف عن التعديلات غير المصرح بها. 6) بنية محمولة ومكتفية ذاتيًا مجموعة البيانات بأكملها عبارة عن كائن مشفر واحد - يسهل نسخه احتياطيًا أو نقله أو التحكم في إصداراته. ❗ الرد على الانتقادات الشائعة فيما يلي الاعتراضات الرئيسية التي أتوقعها من مطوري قواعد البيانات التقليدية، بالإضافة إلى ردود تقنية واضحة. **النقد الأول: "استخدام حقول OLE/المرفقات سيؤدي إلى نمو قاعدة البيانات بسرعة."** الرد: لا يستخدم النظام حقول كائنات OLE أو حقول مرفقات Access. يستخدم: LongBinary (BLOB) هذا حقل ثنائي خام يُقارن بـ: SQL Server VARBINARY(MAX) MySQL LONGBLOB PostgreSQL BYTEA لا يُعاني حقل ثنائي واحد معتم من نفس سلوك الانتفاخ الذي يُعاني منه تضمين OLE. يمكن أيضًا تطبيق الضغط قبل التشفير، مما يُجنّب تجزئة التدفق. يظل نمو قاعدة البيانات متوقعًا ومستقرًا. **النقد الثاني: "هذا يُلغي البنية العلائقية والقيود والتطبيع."** الرد: صحيح - وهذا مقصود. البنية العلائقية ممتازة عندما: تحتاج البيانات إلى استعلام، تصل أنظمة متعددة إلى قاعدة البيانات، يمنع التطبيع التكرار. ومع ذلك، بالنسبة للأرشفة المشفرة، أو أنظمة الجرد غير المتصلة بالإنترنت، أو التطبيقات المقاومة للتلاعب، فإن النموذج العلائقي يكشف الكثير: يمكن للمستخدمين فتح الجداول، التحايل على منطق التحقق، الربط من قاعدة بيانات Access أخرى، أو تعديل القيم الخام مباشرةً. تتخذ هذه البنية نهجًا معاكسًا: يتم فرض سلامة البيانات من خلال كود التسلسل المُتحكم به، وليس من خلال قيود جدول Access. يحدث التحقق: داخل منطق التطبيق، أثناء التسلسل/إلغاء التسلسل، ومن خلال التحقق من التجزئة. يعكس هذا البنية المستخدمة في: قواعد بيانات SQLite المشفرة، تخزين تطبيقات الأجهزة المحمولة (Realm، Room، CoreData)، التنسيقات الثنائية المخصصة في محركات الألعاب. في العديد من الأنظمة الحديثة، تُعدّ سلامة التطبيقات المُدارة هي المعيار - وليس سلامة الجداول المُدارة. 📌 الخلاصة هذا النموذج ليس مُصممًا ليحل محل قواعد البيانات العلائقية للتحليلات أو العمليات كثيفة الاستخدام متعددة المستخدمين. مُصمم لـ: تطبيقات Access الآمنة، أدوات المستخدم الفردي أو الفرق الصغيرة، عمليات النشر التي لا يجب أن يرى فيها المستخدم النهائي البيانات الخام أو يُعالجها، البيئات التي يجب أن يتصرف فيها ACCDE كتطبيق مُغلق. إذا كان الهدف هو عتامة البيانات المطلقة، فلا يُمكن لجداول Access التقليدية توفيرها. يمكن لبنية مخصصة مُشفرة قائمة على التدفق أن تُحقق ذلك. savedatanewview.accdb
  15. قمت بتجربة الحل من الذكاء الصناعي ووصلت الى مرحلة عند فتح IMMEDIATE WINDOWS وكتابة TestCompleteSystem ========== بدء الاختبار ========== 1. إنشاء مدير المواد... ? تم تحميل المواد بنجاح عدد المواد: 0 2. إضافة مواد جديدة... ? تمت إضافة: أرز - ID: 1 ? تمت إضافة: سكر - ID: 2 3. حفظ المواد... 4. إنشاء مدير الحركات... ? تم تحميل الحركات بنجاح 5. إضافة حركات إدخال... ? إدخال 100 وحدة أرز - ID: 1 ? إدخال 50 وحدة سكر - ID: 2 6. إضافة حركات إخراج... ? إخراج 20 وحدة أرز - ID: 3 7. حفظ التغييرات... 8. المخزون الحالي: - أرز: 80 كيس - سكر: 50 كيس ========== انتهى الاختبار بنجاح! ========== اكن عند تنفيذ الامر يخرج كثير من الرسائل ERROR SAVING STREAM OVERLOW ورسالة هل تريد حفظ التغيرات واعطيه نعم لكن عند طلب عدد المواد والحركات يعطيني صفر المشكلة أثناء محاولة إضافة البيانات الجديدة، يحدث خطأ Overflow. لكن لضيق الوقت لدي لم اكمل لعله غدا ان شاء الله او احد من الاخوة يكمل ويسال الذكاء الصناعي عن الحل اليكم التجربة Database1.accdb
×
×
  • اضف...

Important Information