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

عند تحويل الاستعلام إلى Vba كيف أقوم بتسميته برمجياً في Vba ؟

بدأه hassan123 في 23 يونيو 2009 · 5 رد · 659 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أخواني الكرام

السلام عليكم

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

والسؤال هنا :

كيف أقوم بتسمية الاستعلام في VBA حتى يتم استدعائه في دوال المجال التجميعي مثل Dcount أو Dsum أو Dlookup ؟

توضيح أكثر :عندي استعلام اسمه q1 يقوم بتحديد عدد السجلات التي تحتوي على "حسن" في الحقل المسمى aa ، وعندي حقل نص في نموذج يتضمن الدالة التالية

=Dcount("aa","q1")

حيث aa اسم الحقل و q1 اسم الاستعلام

بعد تحويل الاستعلام q1 الى VBA ، قمت بحذف الاستعلام q1 من قائمة الاستعلامات ، وبعدها قمت بكتابة الدالة Dcount في نفس محرر الكود ولكن لا أعرف كيف أسمي الاستعلام حتى تقوم الدالة باستدعائة .

تابع الشرح في المرفق

Q2VBA.rar

اللهم اغفر لي ولوالدي وللمسلمين والمسلمات الأحياء منهم والأموات إلى يوم الدين .

#2
 qq = DCount("aa", "tab1", "aa='حسن'")

سبحان الله وبحمده ... سبحان الله العظيم

#3
المبرمج أحمد كتب:
 qq = DCount("aa", "tab1", "aa='حسن'")

أخي الكريم هذا ليس المطلوب :

تابع الشرح

post-61430-1245752462_thumb.gif

Q2VBA.rar

اللهم اغفر لي ولوالدي وللمسلمين والمسلمات الأحياء منهم والأموات إلى يوم الدين .

#4

يجب أن تضع بدل علامات الاستفهام اسم جدول أو استعلام ..

هناك حل وهو أن تقوم بإنشاء استعلام مؤقت وبعد استخدامه تحذفه ..

  Dim dbq As QueryDef
  Set dbq = CurrentDb.CreateQueryDef("qTemp", strSQL)
  qq = DCount("aa", "qTemp")
  CurrentDb.Execute "DROP TABLE qTemp;"

سبحان الله وبحمده ... سبحان الله العظيم

#5

نفس الحل السابق ولكن بتعديل صغير :

  Dim dbq As QueryDef
  Set dbq = CurrentDb.CreateQueryDef("", strSQL)
  qq = DCount("aa", "#Temporary QueryDef#")

سبحان الله وبحمده ... سبحان الله العظيم

#6
المبرمج أحمد كتب:
نفس الحل السابق ولكن بتعديل صغير :

  Dim dbq As QueryDef
  Set dbq = CurrentDb.CreateQueryDef("", strSQL)
  qq = DCount("aa", "#Temporary QueryDef#")

أخي أحمد أتعبتك معي كثير ، هل تستطيع أن تطبقه لي في المثال المرفق ؟

أنا ماعرفت ؟

تابع المرفق

Q2VBA.rar

اللهم اغفر لي ولوالدي وللمسلمين والمسلمات الأحياء منهم والأموات إلى يوم الدين .

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…