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

أكسس + ديلفي

مغلق
بدأه PLANSHARP في 10 نوفمبر 2002 · 8 رد · 1,089 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

إلى جميع الإخوة الكرام

الرجاء مساعدتي في معرفة ربط قاعدة بيانات أكسس مع

واجهات ديلفي ولكم جزيل الشكر.

أخوكم PLANSHARP@hotmail.com

#2

السلام عليكم

أخي العزيز

هل من الممكن ان توضح نسخة دلفي المستخدمة؟ بالاضافة الى اي ملف اكسس سوف تستخدم 97 او 2000؟

لان ذلك سوف يعتمد على التقنية المستخدمة BDE or ADO

لا تحزن:

إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.

لا تحزن:

فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.

#3

:cool: :cool: :cool:

يمكن ذلك من خلال عدة طرق منها

- ستخدام أدوات ADO .

- تكوين اسم مستعار عن طريق ODBC .

- تكوين اسم مستعار عن طريق BDE .

والأخيرة الأسهل وخاصة في ربطها على شبكة

فيكفي فقط اضافة ALIAS جديد ولكن بدلا من STANDARED نختار MSACCESS ثم نحدد المسار الموجود به قاعدة البيانات

ثم نشتغل وكأننا نشتغل على بارادوكس

:'( :'( :'( :cool: :cool: :cool:

(f) (f) (f)

#5

أخي إسم نسخة الديلفي هي الديلفي 6.0

و الأكسس 2000

و أريد أيضاً أن أعرف م الفرق و لماذا

#6

لم يسعفني الوقت للبحث عن هذا المقال ووضع رابط هنا ولكني محتفظ به وهو للأخ محمد نمسان ولا أذكر اسم المنتدى الأصل الآن

////////////////////////////////////////////////////////////////////////////

قد وعدتك من فترة ان اكتب لك طريقة لربط دلفي مع اكسس وعمل مثال على Master/detail وهذه الطريقة لا يلزم فيها اي سطر من الكود وهي كالتالي:

هناك عدة طرق لربط قواعد البيانات يوفرها دلفي مثل : BDE, ADO, ODBC، سوف اشرح المثال هذا بإستخدام ADO لعدة أسباب منها: انها التقنية الأحدث والأسرع في الطرق السابقة، بالاضافة الى عدم احتياج البرنامج عن استخدام هذه الطريقة الى ملفات Borland Database Engine وهذا سوف يقلل من حجم البرنامج ويجعل البرنامج يعمل دون الحاجة الى ملفات ربط خاصة، بالاضافة الى دعمها لنسخ اكسس حتى اكسس 2002 او المعروف ب Access XP، لكن حتى تستطيع استخدام هذه التقنية لابد من توفر نسخة دلفي 5 على الاقل وفي هذا المثال سوف استخدم دلفي 5 ولكن يمكن تطبيق نفس الكلام على دلفي 6.

بداية يلزمنا لهذا المثال المبسط استخدام جدولين ADOConnection وهو موجود مع مجموعة مكونات ADO

بعد اضافة المكون الى الفورم نغير خصائصه كالتالي:

ConnectionString: هذه الخاصية خاصة بتحديد قاعدة البيانات المستخدمة وعندما نعلم على هذه الخاصية في Object inspector سوف نشاهد زر صغير بجانبها عند الضغط عليه سوف يفتح لنا نافذة بها Source of Connection ويوجد بها خيارين Use data link file والثاني Use connection string نختار الخيار الثاني ثم نضغط على زر Build سوف تظهر لنا نافذة جديدة اسمها Data Link properties في القسم الاول منها Provider سوف نحدد نوع المزود اللازم لنوع قاعدة البيانات وبما اننا نستخدم اكسس سوف نختار Microsoft jet 4.0 OLE DB Provider ثم نضغط على زر Next

سوف نرى القسم الثاني وهو Connection في صندوق النص الاول نحدد به قاعدة البيانات وسوف اختار قاعدة بيانات تأتي مع دلفي واسمها dbdemos.mdb وتوجد في هذا الدليل

C:Program FilesBorlandBorland SharedDatadbdemos.mdb

هناك مربعين خيارات نضع علامة صح على الاثنين وهما Blank password و allow saving password ثم نضغط على زر Test connection وفي حالة عدم وجود اي مشكلة سوف يعطينا رسالة تفيد ان الاتصال مع القاعدة تم بشكل صحيح

نضغط على زر اوكي في هذه النافذة ثم في النافذة الاخرى ثم علينا تغير خاصية Connected الى True وفي حالة طلبه لكلمة سر اتركها فارغة و اضغط زر اوكي ثم نغير خاصية Login prompet الى False

وهكذا نكون اكملنا الخطوة الاولى وهي عمل اتصال مع قاعدة البيانات

يلزمنا الان جدولين ADOTables وسوف نضيفه من مجموعة مكونات ADO نغير خصائص الجدول الاول حسب التالي

Connection : Adoconnection1

TableName : Customer

Active : True

وخصائص الجدول الثاني

Connection : Adoconnection1

TableName : Orders

Active : True

الان لدينا اتصال مع قاعدة البيانات والجدولين الذين نريد استخدامهم محددين سوف نستخدم DBGrid لعرض البيانات وهي بشكل جدول او Sheet مثل اكسل ويمكن اضافتها من DataContorls

ولكن لا يمكننا ربطها مباشرة مع الجدول وحتى يتم ربط اي مكون من مكونات قواعد البيانات مع مكون الجدول يلزمنا Datasource نضيف اثنين منهم من مجموعة مكونات Data Access ونغير خاصية dataset الخاصة ب DataSource1 الى ADOTable1 وكذلك بالنسبة للثانية نغير خاصية Dataset الى ADOTable2

والان نرجع الى DBGrids ونغير خصاصية Datasource في كل منهم الى التالي

DBGrid1 > Datasource : Datasource1

DBGrid2 > Datasource : Datasource2

وهكذا سوف نشاهد البيانات قد عرضت لدينا ولكن حتى الان لم نحدد العلاقة التي بينهم ولذلك سوف يكونو منفصلين عن بعضهم، ولنحدد علاقة master/detail بينهم نعمل التالي

نعلم على الجدول الثاني ونغير خاصية Mastersource الى Datasource1 ثم الان سوف نحدد الحقل الذي سوف نبني عليه العلاقة من خلال خاصية MasterField وعن الضغط على هذه الخاصية سوف نشاهد نافذة Field Link علينا اختيار حقل CustNo من الجهتين ثم نضغط زر ADD ثم Ok وهكذا نكون قد بنينا علاقة Master/Detail مع بعض لنشغل الان هذا المثال لنخبتر عمله وسوف نشاهد اثناء التشغيل ان في حالة اختيار اي سجل من DBGrid1 سوف نشاهد DBGrid2 يعرض السجلات التي لها علاقة فقط وليس كل بيانات الجدول الثاني

وبهذا نكون انهينا هذا المثال

أرجو ان اكون بسطت لك الطريقة،

محمد نسمان

#7

شكراً جزيلاً أخي أبو محمد

سأجربها وبعد ذلك أخبرك بما سيحصل

شكراً

PLANSHARP@hotmail.com

#8

بسم الله الرحمن الرحيم

الحمد لله على هؤلاء الإخوة الطيبين

شكراً جزيلاً لكم

فالطريقة ناجحة مئة بالمئة

أكرر شكري لجميع من شاركوا و أعطوا طرقهم

و لمن يريد أن يزيد اكثر في المعلومات

فأنا أنتظر

لأنه يوجد الكثير من الملاحظات عن قواعد البيانات

شكراً لكم

أخوكم PLANSHARP@hotmail.com

#9

ما شاء الله عليك اخ أبومحمد، انت فاكر الاشياء اكتر مني :)

ما كتبته سابقا موجود في المنتدى www.kdtools.net وهو توقف فترة لكن عاد للعمل

بما انك تعمل على اكسس 2000 فأنا افضل استخدام ADO لان BDE لا تدعم اكثر من اكسس 97، والطريقة السابقة تشرح كل شي

والسلام

لا تحزن:

إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.

لا تحزن:

فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.

هذا الموضوع مغلق.

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