السلام عليكم ورحمة الله و بركاتة
أولا تقبل الله منا و منكم
اقوم بعمل برنامج للمبيعات و قد واجهتني احد المشاكل
شرح قاعدة البيانات
عندي خمس جداول
جدول القطاعات
جدول المناطق
جدول الأحياء
جدول العملاء
جدول نوع العميل
يرتبط جدول القطاعات بجدول المناطق
يرتبط جدول المناطق بجدول الأحياء
يرتبط جدول الأحياء بجدول العملاء
يرتبط جدول أنواع العملاء بجدول العملاء
المشكلة
أريد أن اقوم بعمل استعلام يوضح بيانات العميل من جدول العملاء و نوعة من جدول نوع العميل و ما هو القطاع التابع إلية و المنطقة و الحي
قمت بعمل شرط للمستخدم بوجوب وضع الحي التابع له العميل أما نوعة فهو خياري
عند عمل الاستعلام
1 - في حالة أن حقل النوع به قيمة فإنة يحضر لي بيانات العميل
2- أما في حالة أن حقل النوع ليس به قيمة فإن نتيجة الاستعلام صفر
قمت بعمل استعلام يعتمد علي دالة IIF و بالفعل نجحت التجربة إلا في جزء صغير
انة في حالة وجود قيمة يحضرها و لكن في حالة عدم وجودها تصبح قيمة الحقل #Error
جملة الاستعلام
SELECT TBL_Customers.CustNum, TBL_Customers.Name AS CustName, TBL_Customers.Manager, TBL_Customers.Address, TBL_Customers.Tel, TBL_Customers.Fax, TBL_Customers.Mobile, TBL_Customers.Email, TBL_Customers.WebSite, TBL_Customers.CreditLimited, TBL_Customers.WorksDays, TBL_Customers.VisitDays, TBL_Customers.AccountNumber, TBL_Customers.CreditPeriod, TBL_Customers.DeptPeriod, TBL_Customers.Bank, TBL_Customers.BankBranch, TBL_Customers.BankAddress, TBL_Customers.Discount, IIf(TBL_Customers.Delar,"تاجر",IIf(TBL_Customers.Member,"عضو","مستهلك عادي")) AS Delar, IIf(TBL_Customers.Bonus,"له بونص","ليس له بونص") AS Bonus, TBL_Delegate.Name AS DelegateName, TBL_Sectors.DES AS SectorDes, TBL_Area.Area_Des, TBL_District.District_Des, TBL_Customers.CustCategory, iif(val(TBL_Customers.Type_ID<>0),(SELECT TBL_CustType.Type_Des FROM TBL_CustType WHERE (((TBL_CustType.Type_ID)=1 )) GROUP BY TBL_CustType.Type_Des;),"" ) AS CustType FROM TBL_Sectors INNER JOIN ((TBL_Area INNER JOIN TBL_District ON TBL_Area.Area_id=TBL_District.Area_ID) INNER JOIN (TBL_Delegate INNER JOIN TBL_Customers ON TBL_Delegate.ID=TBL_Customers.Delegate_ID) ON TBL_District.District_ID=TBL_Customers.District_ID) ON TBL_Sectors.ID=TBL_Area.Sector_id;
فأين الجزء الخطأ في هذه الجملة
iif(val(TBL_Customers.Type_ID<>0),(SELECT TBL_CustType.Type_Des FROM TBL_CustType WHERE (((TBL_CustType.Type_ID)=1 )) GROUP BY TBL_CustType.Type_Des;),"" ) AS CustType