




كثير ما نحتاج لكتابة جمل 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 عن طريق منطق البرمجة
و ذلك اما لتنفيذ استعلامات مركبة أو لبناء منطق معين داخل جملة الاستعلام نفسه
و لكن هل تحتاج لكتابة جملة السي كيو ال مباشرة ؟؟
الاجابة لا
كل ما عليك هو تنفيذ استعلام يناظر أو يشابه شكلا ما تريد ، ثم عرض الاستعلام فى واجهة ال سي كيو ال
و نسخ الكود ثم التعديل فيه
مثال
للتوضيح أكثر
اذا أردت تنفيذ استعلام إضافة يضيف القيم الموجودة فى حقلين فى جدول رقم 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 عن طريق منطق البرمجة