05-11-21, 10:22 PM
(آخر تعديل لهذه المشاركة : 06-11-21, 12:30 AM {2} بواسطة بسام محمدغانم.)
(05-11-21, 06:33 PM)Anas Mahmoud كتب : الحل اخي الكريم ان تفصل الاستعلامات استعلام لكل ما له علاقة ببعض
قمت بعمل استعلام للمراكز والارصدة وقمت بجعله يظهر جميع حقول المراكز سميته CenterStocks :
كود :
SELECT center.*, Stocks.Debtor, Stocks.Creditor
FROM center LEFT JOIN Stocks ON center.No_Center = Stocks.No_Center;
واستعلام اخر للدليل والعملات سميته GuidesCoinsNames :
كود :
SELECT Guide.No_Guide, Guide.Namee, Coin.Namee
FROM Guide INNER JOIN Coin ON Guide.No_Coin = Coin.No_Coni;
وهكذا كل ما علينا فعله هو اضافة الاستعلامين الى استعلام جديد سميته MasterQuery بدون اي اسهم او اي شيء فقط اضف كل الحقول من الاستعلامين :
كود :
SELECT GuidesCoinsNames.*, CenterStocks.*, *
FROM GuidesCoinsNames, CenterStocks;
هذا كل شيء
الان كل ما عليك فعله داخل الفيجوال بيسيك هو استدعاء الاستعلام MasterQuery :
كود :
Select * from MasterQuery
ملاحظة انت على الخيار في ان تستخدم الاستعلامات المخزنة في قاعدة البيانات الاكسس كما فعلت انا ، او ان تستخدم صيغة الاستعلام الطويلة ،اذا اردت الاستعلام في خطوة واحدة فاليك هذا :
كود :
SELECT *
FROM (SELECT Guide.No_Guide, Guide.Namee, Coin.Namee FROM Guide INNER JOIN Coin ON Guide.No_Coin = Coin.No_Coni) AS x,
(SELECT center.No_Center, center.namee, Stocks.Debtor, Stocks.Creditor FROM center LEFT JOIN Stocks ON center.No_Center = Stocks.No_Center) AS y
يعطي نفس النتيجة من مرة واحدة ولكني لا احبذه لتعقيده الشديد ، احب تبسيط المسائل وتجزيئها
ارفقت اليك مثال يجرب الطريقة المدرجة والاستعلام الجاهز وطريقة الاستعلام الواحد الطويل ونفس النتيجة
وفقك الله
انا اشكرك جداااااااااااااااااااااااااااااااااااااااااااااااا شكر عنيف شكر خاااااااااااااااااااااااااااااااااااص شكر حللللللللللللللللللللللللللللللو
افدتني كثيرا بطلب منك طلب دلني على رابط اتعلم منة الاستعلامات اكسس من النت
