إلى جميع الإخوة الكرام
الرجاء مساعدتي في معرفة ربط قاعدة بيانات أكسس مع
واجهات ديلفي ولكم جزيل الشكر.
أخوكم PLANSHARP@hotmail.com
إلى جميع الإخوة الكرام
الرجاء مساعدتي في معرفة ربط قاعدة بيانات أكسس مع
واجهات ديلفي ولكم جزيل الشكر.
أخوكم PLANSHARP@hotmail.com
السلام عليكم
أخي العزيز
هل من الممكن ان توضح نسخة دلفي المستخدمة؟ بالاضافة الى اي ملف اكسس سوف تستخدم 97 او 2000؟
لان ذلك سوف يعتمد على التقنية المستخدمة BDE or ADO
لا تحزن:
إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.
لا تحزن:
فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.
:cool: :cool: :cool:
يمكن ذلك من خلال عدة طرق منها
- ستخدام أدوات ADO .
- تكوين اسم مستعار عن طريق ODBC .
- تكوين اسم مستعار عن طريق BDE .
والأخيرة الأسهل وخاصة في ربطها على شبكة
فيكفي فقط اضافة ALIAS جديد ولكن بدلا من STANDARED نختار MSACCESS ثم نحدد المسار الموجود به قاعدة البيانات
ثم نشتغل وكأننا نشتغل على بارادوكس
:'( :'( :'( :cool: :cool: :cool:
(f) (f) (f)
أخي إسم نسخة الديلفي هي الديلفي 6.0
و الأكسس 2000
و أريد أيضاً أن أعرف م الفرق و لماذا
لم يسعفني الوقت للبحث عن هذا المقال ووضع رابط هنا ولكني محتفظ به وهو للأخ محمد نمسان ولا أذكر اسم المنتدى الأصل الآن
////////////////////////////////////////////////////////////////////////////
قد وعدتك من فترة ان اكتب لك طريقة لربط دلفي مع اكسس وعمل مثال على 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 يعرض السجلات التي لها علاقة فقط وليس كل بيانات الجدول الثاني
وبهذا نكون انهينا هذا المثال
أرجو ان اكون بسطت لك الطريقة،
محمد نسمان
بسم الله الرحمن الرحيم
الحمد لله على هؤلاء الإخوة الطيبين
شكراً جزيلاً لكم
فالطريقة ناجحة مئة بالمئة
أكرر شكري لجميع من شاركوا و أعطوا طرقهم
و لمن يريد أن يزيد اكثر في المعلومات
فأنا أنتظر
لأنه يوجد الكثير من الملاحظات عن قواعد البيانات
شكراً لكم
أخوكم PLANSHARP@hotmail.com
ما شاء الله عليك اخ أبومحمد، انت فاكر الاشياء اكتر مني :)
ما كتبته سابقا موجود في المنتدى www.kdtools.net وهو توقف فترة لكن عاد للعمل
بما انك تعمل على اكسس 2000 فأنا افضل استخدام ADO لان BDE لا تدعم اكثر من اكسس 97، والطريقة السابقة تشرح كل شي
والسلام
لا تحزن:
إن كنت فقيرا فغيرك محبوس في دين، وإن كنت لا تملك وسيلة نقل فسواك مبتور القدمين، وان كنت تشكوا من آلام فغيرك يرقدون على الاسرة البيضاء و من سنوات، وان فقدت ولدا فغيرك فقد عددا من الأولاد و في حادث واحد.
لا تحزن:
فأنت تشرب الماء الزلال، و تستنشق الهواء الطلق، و تمشي على قدميك معافى، و تنام ليلك آمنا.
هذا الموضوع مغلق.