منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : حساب ناتج عمود بشرط
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم اخوتي لدي عمود به مجموع الفاتورة 
كيف يمكنني حساب مجموع المبلغ لكل عميل
كود :
  Public Function Sum_TBL_Orders()
       Dim Number As Integer
       Try
           Dim cmd As New OleDbCommand("Select  Sum(TotalBill), Id_customer from TBL_Orders where Id_customer = '" & 1 & "' "
           If con.State = 1 Then con.Close()
           con.Open()
           Number = cmd.ExecuteScalar
           con.Close()
       Catch ex As Exception
           Number = 0
           con.Close()
       End Try
       Return Number
   End Function
اتمنى التعديل على الكود ولكم جزيل الشكر والتقدير
(23-07-20, 06:35 AM)alshandodi كتب : [ -> ]السلام عليكم اخوتي لدي عمود به مجموع الفاتورة 
كيف يمكنني حساب مجموع المبلغ لكل عميل
كود :
  Public Function Sum_TBL_Orders()
       Dim Number As Integer
       Try
           Dim cmd As New OleDbCommand("Select  Sum(TotalBill), Id_customer from TBL_Orders where Id_customer = '" & 1 & "' "
           If con.State = 1 Then con.Close()
           con.Open()
           Number = cmd.ExecuteScalar
           con.Close()
       Catch ex As Exception
           Number = 0
           con.Close()
       End Try
       Return Number
   End Function
اتمنى التعديل على الكود ولكم جزيل الشكر والتقدير

و عليكم السلام و رحمة الله و بركاته

عدل فقط سطر الاستعلام كالتالي
كود :
Dim cmd As New OleDbCommand("Select  Sum(TotalBill) from TBL_Orders where Id_customer = " + TextBox_ID.Text + "", con)

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

فقط افحص الاتصال اذا مغلق افتحة اذا كان مفتوح اكمل.

كود :
Public Function Sum_TBL_Orders()
      Dim Number As Integer
      Try
          Dim cmd As New OleDbCommand("Select  Sum(TotalBill), Id_customer from TBL_Orders where Id_customer = @Id_customer "
          cmd.parameters.addvaluewith("@Id_customer",رقم العميل)
          If con.State = 0 then
          con.Open()
          end if
         
          Number = cmd.ExecuteScalar
          con.Close()
      Catch ex As Exception
          Number = 0
          con.Close()
      End Try
      Return Number
  End Function
بالنسبة لموضوع تجميع المبلغ لكل عميل الغ عملية البحث و ضع بدلا عنها group by id_customer و اعرض النتيجة في داتا غريد فيو طبعا مع اضافة عامود اسم الزبون في بداية الاستعلام موفق انشاء الله .
شكرا جزيلا لجميع الاخوة  على مساعدتي 
فجربت الكودين  
والكود الاول كان في البداية يحتاج الاستعلام الى على علامة التنصيص 
كود :
           Dim cmd As New OleDbCommand("Select  Sum(TotalBill) from TBL_Orders where Id_customer = '" + TextBox_ID.Text + "' ", con)
 ولكن في الكود الثاني لا اعلم اين الخطا وسابحث او مساعدتي في ايجاد المشكله عنه لاحقا 
وفي الاجابه الثالثه اتمنى ان توضح لي استاذ عاصم ولك جزيل الشكر والتقدير 
فجميع الذين اجابو هم اساتذه هذا المنتدى الغالي ولكن مني التحيه وبالغ الشكر والعرفان
(23-07-20, 06:35 AM)alshandodi كتب : [ -> ]السلام عليكم اخوتي لدي عمود به مجموع الفاتورة 
كيف يمكنني حساب مجموع المبلغ لكل عميل
كود :
  Public Function Sum_TBL_Orders()
       Dim Number As Integer
       Try
           Dim cmd As New OleDbCommand("Select  Sum(TotalBill), Id_customer from TBL_Orders where Id_customer = '" & 1 & "' "
           If con.State = 1 Then con.Close()
           con.Open()
           Number = cmd.ExecuteScalar
           con.Close()
       Catch ex As Exception
           Number = 0
           con.Close()
       End Try
       Return Number
   End Function
اتمنى التعديل على الكود ولكم جزيل الشكر والتقدير

بسم الله الرحمن الرحيم .
كيف يمكنني حساب مجموع المبلغ لكل عميل كان سؤالك .
الجواب في الكود التالي :

PHP كود :
           Dim Ad As New OleDb.OleDbDataAdapter("Select  Id_customer,Name_customer,Sum(TotalBill) from TBL_Orders Group By Name_customer,Id_customer"con)
 
           Dim dt As New DataTable
            Ad
.Fill(dt)
 
           dgv.DataSource dt 

طبعا مع مراعاة تغيير اسماء الاعمدة حسب جدول قاعدة البيانات الخاص بك .