تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] إيجاد محموع قيم عمود ما بين تاريخين ؟
#1
السلام عليكم

عندي جدول به الأعمدة
ID
m1
m2
m3
bda8 (التاريخ)


أريد  مجموع القيم لكل عمود ( m1 , m2 , m3 ) ما بين تاريخين معيين !

أرفقت صورة توضح المطلوب بصورة أوضح


الملفات المرفقة الشكل المصغر
   
الرد }}}
تم الشكر بواسطة:
#2
(21-12-14, 04:20 AM)momiana1 كتب : السلام عليكم

عندي جدول به الأعمدة
ID
m1
m2
m3
bda8 (التاريخ)


أريد  مجموع القيم لكل عمود ( m1 , m2 , m3 ) ما بين تاريخين معيين !

أرفقت صورة توضح المطلوب بصورة أوضح
دامك تعرف تبرمج اكيد تعرف استخدام دالة SUM فهي سهله الاستخدام Heart
[صورة مرفقة: 36d06db82ef521f.gif]
لقد اكتشفت مع الأيام أنه ما من فعلٍ مغايرٍ للأخلاق, وما من جريمة بحق المجتمع إلا ولليهود والنصارى يداً فيها  Idea

الرد }}}
تم الشكر بواسطة:
#3

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


ممكن يفيدك هذا الكود
PHP كود :
Dim connString As String "Provider=....."

Dim sqlString As String _
    
" SELECT SUM([m1]) AS [Total1] " _
    
"      , SUM([m2]) AS [Total2] " _
    
"      , SUM([m3]) AS [Total3] " _
    
" FROM [الجدول]" _
    
" WHERE [bda8] BETWEEN @date1 AND @date2 "
Using da As New OleDbDataAdapter(sqlStringconnString)
    
da.SelectCommand.Parameters.AddWithValue("@date1"Me.DateTimePicker1.Value.Date)
    
da.SelectCommand.Parameters.AddWithValue("@date2"Me.DateTimePicker2.Value.Date)
    
Using dt As New DataTable

        
If da.Fill(dt) > 0 Then
            MsgBox
(dt.Rows(0).Item("Total1"))
            
MsgBox(dt.Rows(0).Item("Total2"))
            
MsgBox(dt.Rows(0).Item("Total3"))
        
End If

    
End Using
End Using 

الرد }}}
تم الشكر بواسطة:
#4
[/quote]
دامك تعرف تبرمج اكيد تعرف  استخدام دالة SUM فهي سهله الاستخدام Heart
[/quote]

أشكرك على المساعدة Heart

(21-12-14, 06:50 AM)الوليد ☺ كتب :
السلام عليكم ورحمة الله


ممكن يفيدك هذا الكود

PHP كود :
Dim connString As String "Provider=....."

Dim sqlString As String _
    
" SELECT SUM([m1]) AS [Total1] " _
    
"      , SUM([m2]) AS [Total2] " _
    
"      , SUM([m3]) AS [Total3] " _
    
" FROM [الجدول]" _
    
" WHERE [bda8] BETWEEN @date1 AND @date2 "
Using da As New OleDbDataAdapter(sqlStringconnString)
 
   da.SelectCommand.Parameters.AddWithValue("@date1"Me.DateTimePicker1.Value.Date)
 
   da.SelectCommand.Parameters.AddWithValue("@date2"Me.DateTimePicker2.Value.Date)
 
   Using dt As New DataTable

        If da
.Fill(dt) > 0 Then
            MsgBox
(dt.Rows(0).Item("Total1"))
 
           MsgBox(dt.Rows(0).Item("Total2"))
 
           MsgBox(dt.Rows(0).Item("Total3"))
 
       End If

 
   End Using
End Using 

أخي الوليد بالطبع أفدتني كثيرًا ، جزاك الله كل خير
الرد }}}
تم الشكر بواسطة: مبرمج بلا حدود
#5
سؤال آخر في نفس النطاق

لو عندي شرط مثل التالي
PHP كود :
WHERE PID LIKE '" & TextBox10.Text & "'" 

وأريد أن إضيفه للكود التالي بحيث تكون العملية بها شرطين لابد من تحقيقهم
حاولت أضيفه بس تطلع رسالة خطأ عند التنفيذ

PHP كود :
           " SELECT SUM([pr2]) AS [Total1] " _
            
" FROM [mate] WHERE po2= True" 
الرد }}}
تم الشكر بواسطة:
#6

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

إذا كان PID نوعه رقم لا تضع علامة ' '

وبعدين الأفضل استخدام البارامترات لتمرير البيانات لجملة الاستعلام. [صورة مرفقة: emotion_confident.png]

الرد }}}
تم الشكر بواسطة:
#7
إقتباس :وبعدين الأفضل استخدام البارامترات لتمرير البيانات لجملة الاستعلام.

أخي الوليد ، لو عندك وقت ممكن توضحلي أكثر !!! مازلت مبتدئ Sad
الرد }}}
تم الشكر بواسطة:
#8

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


البارامترات مثل اللي في الكود في الرد #3

وبعدين سؤالك الأخير أنت وضعت 2 WHERE فما فهمت عليك!

وبعدين LIKE لا تستخدم مع الأرقام.

الرد }}}
تم الشكر بواسطة:
#9
أخي الوليد

العمود po2 عبارة عن checkbox
العمود PID عبارة عن رقم البند وهو غير تسلسلي ( يعنى ممكن يتكرر ) لنفس البند

المهم أنا عملت اللي أنت قلت عليه ولغيت علامة ' ' وتمت العملية بنجاح
أهم شيء يكون ترتيب الشروط حسب ترتيب الأعمدة في قاعدة البيانات

وهذا الكود بعد التعديل
PHP كود :
Dim mom As String _
            
" SELECT SUM([pr2]) AS [Total3] " _
            
" FROM [mate] WHERE PID like " TextBox10.Text " AND po2 = True"
 
       Using da As New OleDbDataAdapter(momconnectionstring)

 
           Using dt As New DataTable

                If da
.Fill(dt) > 0 Then
                    TextBox3
.Text = (dt.Rows(0).Item("Total3"))
 
               End If

 
           End Using
        End Using 

أنا كنت حاب أعرف طريقة الباراميترات إذا كانت هى أفضل وأسهل ، لو عندك مواضيع أو كتب  أعطيني الرابط وأنا أتولى المهمة بنفسي

إقتباس :وبعدين LIKE لا تستخدم مع الأرقام.
طيب أستعمل أيه مع الأرقام ،،،
الرد }}}
تم الشكر بواسطة:
#10

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

إذا كان (العمود po2 عبارة عن checkbox) فما ينفع معها SUM لأن sum تستخدم لمعرفة مجموع مبالغ أو كميات يعني أرقام

الأرقام تستخدم معها = أو < أو > أو <= أو >= وفيه غيرها

(كنت حاب أعرف طريقة الباراميترات) قلت لك البارامترات مثل الرد #3 لكن راح أعيد لك الكود بعد التعديل و(هى أفضل وأسهل)
وممكن تعمل بحث في المنتدى وحتلاقي مواضيع كثيره جداً
وحتقي في الكود كلمة (Parameters) وجملة الاسكويل يشار لها بي (@)

هنا استخدمنا COUNT يعني عدد الأسطر الناتجة مع الشروط المحددة، أعتقد هذا ما تريده
خصوصاً وانت تقول (العمود PID عبارة عن رقم البند وهو غير تسلسلي ( يعنى ممكن يتكرر ) لنفس البند)

PHP كود :
Dim sqlString As String _
    
" SELECT COUNT([pr2]) AS [Total3] " _
    
" FROM [mate] " _
    
" WHERE ([PID]=@pid) AND ([po2]=@po2) "
' وضعنا كل شرط بين قوسين للتنظيم '

Using da As New OleDbDataAdapter(sqlStringconnString)
' لاحظ ترتيب البارامترات هو نفس ترتيب تواجدها في جملة الاسكويل '
    
da.SelectCommand.Parameters.AddWithValue("@pid"Val(TextBox10.Text)) ' Val لأنه رقم '
    
da.SelectCommand.Parameters.AddWithValue("@po2"True)

    
Using dt As New DataTable
        
If da.Fill(dt) > 0 Then
            TextBox3
.Text = (dt.Rows(0).Item("Total3"))
        
End If
    
End Using

End Using 

الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] جمع عمود داتا كريت فيو مع تجاهل الخلايا الفارغة EMADW 4 749 29-04-25, 10:57 PM
آخر رد: Taha Okla
  كيفية احتساب الفرق بين تاريخين بناء على عدد معين مصمم هاوي 2 762 15-01-25, 02:02 PM
آخر رد: مصمم هاوي
  [VB.NET] كيف أجعل الأداة Listbox تعرض عمودين بدل عمود واحد mmaalmesry 6 777 15-10-24, 11:05 AM
آخر رد: Taha Okla
  مساعدة البحث بين تاريخين أبووسم 3 748 16-08-24, 01:37 PM
آخر رد: أبووسم
  البحث بين تاريخين مع الوقت - من بداية اليوم - حتى اخر اليوم moh61 3 764 12-06-24, 08:00 PM
آخر رد: Taha Okla
  مشكلة فى جمع عمود فى داتا جريد فيو احمد خطاب 3 796 06-03-24, 07:49 PM
آخر رد: احمد خطاب
  تعديل بيانات عمود DataGridView دفعة واحدة مصمم هاوي 2 862 05-03-24, 08:27 PM
آخر رد: مصمم هاوي
  كيفية جمع أرقام عمود فى الداتا جريد فيو بناءاً على بيانات معينة heem1986 5 1,053 25-02-24, 11:26 PM
آخر رد: heem1986
  [VB.NET] محتاج كود حساب الفرق بين تاريخين بالايام moustafakamel95 3 1,469 29-01-24, 04:05 PM
آخر رد: مصطفى مصطفى
  [سؤال] كود اظهار رساله في حال وجود الرقم في اكثر من عمود مبرمج صغير 1 6 1,216 09-01-24, 01:41 AM
آخر رد: Taha Okla

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


يقوم بقرائة الموضوع: