السلام عليكم ورحمة الله وبركاته ،،
الموضع كما هو موضح اعلاه هو مثال على كيفية تحويل SQL الناتج من الاستعلام الى كود نستخدمه في الوحدات النمطية مباشرة.. (يعني .. من الفرن الى مائدتك..)
أنا شخصيا كان عندي عقدة من SQL وكيف تكتب الخ.. ويوجد في المنتدى الكثير من المواضيع التي تشرح الموضوع لدرجة التشبع..وهذه صورة تعبر عن نفسها..
الصورة الأولى وهي توضح كيفية الوصول الى SQL في الاستعلام ووضع الشروط
ولكن في كثير من الاحيان تحتاج الى كتابة sql بشكل سريع مباشرة من تعريف الاستعلام (خاصة لغير الخبراء ) و نسخها في الوحدة النمطية فتواجهك مشكلة الاقواس والهلالين("")..وعدم قبول VBA لها.
كما هو موضح بالصورة :
ومن باب الفائدة للأخوة الأعضاء المحترمين ..
وجدت الحل في احد المواقع الأجنبية وسنقوم بطبيقها كما هي فقط قمت باضافة مسج بوكس عند الانتهاء من عملية التحويل وذلك لزوم الشغل..
سنقوم بالخطوات التالية :-
1- انشئ نموذج جديد وليكن اسمه في مثالنا هذا frm أو أي اسم تريد..
2- اضف عنصر تحكم علامة جدولة ..
3- اضافة مربع نص داخل الصفحة 1 وليكن اسم عنصر التحكم txtSql
4- اضافة مربع نص داخل الصفحة 2 وليكن اسم عنصر التحكم txtVBA
كما هو موضح بالصورة :
5- انشاء زر أمر وليكن اسمه cmdSql2Vba
6- وضع هذا الكود في اجراء حدث عند النقر ..
Dim strSql As String Const strcLineEnd = " "" & vbCrLf & _" & vbCrLf & """" If IsNull(Me.txtSql) Then Beep Else strSql = Me.txtSql strSql = Replace(strSql, """", """""") 'Double up any quotes. strSql = Replace(strSql, vbCrLf, strcLineEnd) strSql = "strSql = """ & strSql & """" Me.txtVBA = strSql Me.txtVBA.SetFocus RunCommand acCmdCopy MsgBox "تم التحويل بنجاح " & vbCrLf & "و نسخ الكود الجديد للذاكرة", vbInformation, "SQL --> VBA " End If 'حقوق الطبع لكافة اعضاء الفريق العربي مشكاة
الى هنا انتهت كافة الخطوات المطلوبة لانجاز المثال بقي ان تقوم بتجربة المثال وذلك بنسخ sql من الاستعلام وضعه في نص txtsql واضغط على الزر ...
ترجمة بعض الأكواد للفائدة:-
const= يستخدم لتعريف قيمه معينه ثابته بدون تغيير .. بامكانك الرجوع الى help في الاكسس لمزيد من المعلومات حول هذه الدالة
vbCrLf = وهو الكود الذي يفرض سطر جديد بعد نهاية اي جملة -- انظر الى المسج بوكس في الكود آخر السطر لتجد بعد التنفيذ ان الرسالة تأتي على شكل سطرين وليس واحد..هذه مهمتها !!
وشكرا ومرفق لكم المثال
أخوكم مشكاة

