المساعدة - البحث - قائمة الأعضاء - التقويم
نسخة كاملة: ما هو استخدام querydef وما هى فائدته
برمجة - شبكات - كمبيوتر - منتديات الفريق العربي للبرمجة > منتديات قواعد البيانات > منتدى مبرمجي قواعد بيانات Microsoft Access > قسم أرشيف الاستعلامات
MOHAMED ORA
السلام عليكم الأخوة الأفاضل
أرجو منك أيضاح وفائدة أستخدام quertdef
وجزاكم الله خيراً
Feras Nasser
السلام عليكم للجميع،

أخي الكريم محمد بالنسبة للكائنات QueryDefs و QueryDef فهي تعرف على النحو التالي:

هي عبارة عن كائنات تحفظ المعلومات الخاصة بجميع الاستعلامات المنشأة في محرك قاعدة البيانات (engine database) أو التي سيتم إنشائها عن طريق الكائن باستخدام أمر CreateQueryDef. وبالإضافة إلى توفير أوامر تنفذ الاستعلامات ومعرفة نتائجها.
وكما تستخدم هذه الكائنات للتحكم بإعدادات أي استفسار (مثل: نص الاستعلام (SQL Statement)، نوع الاستعلام، الحد الأقصى لعدد النتائج المسترجعة من الاستعلام، تحديد متغيرات الاستعلام أو الحصول على قيمها...... الخ)


مثال (تنفيذ استعلام بمتغيرات عن طريق الكود )

1- قم بإنشاء استعلام جديد عن طريق "Create query in design view" حيث يكون نص الاستعلام كالتالي
الحقل SELECT
أسم الجدول FROM
[متغير ما] = الحقل WHERE

2-قم بحفظ الاستعلام

3- عن طريق VB كود قم بإنشاء Sub يحتوي على الكود التالي:
Dim q As QueryDef
Dim rs As Recordset
Dim par As Parameter
("أسم الاستعلام")Set q = CurrentDb().QueryDefs
("أسم المتغير") ser par =q.Parameters
قيمة المتغير =par.value
--- ملاحظة إلى هذا السطر تم إضافة قيمة للمتغير فقط، والآن ننفذ الاستعلام لاسترجاع السجلات التي تحتوي على نفس قيمة المتغير
q.OpenRecordset أو q.Execute
بأستخدام OpenRecordset تحصل على نتائج أما Execute تستخدم إذا كان نوع الاستعلام إضافة أو تعديل أو حذف حيث الناتج عادة يكون عدد السجلات المتأثرة، ويتم معرفة ذلك عن طريق المتغير RecordsAffected
4- وفي النهاية نقوم باستدعاء اسم الـــ SUB في أي مكان بالكود (مثل ربطها بــ Button Events)


تسهل هذه الطريقة من البرمجة عملية فصل الكود عن Sql حيث تكون عملية الصيانة أسرع ، كما نلاحظ بأن نص الاستعلام محفوظة في قائمة الاستعلامات ولكن عملية التحكم بها وتنفيذها تكون بالكود. cool.gif



-فراس
هذه "نسخة - خفيفة" من محتويات الرئيسية للإستعراض الكامل مع المزيد من الصور والخيارات الرجاء إضغط هنا.
Invision Power Board © 2001-2009 Invision Power Services, Inc.