تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال حول عرض البيانات في الداتا جريد والاستعلام
#1
السلام عليكم ورحمة الله وبركاته
لدي داتا جريد لعرض بيانات الاستعلام
لدي جدول الاصنافJsnf وجدول المبيعات والشتريات
 قمت باضافة اسم الصنف JsnfName, العددjsnfadd
بحلقة تكرار في الداتا جريد واريد اضافة الكمية المباعةjbeaadd لهذا الصنف من جدول المبيعات jbea
كيف افعل هذا الاستعلام بالتكرار
لانه لدي اكثر من صنف
اذا وجد هذا سابني عليه الباقي
 
كود :
conne.Open() ' فرز الاصناف
       Dim adt As New OleDbDataAdapter("Select JsnfName,jsnfadd From  jsnf ", conne)
       Dim dt As New DataTable
       adt.Fill(dt)
       Dim i As Integer
       For i = 0 To dt.Rows.Count - 1
           DataGridView1.Rows.Add()
           DataGridView1.Rows(i).Cells(0).Value = dt.Rows(i).ItemArray(0)
           DataGridView1.Rows(i).Cells(1).Value = dt.Rows(i).ItemArray(1)
           
       Next
       conne.Close()
الرد }}}
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاته

حتي تتجنب هذا الخطاء كل ما عليك فعله التالي
حذف كل ما قمت بانشائه من Columns فى DataGridView

وقم بحذف الكود التالى
كود :
      Dim i As Integer
      For i = 0 To dt.Rows.Count - 1
          DataGridView1.Rows.Add()
          DataGridView1.Rows(i).Cells(0).Value = dt.Rows(i).ItemArray(0)
          DataGridView1.Rows(i).Cells(1).Value = dt.Rows(i).ItemArray(1)
         
      Next

وضف بداله الكود التالى
كود :
       DataGridView1.DataSource = dt

وبكدة تكون حليت المشكلة

ولتسمية الـ Columns التى تم انشائها بناءاً على الاستعلام
طبق الكود التالى اسفل ما تم اضافته بالاعلى
كود :
DataGridView1.Columns(0).Name = "إسم الصنف"
كل ما عليك تكرار الكود وتغغير رقم 0 الى رقم العمود الاخر
تذكر اذا كان لديك 2 عمود كما فى الاستعلام اذا سيتم تكرار الكود كما يلى
كود :
DataGridView1.Columns(0).Name = "إسم الصنف"
DataGridView1.Columns(1).Name = "مشتريات الصنف"
اتمنى ان الصورة مبسطة لديك

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
#3
حياك الله اخي واشكر تفاعلك
ولكن البيانات التي اريد جلبها من اكثر من جدول
جلب اسم الصنف من جدول الاصناف
وجلب الكمية المشتراه من جدول المشتريات
وجلب الكمية المباعة من جدول المبيعات

ربما ما اوضحت طلبي من قبل
خلاصة الطلب : عرض الكمية المباعة من جدول المبيعات والكمية المشتراه من جدول المشتريات للصنف الموجود في العمود الاول ( اسم الصنف ) للداتا جريد

بالنسبة لاضهار الاصناف ضهرت بهذا الكود كما في الصورة

كود :
conne.Open() ' فرز الاصناف
       Dim adt As New OleDbDataAdapter("Select JsnfName,jsnfadd From  jsnf ", conne)
   
       Dim dt As New DataTable
       adt.Fill(dt)
       Dim i As Integer
       For i = 0 To dt.Rows.Count - 1
           DataGridView1.Rows.Add()
           DataGridView1.Rows(i).Cells(0).Value = dt.Rows(i).ItemArray(0)
       
       Next
       conne.Close()
       '=============

قمت بعدة محاولات  لاضهار الكمية المشتراه للصنف وماتم الامر  وهذه اخر محاولة بهذا الكود
 
كود :
  conne.Open() ' عرض الكمية المشتراه للصنف
       Dim it As Integer
       Dim dtt As New DataTable

       Dim adtt As New OleDbDataAdapter("Select jshraadd From  jshra2 where jshranames like '%" & Trim$(DataGridView1.Rows(it).Cells(0).Value) & "%'", conne)

       adtt.Fill(dtt)
       For it = 0 To dtt.Rows.Count - 1
         
           DataGridView1.Rows.Add()
           DataGridView1.Rows(it).Cells(1).Value = dtt.Rows(it).ItemArray(0)
         
       Next
       conne.Close()

وهذه النتيجة
يظهر لي صفين فقط في جدول


ان شاء وضح طلبي اخي

اتمنى ان توضح لي اكثر اخي
الرد }}}
تم الشكر بواسطة:
#4
الا توجد
وان كانت طريقة اخرى
الرد }}}
تم الشكر بواسطة:
#5
اسف على عدم انتباهي لردك من قبل

بخصوص ذلك نعم وضح الفكرة لكن لدى فقط سؤال
هل يوجد عامل مشترك بين الجداول اذا كان نعم
اتمنى ارفاق قاعدة البيانات مع توضيح اسماء 3 جداول المطلوب عمل الاستعلام عليهم

حتى اقوم بعمل كود الاستعلام بناءاً على الصورة فى ردك السابق

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: رضوان الجماعي
#6
جزاك الله خيرا اخي
وتقبل الله منا ومنكم ومن جميع المسلمين ممن لم يحج
صيام هذا اليو المبارك يوم عرفة يوم الحج الاكبر

نعم العامل المشترك بين الجداول هو اسم الصنف
الجدول الاول جدول الاصنافjsnf : يتم استيراد اسماء الاصناف منه  الحقل jsnfname وايضا حقل الكمية لكي تضاف لاحقا مع الكمية المشتراه
الجدول الثاني جدول المشتريات jshra2  : يتم استيراد الكمية المشتراه لكل صنف jshranameS  حقل الكمية jshraadd
الجدول الثالث جدول المبيعات jbea2: يتم استيراد الكمية المباعة لكل صنف  jbeanameS  حقل الكمية jbeaadd

في حالة ان لصنف معين اكثر من كمية مشتراه احضارها كلها
كان الله في عونك


الملفات المرفقة
.zip   DBF.zip (الحجم : 44.94 ك ب / التحميلات : 83)
الرد }}}
تم الشكر بواسطة:
#7
اللهم امين ولنا جميعاً باذن الله

اولاً تم الاطلاع على قاعدة البيانات
تبدو كالتوهان بسبب عدم وجود اى وصف لكل عمود والمسميات عامة

على اى حال انا قمت بعمل الاستعلام المطلوب
كود :
SELECT Min(jsnf.jsnfcod) AS Code, jsnf.JSnfName AS Name, Sum(jshra2.JshraAdd) AS Shra, Sum(JBea2.JBeaAdd) AS Bea, SUM(jshra2.JshraAdd - JBea2.JBeaAdd) AS Total
FROM (jsnf INNER JOIN jshra2 ON jsnf.JSnfName = jshra2.JshraNameS) INNER JOIN JBea2 ON jsnf.JSnfName = JBea2.JBeaNameS
GROUP BY jsnf.JSnfName;

لكن لا اعلم الفرق بين المتبقي و اجمالى المتبقي كما فى الصورة
فستجد فقط ان الاستعلام يعرض الاجمالى طرح المبيعات من المشتريات

لعرض جميع الاصناف التى لها شراء وليس لها مبيعات
يجب ان يكون لها قيمة واحدة على الاقل فى جدول المبيعات وليكن القيمة البيع 0

حتى يتم عامل الربط بعرض الاصناف التى فى المشتريات ولم تباع بعد والتى ستعرض صفر فى العمود

اتمنى ان الصورة وضحة وبسيطة فى كود الاستعلام

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: kebboud
#8
ههههه 
حياك الله أخي 
اضحك على القاعدة بقولك ان فيها توهان
لاباس فهي قاعدة مبتدئ

ساجربه إن شاءالله 
وارجع لك خبر 

والفرق بين المتبقي 
وإجمالي المتبقي 
أن المتبقي هو عدد الصنف الباقي في المخزون
أما إجمالي المتبقي فهو إجمالي الصنف النقدي اي العدد في السعر 
لكي يعرف العميل كم يساوي المخزون بالمال اي كم رأس ماله 


واشكرك لصبرك علي 
وأيضاً نفعك لي ولغيري 
نستفيد منكم إن شاء الله تعالى 
جاري تجربة الكود
الرد }}}
تم الشكر بواسطة:
#9
لا عليك اخى alfaiz678
وكل عام وانت بخير وعيد سعيد عليك 
وعلى الاسرة وللجميع باذن الله

اصبحت اتعامل مع قاعدة البيانات الخاصة بك بكل سلاسية بعد معرفة كل تفاصيلها  Big Grin

بما انك وضحت العمود الاخير فاليك كود الاستعلام كاملاً
كود :
SELECT Min(jsnf.jsnfcod) AS Code, jsnf.JSnfName AS Name, Sum(jshra2.JshraAdd) AS Shra, Sum(JBea2.JBeaAdd) AS Bea, SUM(jshra2.JshraAdd - JBea2.JBeaAdd) AS Total, (SUM(jshra2.JshraAdd - JBea2.JBeaAdd) * MAX( jsnf.JSnfSar)) AS xMoney
FROM (jsnf INNER JOIN jshra2 ON jsnf.JSnfName = jshra2.JshraNameS) INNER JOIN JBea2 ON jsnf.JSnfName = JBea2.JBeaNameS
GROUP BY jsnf.JSnfName;

بكده لديك جميع الاصناف التى دخل لها مشتريات وطبعاً عند اضافة مشتريات لها
يجب ان تقوم بالتحقق بان لها فى المبيعات اى قيمة أو بحيث اذا كان لا تقوم باضافة قيمة واحدة للمبيعات بعدد 0 مباع
أو تلقائي قم باذافة عدد 0 مباع فكلاهما سيعمل عادى

والقى نظرة على الاستعلام وستجد كما تريد تماماً

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
تم الشكر بواسطة: dell , dell
#10
(20-08-18, 09:07 PM)elgokr كتب :
لا عليك اخى alfaiz678
وكل عام وانت بخير وعيد سعيد عليك 
وعلى الاسرة وللجميع باذن الله

اصبحت اتعامل مع قاعدة البيانات الخاصة بك بكل سلاسية بعد معرفة كل تفاصيلها  Big Grin

بما انك وضحت العمود الاخير فاليك كود الاستعلام كاملاً
كود :
SELECT Min(jsnf.jsnfcod) AS Code, jsnf.JSnfName AS Name, Sum(jshra2.JshraAdd) AS Shra, Sum(JBea2.JBeaAdd) AS Bea, SUM(jshra2.JshraAdd - JBea2.JBeaAdd) AS Total, (SUM(jshra2.JshraAdd - JBea2.JBeaAdd) * MAX( jsnf.JSnfSar)) AS xMoney
FROM (jsnf INNER JOIN jshra2 ON jsnf.JSnfName = jshra2.JshraNameS) INNER JOIN JBea2 ON jsnf.JSnfName = JBea2.JBeaNameS
GROUP BY jsnf.JSnfName;

بكده لديك جميع الاصناف التى دخل لها مشتريات وطبعاً عند اضافة مشتريات لها
يجب ان تقوم بالتحقق بان لها فى المبيعات اى قيمة أو بحيث اذا كان لا تقوم باضافة قيمة واحدة للمبيعات بعدد 0 مباع
أو تلقائي قم باذافة عدد 0 مباع فكلاهما سيعمل عادى

والقى نظرة على الاستعلام وستجد كما تريد تماماً

تحياتى لك
وتمنياتى لك التوفيق
حياك الله
وتقبل الله منا ومنكم صالح الاعمال
وماقصرت اخي
لكن الكمية في الاستعلام طلعت غير منضبطه
بعضها تطلع زائدة على الشراء
لم ازد شيء على الكود حقك اخي

كود :
 Dim adtt As New OleDbDataAdapter("SELECT Min(jsnf.jsnfcod) AS Code, jsnf.JSnfName AS Name, Sum(jshra2.JshraAdd) AS Shra, Sum(JBea2.JBeaAdd) AS Bea, SUM(jshra2.JshraAdd - JBea2.JBeaAdd) AS Total, (SUM(jshra2.JshraAdd - JBea2.JBeaAdd) * MAX( jsnf.JSnfSar)) AS xMoney FROM (jsnf INNER JOIN jshra2 ON jsnf.JSnfName = jshra2.JshraNameS) INNER JOIN JBea2 ON jsnf.JSnfName = JBea2.JBeaNameS GROUP BY jsnf.JSnfName;", conne)
       Dim dtt As New DataTable
       adtt.Fill(dtt)
       DataGridView1.DataSource = dtt
وهل هناك طريقة اخرى تقوم مقام هذه
لان مسالة ان تكون هناك قيمة في المبيعات لكل صنف مشكلة
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  سؤال عن تعلم لغة جديدة محمد حمد 2023 1 33 25-03-24, 03:14 PM
آخر رد: Taha Okla
  [سؤال] عدم إظهار الصور مع النص فى Listview من قاعدة البيانات alims 2 1,582 27-08-23, 12:22 PM
آخر رد: رضوان الجماعي
  تلوين خلية واحدة فقط فى الداتا غريد اذا تغيرت القيمة ؟ a.amin 11 7,224 15-02-23, 02:13 PM
آخر رد: tighrmte
  جمع عمود في داتا جريد واظهار الناتج في تكست بوكس nabil 9 12,999 08-12-22, 01:27 PM
آخر رد: عبدالمؤمن
  سؤال في جملة select top() bassant 1 1,318 24-05-22, 06:52 PM
آخر رد: سعود
  استفسار عن تخزين الوقت في قاعدة البيانات strongriseman 2 1,128 22-04-22, 07:27 PM
آخر رد: strongriseman
  [سؤال] مشكلة فى عرض الصورة من ادخل قاعدة البيانات alims 2 1,266 17-11-21, 10:09 AM
آخر رد: سعود
  استعلام يرجع اسماء الاعمدة و نوع البيانات في جدول معين بسام محمدغانم 0 964 23-10-21, 01:43 AM
آخر رد: بسام محمدغانم
Question سؤال عن ComboBox alims 0 766 10-10-21, 12:52 PM
آخر رد: alims
  سؤال عن جملة select اسلام الكبابى 9 1,750 12-09-21, 01:03 AM
آخر رد: اسلام الكبابى

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم