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

الردود الموصى بها

قام بنشر (معدل)

السلام عليكم جميعا..

لا يخفى على شريف علمكم أهمية المكتبات المرجعة في تطوير وتحسين قواعد بيانات أكسس، ومن المستحيل جداً أن تجد قاعدة بيانات بدون مكتبة مرجعة ما؛ سواءً كانت افتراضية أو مضافة من قبل المطور. ..

لكن ما أعتقد أن بعضنا يجهله هو ما هية تلك المكتبات وكيفية ربطها والاستفادة منها.. 
والمكتبات المرجعية هي عبارة عن وظائف عامة Public Functions قائمة بذاتها أو مدرجة ضمن أصناف Classes، تم برمجتها لتستخدم على نطاق واسع.

يمكن الوصول إلى المكتبات المتوفرة في ويندوز عن طريق مربع الحوار الخاص بإضافة المكتبات، أو عن طريق الشفرة عبر الإعلان عن متغير من نوع References، وما يميز هذا  الأخير هو أنه يمكنك من تحديد مسار المكتبة وفحصه برمجيا؛ وبالتالي تصيد الخطأ ومعالجة.. 

 

<< من الخطأ الشائع اعتقاد البعض أن ملفات المكتبات المرجعية يجب أن تكون ضمن مجلد نظام ويندوز System32 Folder! وهذا غير صحيح.. لكن ويندوز يقوم بوضعها هناك أفتراضياً؛ لسهولة الوصول والمشاركة بين التطبيقات، ولتقليل تكرار الملفات وخفض مساحة التخزين >>

 

>> أكسس مكتبة مرجعية..
> عند إضافة قاعدة بيانات أكسس كمكتبة مرجعية يقوم أكسس << بدمج >> قاعدة البيانات الرئيسية بقاعدة البيانات المرجع لتصبح قاعدة بيانات واحدة..
> يمكن إضافة قاعدة بيانات أكسس كمكتبة مرجعية بجميع إمتدادتها المعروفة (mda,mdb,mde;accda,accdb,accde).
> يمكن أيضاً أن تحتوي قاعدة البيانات على نماذج، تقارير، وحدات نمطية..
> يمكن تشغيل النماذج والتقارير بعد تغليفها بوظائف عامة.

 

** تجربة المثال..
* قمت بإنشاء قاعدة بيانات خالية من كل شيء إلا من ميكرو الإقلاع Autoexec، ووظيفة معززة للإقلاع تحتوي هي أيضا على وظيفة تقوم بفتح نموذج يحتوي على قائمة سرد بها أسماء النماذج في قاعدة بيانات المرجع.
* قاعدة بيانات المرجع هي NorthWind 2007
* أضفت في هذه القاعدة وحدة نمطية أنشأت بها بعض الوظائف ومنها وظيفة إقلاع النموذج الذي سبق الإشارة إليه..

إليكم المثال

Adding DataBase As Reference.zip

تم تعديل بواسطه أبو إبراهيم الغامدي
اعادة تنسيق
  • Like 4
قام بنشر

موضوع كبير من استاذ كبير ويحتاج الى تبسيط لفهمه .. حسب فهمي المتواضع انني استعمل المكتبات في حال تم استخدام ميزة غير متوفرة في الاكسس لكن ماتفضلت به هو انك استخدمت  NorthWind 2007 كمرجع لفتح نموذج يحتوي على قائمة سرد بها اسماء النماذج في قاعدة  NorthWind 2007
 طيب جميل جداً .. لكن كيف استفيد من هذه الطريقة في حال استخدمت قاعدة بيانات غير  NorthWind 2007؟؟ ارجو عمل مثال بسيط يوضح هذه العملية وكيفية الاستفادة من عمل القاعدة كمرجع ولماذا تكون افضل من عملية استيراد النماذج من قاعدة المرجع .. هذا هو مايهم استاذي العزيز

 

وشكراً مقدماً لما تقدمه من ابداع

 

تحياتي

قام بنشر

ماشاء الله 

بداية الغيث قطره

ولكن هناك شي وقف امامي في هذ النقطة عندما اتى الاصدار 32 بت و 64 بت ومع الاصدار 2010

فلا يقبل احدهما الاخر وخصوصا بعد التحويل الى accde او كان mde

حبيت اطرح تجرتي في ذلك ولكم اجمل تحية

قام بنشر
8 ساعات مضت, sandanet said:

لكن كيف استفيد من هذه الطريقة في حال استخدمت قاعدة بيانات غير  NorthWind 2007

كانت Northwind مثالا فقط، ضع أي قاعدة بيانات تريد وبقدر ما تشاء..

الجميل هنا أنه بإمكانك دمج أكثر من قاعدة بيانات واحدة لتعمل جميعها وبشكل مدمج في قاعدة بيانات واحدة...

 

8 ساعات مضت, رمهان said:

لكن هناك شي وقف امامي في هذ النقطة عندما اتى الاصدار 32 بت و 64 بت ومع الاصدار 2010

فلا يقبل احدهما الاخر وخصوصا بعد التحويل الى accde او كان mde

في الحقيقة لم أجرب ذلك.. لكن لا أعتقد أن لذلك أثر على قاعدة البيانات.. نظم (32،64) لها أثر على بيئة التشغيل فقط. 

  • Like 1
قام بنشر (معدل)

وكيفية الاستفادة من عمل القاعدة كمرجع ولماذا تكون افضل من عملية استيراد النماذج من قاعدة المرجع  ؟

تم تعديل بواسطه sandanet
قام بنشر
2 ساعات مضت, sandanet said:

كيفية الاستفادة من عمل القاعدة كمرجع ولماذا تكون افضل من عملية استيراد النماذج من قاعدة المرجع  ؟

الاستفادة تكون بالتالي..

إمكانية التعديل على النرجع بدون الحاجة إلى الوصول إلى المستخدم في حال كان المرجع على الخادم..

دمج أكثر من قاعدة بيانات لاستخدامها في مكان واحد كأن يكون هناك قاعدة بيانات للمخزون وأخرى للموظفين وأخري للأرشفة.. وهكذا

  • Like 2
قام بنشر
2 ساعات مضت, sandanet said:

وكيفية الاستفادة من عمل القاعدة كمرجع ولماذا تكون افضل من عملية استيراد النماذج من قاعدة المرجع  ؟

السلام عليكم:smile:

 

انا اضيف لك سبب ، بالاضافة الى سبب أخوي أبو إبراهيم:

برنامج مسقط التقارير يُعتبر برنامج قائم بحد ذاته ، و إحمل برامجك داخل قاعدة بياناتك والذي كذلك يُعتبر برنامج قائم بحد ذاته ، اي يمكن استعمالهم بدون عملية الدمج (طبعا برنامج مسقط التقارير يحتاج الي تعديل ليعمل بمفرده (والنسخة التالية ستكون كذلك ان شاء الله) ، ولكن البرنامج الآخر فيمكن ان يعمل بطريقة مستقله) ،

انت لست بحاجة الى نقل الكائنات الى برنامجك ، فالبرنامج يستطيع ان يقوم بالعمل وهو برنامج مستقل ، بمجرد ان تناديه برمجيا ،

ولكن انظر المشكلة التي صادفة omarahmed1424 لما اراد دمج البرنامج في برنامجه:

ولاحظ جوابي عليه:

اقتباس

رجاء استيراد جميع الكائنات من برنامجي الى برنامجك ، بإستثناء الوحدتين النمطيتين:

API_FolderDialog

و

basOpenSaveDialog

لأنهم موجودين في برنامجك ، ولكن بمسميات مختلفة :rol:

 

جعفر

  • Like 1
قام بنشر
40 دقائق مضت, jjafferr said:

رنامج مسقط التقارير يُعتبر برنامج قائم بحد ذاته ، و إحمل برامجك داخل قاعدة بياناتك والذي كذلك يُعتبر برنامج قائم بحد ذاته ، اي يمكن استعمالهم بدون عملية الدمج (طبعا برنامج مسقط التقارير يحتاج الي تعديل ليعمل بمفرده (والنسخة التالية ستكون كذلك ان شاء الله) ، ولكن البرنامج الآخر فيمكن ان يعمل بطريقة مستقله) ،

للأسف لم اتشرف بالاطلاع على هذه المشاركة إلا الآن... فاتني الكثير!

  • Like 2
قام بنشر
6 ساعات مضت, jjafferr said:

السلام عليكم:smile:

 

انا اضيف لك سبب ، بالاضافة الى سبب أخوي أبو إبراهيم:

برنامج مسقط التقارير يُعتبر برنامج قائم بحد ذاته ، و إحمل برامجك داخل قاعدة بياناتك والذي كذلك يُعتبر برنامج قائم بحد ذاته ، اي يمكن استعمالهم بدون عملية الدمج (طبعا برنامج مسقط التقارير يحتاج الي تعديل ليعمل بمفرده (والنسخة التالية ستكون كذلك ان شاء الله) ، ولكن البرنامج الآخر فيمكن ان يعمل بطريقة مستقله) ،

انت لست بحاجة الى نقل الكائنات الى برنامجك ، فالبرنامج يستطيع ان يقوم بالعمل وهو برنامج مستقل ، بمجرد ان تناديه برمجيا ،

ولكن انظر المشكلة التي صادفة omarahmed1424 لما اراد دمج البرنامج في برنامجه:

ولاحظ جوابي عليه:

 

 

 

5 ساعات مضت, أبو إبراهيم الغامدي said:

للأسف لم اتشرف بالاطلاع على هذه المشاركة إلا الآن... فاتني الكثير!

الان فهمت الفكرة .. جميلة جداً .. ولو اني اشعر بنفس شعور استاذي ابو ابراهيم بخصوص النقاش في موضوعك استاذ جعفر

قام بنشر

جزاكم  الله خيرا

هكذا الموضوعات الكبار لا تأتى الا من الأكابر

(أفضل شيء لما يكون موضوع كبير ومش فاهم حاجة تسيب الكبار يتكلمو مع بعض وانت تسكت وتهز رأسك :biggrin: )

استمر أستاذنا @أبو إبراهيم الغامدي ولا يضرك من هز رأسه :wink2:

 

  • Like 1
قام بنشر
19 دقائق مضت, أبو عبدالله الحلوانى said:

جزاكم  الله خيرا

هكذا الموضوعات الكبار لا تأتى الا من الأكابر

(أفضل شيء لما يكون موضوع كبير ومش فاهم حاجة تسيب الكبار يتكلمو مع بعض وانت تسكت وتهز رأسك :biggrin: )

استمر أستاذنا @أبو إبراهيم الغامدي ولا يضرك من هز رأسه :wink2:

 

هههههههههههههههههه 

  • Like 1
قام بنشر

السلام عليكم

اذا سمحتم لي ببعض الاسئلة في هذا الخصوص

1- هل يمكن ان تكون القاعدة المضافة كمرجع هي قاعدة بيانات التي تحتوي الجداول ويمكن الاضافة على الجداول من خلال نموذج في القاعدة المضاف لها ؟

2- ما الوضع في حال كانت قاعدة البيانات المضافة محمية بكلمة مرور

3- كيف يمكن اضافة والغاء الاضافة قاعدة بيانات المرجع برمجيا في حال اردت استبدال الاضافة بقاعدة اخرى

 

  • Like 1
قام بنشر (معدل)

وعليكم السلام  @عبد الله قدور

4 ساعات مضت, عبد الله قدور said:

هل يمكن ان تكون القاعدة المضافة كمرجع هي قاعدة بيانات التي تحتوي الجداول ويمكن الاضافة على الجداول من خلال نموذج في القاعدة المضاف لها ؟

نعم بالإمكان.. والقاعدة التي أرقتها بالمثال تتضمن جداول

4 ساعات مضت, عبد الله قدور said:

ما الوضع في حال كانت قاعدة البيانات المضافة محمية بكلمة مرور

إذا كانت الحماية على مستوى قاعدة البيانات فإن أكسس يحثك على إدخالها.. أما إذا كانت على مستوى محرر الشفرة فإن أكسس يتجاهلها!

4 ساعات مضت, عبد الله قدور said:

كيف يمكن اضافة والغاء الاضافة قاعدة بيانات المرجع برمجيا في حال اردت استبدال الاضافة بقاعدة اخرى

الشفرة التاليه هي أخصر شفرة للإضافة والحذف.. الأولى للإضافة والثانية للحذف

Public Sub addRef()
  On Error Resume Next
  Application.VBE.ActiveVBProject.References.AddFromFile "C:\Program Files\Microsoft Office\Office11\MSO11.DLL"
End Sub

Public Sub removeRef()
  Dim ref As Object
  On Error Resume Next
  Set ref = Application.VBE.ActiveVBProject.References("Office")
  Application.VBE.ActiveVBProject.References.Remove ref
End Sub

 

تم تعديل بواسطه أبو إبراهيم الغامدي
  • Like 1
  • 2 weeks later...
قام بنشر
في 4/27/2017 at 10:45, أبو إبراهيم الغامدي said:

في الحقيقة لم أجرب ذلك.. لكن لا أعتقد أن لذلك أثر على قاعدة البيانات.. نظم (32،64) لها أثر على بيئة التشغيل فقط. 

كيف اعرف انه 32 بت او 64 بت استاذ ابو ابراهيم ؟

قام بنشر
1 ساعه مضت, رمهان said:

كيف اعرف انه 32 بت او 64 بت استاذ ابو ابراهيم ؟

أستاذ رمهان.. برجاء قراءة هذين المقالين

64-bit editions of Office 2013

64-Bit Visual Basic for Applications Overview

 

 

قام بنشر
في 4/27/2017 at 12:39, sandanet said:

وكيفية الاستفادة من عمل القاعدة كمرجع ولماذا تكون افضل من عملية استيراد النماذج من قاعدة المرجع  ؟

السلام عليكم:smile:

 

لازلت على بالي اخي أوس:smile:

واليك أحد البرامج التي نستعملها في الاكسس ، والتي تستعمل برنامج خارجي للقيام بالعمل ، فتتبع معي الصور من برنامج اخذته من مشاركة احد مواضيع المنتدى:

1. لاحظ انواع الكود الموجود

00.z_0025.jpg.2ee1c43dcf9431abef187cfa9e4b2503.jpg

.

استخدم wizard لعمل نموذج او تقرير او استعلام ، وقبل ان تنهي العمل ، تستطيع ان تلغيه

00.z_0026.jpg.c4200e13739d18f66e7a0910cba3cfc1.jpg

.

ارجع الى الكود ، وسترى ان الكود اضاف معلومات عن نماذج ووحدات نمطية و class

00.z_0027.jpg.89bbadb66a773d27d6dc0725df514ae7.jpg

.

ولن تستطيع رؤية شيء فيها ، لأنها برامج الاكسس التاليه (انا استخدم اكسس 2010 ، فهي موجودة في المجلد التالي في كمبيوتري) المقفولة:

00.z_0028.jpg.88761300c229e2f7064332a1623a8955.jpg

.

جعفر 

قام بنشر

وكذلك ملاحظة اخرى:

 

جعفر

 

 

 

19 دقائق مضت, محمد ايمن said:

لماذا لا تنشئ ملفات Dll و تستخدمها كمرجع عوضا عن استخدام الاكسس

انا شخصيا لا افهم شيء عن عمل ملفات DLL ، ولكني اعرف الاكسس:smile:

قام بنشر (معدل)
5 دقائق مضت, jjafferr said:

انا شخصيا لا افهم شيء عن عمل ملفات DLL

سامحك الله يا استاذ جعفر

باختصار لنفرض لديك وحدة نمطية تحتوي على عدة اكواد ووظائف

تقوم بتحويل الوحدة النمطية الى ملف Dll ثم تستورده كمرجع الى الاكسس

 

تم تعديل بواسطه محمد ايمن
  • Like 1
قام بنشر
في 5/10/2017 at 02:08, أبو إبراهيم الغامدي said:

أستاذ رمهان.. برجاء قراءة هذين المقالين

64-bit editions of Office 2013

64-Bit Visual Basic for Applications Overview

 

 

شكرا استاذ ابو ابراهيم

الحقيقة انا طرحت السؤال لاحدد ماذا يقصد ابو ابراهيم هنا

في 4/27/2017 at 10:45, أبو إبراهيم الغامدي said:

في الحقيقة لم أجرب ذلك.. لكن لا أعتقد أن لذلك أثر على قاعدة البيانات.. نظم (32،64) لها أثر على بيئة التشغيل فقط. 

وهنا اتضح لي ان فصدك اصدار الاوفيس وليس الويندوز

فهنا اسمح لي اوضح المشكلة اكثر

لما اتى الاوفيس 2010 باصداريه 32 و 64 وما بعد لم يعد ان تعمل ال accde  المنشاه من الاصدار على الاخر

وهنا لما تكون المرجع محول من 32 بت صعب الامر جدا ان تقوم بتحويل ملف المرجع كل مره لتسلم عميل لديه الاصدار الاخر

وهنا استبعدت الطريقه لما سببت من مشاكل وهدر وقت 

تقبل تحياتي

قام بنشر

استاذي الكبير @jjafferr فهمت جيداً فائدة استخدام قواعد بيانات الاكسس كمرجع وتبين لي ان الفكرة ببساطة تشبه فكرة ربط الواجهات الأمامية مع القاعدة الخلفية التي تحتوي على جداول القاعدة غير ان هذا الموضوع يتطرق الى استخدام النماذج والتقارير ايضاً (في حال احتوت القاعدة الخلفية عليها) فالقاعدة الخلفية ان احتوت على النماذج والتقارير فسوف تعمل كبرنامج مستقل ويتم استدعائها  في القاعدة الامامية .. لكني في الحقيقة لم اجرب بعد استخدام هذا الاسلوب بسبب انشغالي بفرمتة الجهاز واسترجاع الملفات التي فقدتها .. لكن ان شاء الله لي عودة لهذا الموضوع لاحقاً

  • Like 1
قام بنشر
47 دقائق مضت, sandanet said:

بسبب انشغالي بفرمتة الجهاز واسترجاع الملفات التي فقدتها

اخبرني الموديل ، وبنعمل لك برنامج يسترجع الملفات اللي تحب ،

بس لوسمحت اعطنا تفصيل كامل عن الموديل ونوع الاستخدام :wink2:

 

الله ان شاء الله يسهل عليك في مصابك:biggrin:

 

جعفر

قام بنشر (معدل)

استفسار أستاذ جعفر @jjafferr ماذا تقصد ب

 

 

47 دقائق مضت, jjafferr said:

اخبرني الموديل ، وبنعمل لك برنامج يسترجع الملفات اللي تحب ،

 

ماهو  الموديل؟؟ وما مقصدك بكلمة بنعمل ليك برنامج ؟؟ مانوع هذا البرنامج هل هو بالفجوال بيسك ؟؟ ام مثلا #C ؟

تم تعديل بواسطه Amr Ashraf
  • Like 1
قام بنشر
16 دقائق مضت, Amr Ashraf said:

استفسار أستاذ جعفر @jjafferr ماذا تقصد ب

ماهو  الموديل؟؟ وما مقصدك بكلمة بنعمل ليك برنامج ؟؟ 

العفو أخي عمرو ، كنت بهزّر مع اخونا أوس:biggrin:

وهذه طريقتي في طلب معلومات في مشاركاتي لفهم الموضوع ومعرفة المشكلة:smile:

 

جعفر

  • Like 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information