السلام عليكم
اذا عندك مجموعة استعلامات ، تحديث/الحاق/حذف ، وكل استعلام يعتمد على نتيجة الاستعلام الذي قبله ، فاليك ما فهمته من الكثير من المواقع على الانترنت:
1. إما ان تستخدم كود VBA بواسطة وحدة نمطية كما قال الاستاذ علي ، هكذا:
.
2. واما اذا اردت ان تستعمل الماكرو ، فهناك شئ جدا مهم يجب ان تعرفه ، وهو ان الماكرو سينفّذ جميع الاوامر / الاستعلامات دفعة واحدة ، ولن يطبقها بالتسلسل الذي تريد ، بحيث ان الاستعلامات الاخرى ستبدأ بالعمل قبل ان ينتهي عمل الاستعلام الذي قبله (وخصوصا اذا كان الاستعلام بطيئا)
فاذا اردت استعمال الماكرو لهذا الامر ، فالطريقة الصحيحة هي ان تغلق كل استعلام قبل البدء بإستعمال الاستعلام الذي يليه ، هكذا:
SetWarnings (No)
OpenQuery (Query,"اسم الاستعلام رقم 1", DataSheet, Edit)
CloseWindow (Query,"اسم الاستعلام رقم 1", No)
OpenQuery (Query,"اسم الاستعلام رقم 2", DataSheet, Edit)
CloseWindow (Query,"اسم الاستعلام رقم 2", No)
OpenQuery (Query,"اسم الاستعلام رقم 3", DataSheet, Edit)
CloseWindow (Query,"اسم الاستعلام رقم 3", No)
OpenQuery (Query,"اسم الاستعلام رقم 4", DataSheet, Edit)
CloseWindow (Query,"اسم الاستعلام رقم 4", No)
SetWarnings (Yes)
جعفر