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

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

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

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

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

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

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

 

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

 

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

 

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

إليكم المثال

Adding DataBase As Reference.zipFetching info...

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

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

 

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

 

تحياتي

قام بنشر

ماشاء الله 

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

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

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

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

قام بنشر
  في 26‏/4‏/2017 at 23:10, sandanet said:

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

Expand  

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

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

 

  في 26‏/4‏/2017 at 23:27, رمهان said:

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

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

Expand  

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

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

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

تم تعديل بواسطه sandanet
قام بنشر
  في 27‏/4‏/2017 at 08:39, sandanet said:

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

Expand  

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

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

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

  • Like 2
قام بنشر
  في 27‏/4‏/2017 at 08:39, sandanet said:

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

Expand  

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

 

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

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

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

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

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

  اقتباس

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

API_FolderDialog

و

basOpenSaveDialog

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

Expand  

 

جعفر

  • Like 1
قام بنشر
  في 27‏/4‏/2017 at 11:52, jjafferr said:

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

Expand  

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

  • Like 2
قام بنشر
  في 27‏/4‏/2017 at 11:52, jjafferr said:

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

 

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

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

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

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

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

 

 

Expand  

 

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

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

Expand  

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

قام بنشر

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

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

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

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

 

  • Like 1
قام بنشر
  في 27‏/4‏/2017 at 19:55, أبو عبدالله الحلوانى said:

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

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

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

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

 

Expand  

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

  • Like 1
قام بنشر

السلام عليكم

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

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

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

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

 

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

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

  في 28‏/4‏/2017 at 15:45, عبد الله قدور said:

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

Expand  

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

  في 28‏/4‏/2017 at 15:45, عبد الله قدور said:

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

Expand  

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

  في 28‏/4‏/2017 at 15:45, عبد الله قدور said:

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

Expand  

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

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...
قام بنشر
  في 27‏/4‏/2017 at 07:45, أبو إبراهيم الغامدي said:

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

Expand  

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

قام بنشر
  في 9‏/5‏/2017 at 20:52, رمهان said:

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

Expand  

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

64-bit editions of Office 2013

64-Bit Visual Basic for Applications Overview

 

 

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

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

Expand  

السلام عليكم: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

.

جعفر 

قام بنشر

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

 

جعفر

 

 

 

  في 10‏/5‏/2017 at 11:31, محمد ايمن said:

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

Expand  

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

قام بنشر (معدل)
  في 10‏/5‏/2017 at 11:50, jjafferr said:

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

Expand  

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

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

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

 

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

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

64-bit editions of Office 2013

64-Bit Visual Basic for Applications Overview

 

 

Expand  

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

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

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

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

Expand  

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

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

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

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

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

تقبل تحياتي

قام بنشر

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

  • Like 1
قام بنشر
  في 11‏/5‏/2017 at 13:44, sandanet said:

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

Expand  

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

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

 

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

 

جعفر

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

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

 

 

  في 11‏/5‏/2017 at 14:34, jjafferr said:

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

Expand  

 

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

تم تعديل بواسطه Amr Ashraf
  • Like 1
قام بنشر
  في 11‏/5‏/2017 at 15:21, Amr Ashraf said:

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

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

Expand  

العفو أخي عمرو ، كنت بهزّر مع اخونا أوس: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