المساعدة في حل كود استعلام - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : المساعدة في حل كود استعلام (/showthread.php?tid=26107) |
المساعدة في حل كود استعلام - نور الهدى الهدى - 13-08-18 السلام عليكم المساعدة في حل كود استعلام كما في الصورة وهو خصم كمية بين جدولين مرفقة مثال لتوضيح أكثر وإضافة الكود من عباقرة هذا المنتدا RE: المساعدة في حل كود استعلام - elgokr - 13-08-18 وعليكم السلام ورحمة الله وبركاته
مرفق السورس + برنامح للاختبار
كود الاستعلام المستخدم لقاعدة البيانات المرفقة كود : "SELECT '1' As ID, T1.name, SUM(T1.value) - SUM(T2.value) AS TOTAL FROM Table1 As T1 INNER JOIN Table2 As T2 ON T1.name = T2.name WHERE T1.name = '" & TextBox1.Text & "' GROUP BY T1.name" تحياتى لك
وتمنياتى لك التوفيق
RE: المساعدة في حل كود استعلام - نور الهدى الهدى - 14-08-18 (13-08-18, 08:50 PM)elgokr كتب : مشكور elgokr دائما متميز وسباق لمساعدة الاخرين وبالنسبة للمثال نتائج الطرح غير صحيحة أرجو منك التجربة ومشكور مرة أخري RE: المساعدة في حل كود استعلام - elgokr - 14-08-18 الشكر لله
بخصوص الكود
بنائاً على الصورة المرفقة بالموضوع
حيث ان الصورة المرفقة توضح ان اجمالى الجدول الاول
يطرح منه اجمالى الجدول الثاني
ليعرض البيانات كما لو انه فى جدول الثالث
قاعدة البيانات تحتوى على
الجدول الاول
الاسم aaa وهو الارقام الخاصة به : ( 1000 + 500 + 1000 + 500 + 1000 ) = 4000
حيث ان الاسم bbb وهو الارقام الخاصة به : ( 500 ) = 500
الجدول الثاني
الاسم aaa وهو الارقام الخاصة به : ( 500 + 1000 + 1000 + 500 ) = 3000
حيث ان الاسم bbb وهو الارقام الخاصة به : ( 300 + 100 ) = 400
ليعطى الاجمالى النهائي للجدول الثالث
الاسم aaa لاجمالى ( 4000 - 3000 ) = 1000
الاسم bbb لاجمالى ( 500 - 400 ) = 100
وبناءاً ان عدد الاسم فى الجدول الاول لا يتوافق مع عدد الاسم فى الجدول الثاني
فتم عمل الكود التانى حتى يتجنب اى من نواقص وتزايد اعداد الاضافة لكل جدول
ليصبح كود الاستعلام بهذا الشكل
كود الاستعلام الاول كود : Dim cmd As New OleDbCommand("", CNN) تم استبداله ليصبح كود : Dim cmd As New OleDbCommand(GetT3(TextBox1.Text), CNN) وكود الاستعلام الثاني كود : Dim AA As OleDbDataAdapter = New OleDbDataAdapter("", CNN) تم استبداله ليصبح كود : Dim AA As OleDbDataAdapter = New OleDbDataAdapter(GetT3(TextBox1.Text), CNN) مع اضافة الكود التالى كود : Private Function GetT3(ByVal Val As String) بالنهاية السورس + برنامج الاختبار مرفق
واتمنى ان الصورة النهائية للاستعلام واضحة وان الامر غير معقد
تحياتى لك
وتمنياتى لك التوفيق
RE: المساعدة في حل كود استعلام - نور الهدى الهدى - 14-08-18 (14-08-18, 08:11 PM)elgokr كتب : مشكور جدا جدا يالغالي على صبرك وتعبك معي دائما حفظ الله ورعاك وتم تجريب الكود والكود شغال عشرة علي عشرة عن طريق البحث بأسم الكود وبس هناك مشكلة عند فتح الفورم لايقوم بعرض كل الاصناف بنتائج الخصم ومشكووور جدا RE: المساعدة في حل كود استعلام - elgokr - 14-08-18 (14-08-18, 09:43 PM)نور الهدى الهدى كتب : مشكور جدا جدا يالغالي على صبرك وتعبك معي دائما حفظ الله ورعاك فى البداية الشكر لله
السبب يرجع هنا لطريقة كتابة الموضوع والاستفسار كما هو موضح هنا
(13-08-18, 08:23 PM)نور الهدى الهدى كتب : السلام عليكم لذلك لا تجعل السؤال على شبه محدود كما لو ان من سيقوم بالمساعدة
على علم بما انت تفكر به فيجب ان يكون السؤال موضح ومحدد لما تريده تماماً
RE: المساعدة في حل كود استعلام - elgokr - 15-08-18 تم اضافة الكود اللازم لعرض جميع الاصناف
تذكر بان قاعدة البيانات مبني على خطاء
فيجب حتى تتجنب من المشاكل ومن الصعوبات فى التعامل مع الاستعلام
التعلم اولاً كيفية تاسيس قواعد البيانات قبل ان تبني برنامج يحتوى على قاعدة بيانات
مرفق السورس + برنامج للاختبار
تحياتى لك
وتمنياتى لك التوفيق
RE: المساعدة في حل كود استعلام - نور الهدى الهدى - 15-08-18 (15-08-18, 10:32 AM)elgokr كتب : مشكووور جدا وهذا الكود المطلوب وعسي الله ان يديم عليك كل الخير ويزيدك من علمه وبالنسبة لبناء قاعدة البيانات ان هذه أسهل طريقة لجرد الاصناف حيث هناك جدول للإضافة وجدول للخصم وبهذا الكود يمكنني إضهار كشف بالمتوفر حاليا بالمخازن هذا في رائي الشخصي وماذا عن رايك RE: المساعدة في حل كود استعلام - elgokr - 15-08-18 (15-08-18, 01:54 PM)نور الهدى الهدى كتب : مشكووور جدا وهذا الكود المطلوب وعسي الله ان يديم عليك كل الخير ويزيدك من علمه الشكر لله وتقبل الله منك الدعاء
بخصوص الاسس وبناء قاعدة البيانات
مثلاً مثل هذا الجدولين يفضل ان يكون فى جدول واحد
بحيث يكون شكل الجدول بهذا الترتيب
ID - NAME - Madin - Dain
A1 - aaa - 1000 - 0
A1 - aaa - 0 - 500
اما ان يكون هكذا كما لو تبني نظام من حساب الى حساب
أو ان يتم كما انت تتعامل فى جدولين
ولكن يكون ترتيب الجدولين متساوى
بمعنى لو قمت بالاضافة فى الجدول الثاني يتم اضافة
نفس الوضع فى الجدول الثاني ولكن بقيمة 0
وعند الاضافة فى الجدول الثاني الدين يكون القيمة فى الاول 0 فى نفس الوقت
ليصبح اجمالى كل من الجدولين واحد لكل صنف
وذلك سيمكنك من عمل كود ربط واستخراج الاجمالى بدون اى عناء وبكود بسيط
من حيث وصف الجدول بالاعلى سيكون كود استعلام عادى والاجمالى سيكون جمع العمودين معاً
وبخصوص الجدولين مستواوي القيم فى المدين والدائن سيكون عملية الربط بسيطة وسيعرض جميع الاصناف بصورة صحيحة
دون ان يتم عمل استعلام داخل استعلام ... الخ كما فى الكود بالاعلى
اتمنى ان تكون الفكرة وصلت لك
تحياتى لك
وتمنياتى لك التوفيق
RE: المساعدة في حل كود استعلام - نور الهدى الهدى - 15-08-18 (15-08-18, 07:32 PM)elgokr كتب :(15-08-18, 01:54 PM)نور الهدى الهدى كتب : مشكووور جدا وهذا الكود المطلوب وعسي الله ان يديم عليك كل الخير ويزيدك من علمه فكرة جميلة جدا سأقوم بتجريبتها وأعلمك فور الإنتهاء من التجربة وشكرا جزيل الشكر |