الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

بدأه محمد أبو عدنان في 1 نوفمبر 2010 · 10 رد · 4,194 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ..

تحية طيبة ..

مرفق تجربة متواضعة الغرض منها :

1- تحديد مسار قاعدة البيانات الحالية.

2- ربط أكثر من قاعدة بيانات آليا من نفس مسار القاعدة الحالية.

3- تحديد مسار قاعدة البيانات المرتبطة.

4- طريقة تقسيم اسم المسار إلى أجزاء وممكن جمعها مرة أخرى لتؤدي غرض برمجي معين .

5- تحديد مسار جدول بعينه .

مرفق الشرح بالكود ولتجربة المثال بدون أي تعديل ، بعد فك الضغط انقل المجلد كم هو الى أي مكان وجرب .

المثال يعمل أيضا على قاعدة بيانات مرتبطة على الشبكة ..

أخوكم أبوعدنان ..

تم تحديث المرفقات بعد اضافة البند - ربط أكثر من قاعدة بيانات آليا من نفس مسار القاعدة الحالية.

Msak_Tab_Link_Inf.rar

تم تعديل هذه المشاركة بواسطة moh samer ali في 2 نوفمبر 2010 في 07:43

2
27169617.gif
#2

سلام اخى الكريم

وشكراً على أفكارك المتميزة

المثال جميل ولكن لى سؤال..

هل يقبل الأكسس فى ربط الجداول المرتبطة Current Path?

أى بمعنى إمكانية الربط التلقائى للجداول المرتبطة بغض النظر عن المسار ولكن مادامت هذه الجداول بجوار ملف التنفيذ (الواجهة)

مثل جملة Connection String المستخدمة فى بيئة الدوت نت ... يتم الربط من خلال Current Path

وشكراً

#3
هانى عوض كتب:

هل يقبل الأكسس فى ربط الجداول المرتبطة Current Path?

أى بمعنى إمكانية الربط التلقائى للجداول المرتبطة بغض النظر عن المسار ولكن مادامت هذه الجداول بجوار ملف التنفيذ (الواجهة)

مثل جملة Connection String المستخدمة فى بيئة الدوت نت ... يتم الربط من خلال Current Path

وشكراً

أهلا أستاذي الكريم هاني ، الصراحة أفضالك كثيرة علي وعلى أهل هذا المنتدى بما اتحفتنا من مشاركات وافكار جميلة وشرف لي مروركم واطرائكم على الموضوع ..

أما السؤال فيمكن ذلك وقد كانت لي محاولة بنفس السؤال ولا أذكر الرابط مع الأخ الفاضل at_azizz وكان بيننا هذا المثال وهو يربط الجداول بشكل آلي بعد أن يبحث عنها بنفس المجلد وفي الكود شرح الطريقة ..

شكرا لمرورك وجزاك الله كل خير ..

تم اضافة المطلوب بالمشاركة الأولى ..

تحياتي ..

azizi-up.rar

تم تعديل هذه المشاركة بواسطة moh samer ali في 1 نوفمبر 2010 في 21:04

27169617.gif
#4

دائما تأتينا بكل ما هو رائع و جميل أستاذنا أبو عدنان

بارك الله فيك و فى مالك و ولدك

لكن ملاحظة بسيطة

حقل ال pass يحتاج ان يكون حجمه اكبر من ذلك لان مسار القاعدة من المحتمل ان يكون اكبر من 50

و ذلك فى الجدول MSys_Pass

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#5

بارك الله بك أخي أبو يوسف وبارك الله بأهلك وصحتك وشكرا لك على هذا التشجيع ، وما هو رائع وجميل هو مشاركاتك وتفاعلك مع الجميع ..

وأعتقد استاذ كبيرة على شوي وأخي أقرب الى القلب :)

ملاحظتك في محلها فيمكن المسار يكون حجمه أكبر من 50 ، شكرا لك ولا نستغني عن ملاحظاتك القيمة ..

تحياتي ..

27169617.gif
#6

بارك الله فيك وجزاك الله خير اخي الفاضل ابو عدنان

موضوع رائع وموفق

وفقك الله ورعاك ونفع بعلمك

احترامي وتقديري

اتق الله حيث ماكنت

#7

شكراً أخى الكريم

فأنا مثلك مدين بالكثير لهذا المنتدى

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

على سبيل المثال (وليس تقليلاً من الأكسيس "فهو أساس عملى.. ووظيفتى..")

الكود التالى طريقة الربط ولكن بـ C#

        public dbCon()
        {
            cnn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+System.Windows.Forms.Application.StartupPath+"\\DatabaseName.mdb;Persist Security Info=False");
            dpt = new OleDbDataAdapter("", cnn);
            cmd.Connection = cnn;
        }

كما زكرت من قبل هذا ليس تقليلاً بإمكانيات الأكسيس

ولكن عملى بلغة السى شارب أعطانى مزيداً من الفهم المنطقى لتنفيذ الأكواد البرمجية بالأكسيس "فهناك تشابة كبير إلى حدما".. وهذا لا يتنافى مع حبى للأكسيس فهو "الحب الأول... "

ملخص الموضوع

الوصول للهدف بأقصر الطرق هو اقرب وأصح للواقع

شكراً على مجهودكم المبذول من أجل رفعة المنتدى ومساعدة الأعضاء

بالتوفيق

#8

الاستاذ الفاضل

مع ان معلوماتى فى السى شارب تعتبر صفر

و لكن واضح من الكود انه يقوم بعمل connection

و هذا موجود بالاكسس و لا يوجد مشكلة

و اذا اردت ربط الجداول بكود بسيط

فهذا ايضا متاح

Dim tdf As DAO.TableDef

   For Each tdf In CurrentDb().TableDefs
        If (tdf.Attributes And dbAttachedTable) = dbAttachedTable Then

            tdf.Connect = ";DATABASE=" & CurrentProject.path & "\data.mdb"
            tdf.RefreshLink
        End If
    Next
2

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#9

الله يبارك فيك أخي هاني وجزاك الله كل خير ..

شكرا على المداخلة أخي أبو يوسف وجزاك الله خير ..

at_aziz كتب:

بارك الله فيك وجزاك الله خير اخي الفاضل ابو عدنان

موضوع رائع وموفق

وفقك الله ورعاك ونفع بعلمك

احترامي وتقديري

اشكرك أخي الفاضل at-aziz على مرورك الكريم وجزاك الله كل خير فأنت صاحب الفكرة بالأصل ..

تحياتي لك ..

تم تعديل هذه المشاركة بواسطة محمد أبو عدنان في 4 نوفمبر 2010 في 11:17

27169617.gif
#10

جزاك الله خيرا أخى ابو عدنان

تمنياتى لك بالتوفيق الدائم

وتستاهل +1000000

أخوك أحمد

#11

الاخ أبو يوسف شكر اللله لك لضيق الوقت لم اجرب الكود ...ولي استفسار ياغالي:

هل يربط لي جميع الجداول اذا كان عندي قاعدة للربط بها اكثر من 40 جدول!!!

مواضيع مشابهة