اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

أقصر الطرق لكتابة جمل SQL داخل الكود


الردود الموصى بها

كثير ما نحتاج لكتابة جمل SQL داخل كود فيجوال بيزيك التطبيقات

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

و لكن هل تحتاج لكتابة جملة السي كيو ال مباشرة ؟؟

الاجابة لا

كل ما عليك هو تنفيذ استعلام يناظر أو يشابه شكلا ما تريد ، ثم عرض الاستعلام فى واجهة ال سي كيو ال

و نسخ الكود ثم التعديل فيه

مثال

للتوضيح أكثر

اذا أردت تنفيذ استعلام إضافة يضيف القيم الموجودة فى حقلين فى جدول رقم 2 الي جدول رقم واحد

يمكن اعداد الاستعلام بالطريقة العادية

و اذا نظرنا الي عرض ال SQL له يكون كالتالي

INSERT INTO Table1 ( Field1, Field2 )

SELECT Table2.Field1, Table2.Field2

FROM Table2;
اما اذا أردنا تنفيذه بجملة SQL بال vba فكل ما علينا هو توحيد جملة ال SQL فى سطر واحد ووضعها بين "" علامتي تنصيص و أن نسبقها ب Docmd.RunSQL فتصير كالتالي :
 DoCmd.RunSQL "INSERT INTO Table1 ( Field1, Field2 )SELECT Table2.Field1, Table2.Field2 FROM Table2;"
او لفصلها الي سطرين
Private Sub Command0_Click()

 DoCmd.RunSQL "INSERT INTO Table1 ( Field1, Field2 )SELECT " & _

 "Table2.Field1, Table2.Field2 FROM Table2;"

End Sub

و النتيجة واحدة

و ما نستفيده هو امكانية التدخل فى بناء جملة ال SQL عن طريق منطق البرمجة

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

إضافة بسيطة للتنبيه على خطأ شائع:

عند قسمة عبارة SQL على سطرين ينبغي مراعاة هل يوجد مسافة فاصلة بين الكلمتين : الأخيرة من السطر الأول ، والأولى من السطر الثاني .

مثال :

DoCmd.RunSQL "INSERT INTO Table1 ( Field1, Field2 )SELECT Table2.Field1, Table2.Field2 FROM Table2;"
إذا قسمته إلى سطرين السطر الأول ينتهي بكلمة SELECT والسطر الثاني يبدأ بكلمة Table2 عليك أن تلاحظ أن بينهما مسافة ، ولذا يجب أن تضع هذه المسافة بعد الكلمة الأخيرة من السطر الأول أو قبل الكلمة الأولى من السطر الثاني يعني إما :
DoCmd.RunSQL "INSERT INTO Table1 ( Field1, Field2 )SELECT " & _

"Table2.Field1, Table2.Field2 FROM Table2;"
أو
DoCmd.RunSQL "INSERT INTO Table1 ( Field1, Field2 )SELECT" & _

" Table2.Field1, Table2.Field2 FROM Table2;"

  • Like 4
رابط هذا التعليق
شارك

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information