![]() |
|
[VB.NET] استعلام متقدم اجهدني - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [VB.NET] استعلام متقدم اجهدني (/showthread.php?tid=24379) الصفحات:
1
2
|
استعلام متقدم اجهدني - محمد اسماعيل - 31-03-18 السلام عليكم عندي جدول مبيعات فية عمود اسماء وعمود اجمالي المشتريات للعميل الجدول باسم CLIENT_ الاعمدة الاسماء CLIENTNAM_ والاجمالي SALTOTPRIC_ محمد 3000 علي 4000 علي 2000 محمد 500 حسن 200 وجدول متحصلات ونقدية العملاء خاص بالدفع علي دفعات ممكن شخص يدفع واخر لم يدفع حتي الان الجدول باسم DEBTABL_ الاعمدة باسم CLIENTNAM_ والدفعات باسم CASHDE_ علي 2000 محمد 800 محمد 200 حسن تخلف عن الدفع ولكن الاسماء لازم تكون نفسها بالجدولين لان العمليات مرتبطة تمام انا عايز اجمع من جدول 1و2 الاسماء تصبح بعمود واحد : جدول1 اجمالي المشتريات عمود 2 : واجمالي الدفعات من الجدول 2 تصبح عمود 3 الاستعلام يبقي بالشكل دة الاسم المشتريات الدفعات محمد 3500 1000 علي 6000 2000 حسن 200 الاستعلام الي استخدمتة وم ياتي بنتيجة معايا كود : Dim cmd As OleDbCommand = New OleDbCommand("SELECT CLIENT_.CLIENTNAM_,SUM(CLIENT_.SALTOTPRIC_) As [COUNT],SUM(DEBTABL_.CASHDE_)As [COUNT2] FROM CLIENT_ Join(DEBTABL_) on CLIENT_. CLIENTNAM_ = DEBTABL_.CLIENTNAM_ GROUP BY CLIENT_.CLIENTNAM_", con)RE: استعلام متقدم اجهدني - بيسك لكل العرب - 31-03-18 (31-03-18, 04:11 PM)محمد اسماعيل كتب : السلام عليكم السلام عليكم اخي محمد ارجو توضيح السؤال اكتر او وضع مثال علي ذالك وانا استخدمت هذا الكود من قبل مع قاعدة بيانات اكسس ولكن هناك تاخير قي استدعاء البيانات وشكرا RE: استعلام متقدم اجهدني - عبدالله الدوسري - 31-03-18 أرفق قاعدة البيانات أن امكن ليتم إنشاء جمة الإستعلام . سهل علينا عملية المساعدة . RE: استعلام متقدم اجهدني - محمد اسماعيل - 31-03-18 (31-03-18, 11:23 PM)عبدالله الدوسري كتب : أرفق قاعدة البيانات أن امكن ليتم إنشاء جمة الإستعلام . انا مصممة ببرنامج كبير هعمل مثال بسيط وابعتة RE: استعلام متقدم اجهدني - عبدالله الدوسري - 31-03-18 جملة الإستعلام : كود : SELECT DISTINCT CLIENT_.CLIENTNAM_,في ستكون هكذا : كود : Dim cmd As OleDbCommand = New OleDbCommand("SELECT DISTINCT CLIENT_.CLIENTNAM_, (SELECT SUM(C1.SALTOTPRIC_) FROM CLIENT_ AS C1 WHERE C1.CLIENTNAM_ = CLIENT_.CLIENTNAM_) AS Total_Purchases, (SELECT SUM(DEBTABL_.CASHDE_) FROM DEBTABL_ WHERE DEBTABL_.CLIENTNAM_ = CLIENT_.CLIENTNAM_ ) AS Total_Payments FROM CLIENT_", con)RE: استعلام متقدم اجهدني - محمد اسماعيل - 01-04-18 مثال بسيط ومعاة محاولة اخري مني بس النتيجة الجدول الثاني ظهر المجموع مضروب * تكرار الاسم لعدد مرات الجدول الاول شرح المطلوب مرة اخري عندي جدول مبيعات فية عمود اسماء وعمود اجمالي المشتريات للعميل الجدول باسم CLIENT_ الاعمدة الاسماء CLIENTNAM_ والاجمالي SALTOTPRIC_ محمد 3000 علي 4000 علي 2000 محمد 500 حسن 200 وجدول متحصلات ونقدية العملاء خاص بالدفع علي دفعات ممكن شخص يدفع واخر لم يدفع حتي الان الجدول باسم DEBTABL_ الاعمدة باسم CLIENTNAM_ والدفعات باسم CASHDE_ علي 2000 محمد 800 محمد 200 حسن تخلف عن الدفع ولكن الاسماء لازم تكون نفسها بالجدولين لان العمليات مرتبطة تمام انا عايز اجمع من جدول 1و2 الاسماء تصبح بعمود واحد : جدول1 اجمالي المشتريات عمود 2 : واجمالي الدفعات من الجدول 2 تصبح عمود 3 الاستعلام يبقي بالشكل دة الاسم المشتريات الدفعات محمد 3500 1000 علي 6000 2000 حسن 200 RE: استعلام متقدم اجهدني - عبدالله الدوسري - 01-04-18 هل جربت جملة الإستعلام في المشاركة رقم 5 http://vb4arb.com/vb/showthread.php?tid=24379&pid=116888#pid116888 RE: استعلام متقدم اجهدني - محمد اسماعيل - 01-04-18 (01-04-18, 12:21 AM)عبدالله الدوسري كتب : هل جربت جملة الإستعلام في المشاركة رقم 5 انا استغربت المحتمل حضرتك وضعت الاجابة اثناء وضعي للمثال هجرب ورد علي حضرتك نعم جربت الان يعمل جيدا جزاك الله خيرا عني وعن غيري طلب بسيط اخير لاني انا متعملتش مع الاستعلامات متقدمة بهذا الشكل انا عايز من الجدول الثاني اضيف عمود اخر وهو DEBTABL_.CASHTOT مع جمع العمودين (_CASHDE_ + SALTOTPRI) السابقين وطرحهم من العمود دة DEBTABL_.CASHTOT وظهور الناتج بعمود اخر RE: استعلام متقدم اجهدني - عبدالله الدوسري - 01-04-18 أرجوا إعادة صياغة طلبك بشكل آخر : أجد صعوبة في فهم ما تريد الوصول إليه RE: استعلام متقدم اجهدني - محمد اسماعيل - 01-04-18 (01-04-18, 02:04 AM)عبدالله الدوسري كتب : أرجوا إعادة صياغة طلبك بشكل آخر : هوضح اكتر انا عايز اضيف عامود اخر من جدول DEBTABL_ باسم CASHAD_ بحيث يصبح الشكل النهائي للاستعلام كالاتي لاستعلام يبقي بالشكل دة الاسم 1 المشتريات 2 الدفعات متحصلات 3 العمود الجديد ديون قديمة عمود اخر الصافي 4 محمد 5000 4000 1000 2000 علي 6000 3000 2000 5000 حسن 1000 1000 500 500 بمعني العمود الجديد ديون قديمة وهي تضاف مع مشتريات العميل وتخصم من الدفعات النقدية لة ويتبقي صافي المستحق علي العميل يبقي العمود الجديد ديون سابقة من جدول DEBTABL_ اسم العمود بالجدول CASHAD_ عمود الصافي ناتج للعملية الاتية (1 عمود المشتريات + 3العمود الجديد ديون سابقة )- 2عمود الدفعات المتحصلة |