OleDbDataAdapter da = new OleDbDataAdapter(@"SELECT Table_2.ID, SUM(Table_2.Numpr_Total + Table_3.AS_Total) AS total FROM Table_2 INNER JOIN TABLE_3 ON Table_2.ID = Table_3.ID GROUP BY Table_2.ID", cnn);
DataTable dt = new DataTable();
if (da.Fill(dt) > 0)
{
OleDbCommand cmd;
if(cnn.State!=ConnectionState.Open)cnn.Open();
foreach (DataRow r in dt.Rows)
{
cmd = new OleDbCommand(@"UPDATE Table_1 SET Total = @total WHERE ID=@id", cnn);
cmd.Parameters.AddWithValue("@total", r["total"]);
cmd.Parameters.AddWithValue("@id", r["ID"]);
cmd.ExecuteNonQuery();
}
cnn.Close();
}
OleDbDataAdapter da = new OleDbDataAdapter(@"SELECT Table_2.ID, SUM(Table_2.Numpr_Total + Table_3.AS_Total) AS total FROM Table_2 INNER JOIN TABLE_3 ON Table_2.ID = Table_3.ID GROUP BY Table_2.ID", cnn);
DataTable dt = new DataTable();
if (da.Fill(dt) > 0)
{
OleDbCommand cmd;
if(cnn.State!=ConnectionState.Open)cnn.Open();
foreach (DataRow r in dt.Rows)
{
cmd = new OleDbCommand(@"UPDATE Table_1 SET Total = @total WHERE ID=@id", cnn);
cmd.Parameters.AddWithValue("@total", r["total"]);
cmd.Parameters.AddWithValue("@id", r["ID"]);
cmd.ExecuteNonQuery();
}
cnn.Close();
}
شكراا لحضرتك استاذي الغالى لاهتمامك
بس عندي ملحوظه هو بتهيقلى ان الكود بيعمل على قاعده بيانات اكسس وليس سيكول سيرفر
(28-12-20, 01:56 PM)amonem كتب : السلام عليكم ورحمه الله وبركاته ارجو من خبراء المنتدى مساعدتى فى هذا الطلب يوجد 3 جداول
جدول Table_1 الحقل اسمه Total
جدول Table_2 الحقل اسمه Numpr_Total
جدول Table_3 الحقل اسم AS_Total
المطلوب جمع الحقل (Numpr_Total) من جدول (Table_2) + الحقل (AS_Total) من جدول (Table_3) واضافت المجموع فى الحقل (Total) فى جدول (Table_1) بشرط (ID)
لغه سي شارب ولكم مني جزيل الشكر والاحترم
(28-12-20, 10:27 PM)amonem كتب :
(28-12-20, 03:03 PM)mol كتب :
كود :
OleDbDataAdapter da = new OleDbDataAdapter(@"SELECT Table_2.ID, SUM(Table_2.Numpr_Total + Table_3.AS_Total) AS total FROM Table_2 INNER JOIN TABLE_3 ON Table_2.ID = Table_3.ID GROUP BY Table_2.ID", cnn);
DataTable dt = new DataTable();
if (da.Fill(dt) > 0)
{
OleDbCommand cmd;
if(cnn.State!=ConnectionState.Open)cnn.Open();
foreach (DataRow r in dt.Rows)
{
cmd = new OleDbCommand(@"UPDATE Table_1 SET Total = @total WHERE ID=@id", cnn);
cmd.Parameters.AddWithValue("@total", r["total"]);
cmd.Parameters.AddWithValue("@id", r["ID"]);
cmd.ExecuteNonQuery();
}
cnn.Close();
}
شكراا لحضرتك استاذي الغالى لاهتمامك
بس عندي ملحوظه هو بتهيقلى ان الكود بيعمل على قاعده بيانات اكسس وليس سيكول سيرفر
راجعت سؤالك اكثر من مرة
فلم اجد فيه انك ذكرت الاكسس او سيكول سيرفر فتركت لي الخيار
فاخترت الاكسس حين كنت متفرغا للجواب على سؤالك
(28-12-20, 01:56 PM)amonem كتب : السلام عليكم ورحمه الله وبركاته ارجو من خبراء المنتدى مساعدتى فى هذا الطلب يوجد 3 جداول
جدول Table_1 الحقل اسمه Total
جدول Table_2 الحقل اسمه Numpr_Total
جدول Table_3 الحقل اسم AS_Total
المطلوب جمع الحقل (Numpr_Total) من جدول (Table_2) + الحقل (AS_Total) من جدول (Table_3) واضافت المجموع فى الحقل (Total) فى جدول (Table_1) بشرط (ID)
لغه سي شارب ولكم مني جزيل الشكر والاحترم
(28-12-20, 10:27 PM)amonem كتب :
(28-12-20, 03:03 PM)mol كتب :
كود :
OleDbDataAdapter da = new OleDbDataAdapter(@"SELECT Table_2.ID, SUM(Table_2.Numpr_Total + Table_3.AS_Total) AS total FROM Table_2 INNER JOIN TABLE_3 ON Table_2.ID = Table_3.ID GROUP BY Table_2.ID", cnn);
DataTable dt = new DataTable();
if (da.Fill(dt) > 0)
{
OleDbCommand cmd;
if(cnn.State!=ConnectionState.Open)cnn.Open();
foreach (DataRow r in dt.Rows)
{
cmd = new OleDbCommand(@"UPDATE Table_1 SET Total = @total WHERE ID=@id", cnn);
cmd.Parameters.AddWithValue("@total", r["total"]);
cmd.Parameters.AddWithValue("@id", r["ID"]);
cmd.ExecuteNonQuery();
}
cnn.Close();
}
شكراا لحضرتك استاذي الغالى لاهتمامك
بس عندي ملحوظه هو بتهيقلى ان الكود بيعمل على قاعده بيانات اكسس وليس سيكول سيرفر
راجعت سؤالك اكثر من مرة
فلم اجد فيه انك ذكرت الاكسس او سيكول سيرفر فتركت لي الخيار
فاخترت الاكسس حين كنت متفرغا للجواب على سؤالك
شكرا لاهتمامك اخى الغالى
انا بالفعل لم اذكر سيكول او اكسسس وجزاك الله كل خير ولكنى عدلته واشتغل لكن نتيجه الجمع خطأ
مثال موظف المجموع الصحيح بتاعه حسب البيانات فى الجدولين =1080
بعد استخدام الكود الناتج = 2340 يعني فرق شاسع
SELECT ID, SUM(total)
FROM (
SELECT ID,
SUM(Table_2.Numpr_Total) AS total
FROM Table_2
GROUP BY ID
UNION ALL
SELECT Table_3.ID,
SUM(Table_3.AS_Total) AS total
FROM TABLE_3
GROUP BY ID)
GROUP BY ID
شكرا لاهتمامك اخى الغالى
الكود سي شارب ولا ايه خبرتى بسيطه ؟؟
29-12-20, 02:00 PM (آخر تعديل لهذه المشاركة : 29-12-20, 02:01 PM {2} بواسطة mol.)
كود :
SELECT ID, SUM(total) AS total
FROM ( SELECT ID,
SUM(Table_2.Numpr_Total) AS total
FROM Table_2
GROUP BY ID
UNION ALL
SELECT Table_3.ID,
SUM(Table_3.AS_Total) AS total
FROM TABLE_3
GROUP BY ID
)
GROUP BY ID
هذا تعديل للاستعلام الاول في سطر OleDbDataAdapter da
29-12-20, 02:16 PM (آخر تعديل لهذه المشاركة : 29-12-20, 02:17 PM {2} بواسطة amonem.)
(29-12-20, 02:00 PM)mol كتب :
كود :
SELECT ID, SUM(total) AS total
FROM ( SELECT ID,
SUM(Table_2.Numpr_Total) AS total
FROM Table_2
GROUP BY ID
UNION ALL
SELECT Table_3.ID,
SUM(Table_3.AS_Total) AS total
FROM TABLE_3
GROUP BY ID
)
GROUP BY ID
هذا تعديل للاستعلام الاول في سطر OleDbDataAdapter da
(29-12-20, 02:16 PM)amonem كتب :
(29-12-20, 02:00 PM)mol كتب :
كود :
SELECT ID, SUM(total) AS total
FROM ( SELECT ID,
SUM(Table_2.Numpr_Total) AS total
FROM Table_2
GROUP BY ID
UNION ALL
SELECT Table_3.ID,
SUM(Table_3.AS_Total) AS total
FROM TABLE_3
GROUP BY ID
)
GROUP BY ID
هذا تعديل للاستعلام الاول في سطر OleDbDataAdapter da
29-12-20, 02:25 PM (آخر تعديل لهذه المشاركة : 29-12-20, 02:26 PM {2} بواسطة mol.)
كود :
OleDbDataAdapter da = new OleDbDataAdapter(@"SELECT ID, SUM(total) AS total FROM (SELECT ID, SUM(Table_2.Numpr_Total) AS total FROM Table_2 GROUP BY ID UNION ALL SELECT Table_3.ID, SUM(Table_3.AS_Total) AS total FROM TABLE_3 GROUP BY ID) GROUP BY ID", cnn);
كود :
SqlDataAdapter da = new SqlDataAdapter(@"SELECT ID, SUM(total) AS total FROM (SELECT ID, SUM(Table_2.Numpr_Total) AS total FROM Table_2 GROUP BY ID UNION ALL SELECT Table_3.ID, SUM(Table_3.AS_Total) AS total FROM TABLE_3 GROUP BY ID) GROUP BY ID", cnn);
OleDbDataAdapter da = new OleDbDataAdapter(@"SELECT ID, SUM(total) AS total FROM (SELECT ID, SUM(Table_2.Numpr_Total) AS total FROM Table_2 GROUP BY ID UNION ALL SELECT Table_3.ID, SUM(Table_3.AS_Total) AS total FROM TABLE_3 GROUP BY ID) GROUP BY ID", cnn);
كود :
SqlDataAdapter da = new SqlDataAdapter(@"SELECT ID, SUM(total) AS total FROM (SELECT ID, SUM(Table_2.Numpr_Total) AS total FROM Table_2 GROUP BY ID UNION ALL SELECT Table_3.ID, SUM(Table_3.AS_Total) AS total FROM TABLE_3 GROUP BY ID) GROUP BY ID", cnn);