تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
لو سمحتوا احبتى مساعدة لله
#1
السلام عليكم ورحمة الله
لدى جدول فيه شغل السيارات فى موقع طوال الشهر اريد من فضلكم مساعدتى غى عمل تقرير اجماليات لكل سياره فى مده محدده وليكن الشهر كامل حاول كثيرا ولكن لم تظبط معى 
وارفقت مثالا لقاعدة البيانات وبها بعض البيانات المدخله ووارفقت ايضا المشروع بدون كودات الا كود الاتصال
واريد ان يظهر التقرير بهذا الشكل كما بالصوره 






الملفات المرفقة
.rar   test_car.rar (الحجم : 90.44 ك ب / التحميلات : 34)
الرد }}}
تم الشكر بواسطة:
#2
من فضلكم اجابة او نصيحه
الرد }}}
تم الشكر بواسطة:
#3
وعليكم السلام ورحمة الله وبركاته

الصورة ما ظهرت معي ..


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

لكن هذه على سبيل المثال :
أولا تخلص من الأعمدة من جدول العرض - ثم استخدم الكود التالي :

كود :
Dim conn As OleDbConnection
Private Sub cars_all_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    ' إعداد اتصال قاعدة البيانات
    conn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=test.accdb;")
End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        If conn.State <> ConnectionState.Closed Then conn.Close()
        conn.Open()

        Dim strCols As String
        strCols = " MO_NAME as [اسم السيارة] "
        strCols &= ", EZN_QTY as [خامه طن]"
        strCols &= ", PRISE_UNIT as [تكلفة خامه]"
        ' أنت صحح البيانات و أكمل الباقي

        Dim d1 As DateTime = DateTimePicker1.Value.ToString("yyyy/MM/dd") ' نحوله لتنسيق نصي تاريخي فقط للتخلص من الفواصل الزمنية (الساعات والدقائق..) وتحديد اليوم فقط
        Dim d2 As DateTime = DateTimePicker2.Value.ToString("yyyy/MM/dd")

        Dim cmd As New OleDb.OleDbCommand("Select " & strCols & " From EZN_SHOKL Where EZN_DATE >= @date1 and EZN_DATE <= @date2 ", conn)

        cmd.Parameters.Add("@date1", OleDbType.Date).Value = d1
        cmd.Parameters.Add("@date2", OleDbType.Date).Value = d2

        Dim dt As New DataTable
        dt.Load(cmd.ExecuteReader())

        dgv_EZN_SHOKL.DataSource = dt

    End Sub
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة: خالد كامل1
#4
(07-10-24, 07:18 AM)Taha Okla كتب : وعليكم السلام ورحمة الله وبركاته

الصورة ما ظهرت معي ..


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

لكن هذه على سبيل المثال :
أولا تخلص من الأعمدة من جدول العرض - ثم استخدم الكود التالي :

كود :
Dim conn As OleDbConnection
Private Sub cars_all_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    ' إعداد اتصال قاعدة البيانات
    conn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=test.accdb;")
End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        If conn.State <> ConnectionState.Closed Then conn.Close()
        conn.Open()

        Dim strCols As String
        strCols = " MO_NAME as [اسم السيارة] "
        strCols &= ", EZN_QTY as [خامه طن]"
        strCols &= ", PRISE_UNIT as [تكلفة خامه]"
        ' أنت صحح البيانات و أكمل الباقي

        Dim d1 As DateTime = DateTimePicker1.Value.ToString("yyyy/MM/dd") ' نحوله لتنسيق نصي تاريخي فقط للتخلص من الفواصل الزمنية (الساعات والدقائق..) وتحديد اليوم فقط
        Dim d2 As DateTime = DateTimePicker2.Value.ToString("yyyy/MM/dd")

        Dim cmd As New OleDb.OleDbCommand("Select " & strCols & " From EZN_SHOKL Where EZN_DATE >= @date1 and EZN_DATE <= @date2 ", conn)

        cmd.Parameters.Add("@date1", OleDbType.Date).Value = d1
        cmd.Parameters.Add("@date2", OleDbType.Date).Value = d2

        Dim dt As New DataTable
        dt.Load(cmd.ExecuteReader())

        dgv_EZN_SHOKL.DataSource = dt

    End Sub

اشكرك يا صديقى على اهتمامك وتلبيتك الجواب على سؤالى جعل الله هذا فى ميزان حسناتك. ولكن  مشكلتى فى تجميع كميه كل صنف  وتجميع التكلفه لكل صنف فى مدة معينه بحسب اسم السياره ارجوا ان تكون الفكره قد وصلت
الرد }}}
تم الشكر بواسطة:
#5
(07-10-24, 07:12 PM)خالد كامل1 كتب : اشكرك يا صديقى على اهتمامك وتلبيتك الجواب على سؤالى جعل الله هذا فى ميزان حسناتك. ولكن  مشكلتى فى تجميع كميه كل صنف  وتجميع التكلفه لكل صنف فى مدة معينه بحسب اسم السياره ارجوا ان تكون الفكره قد وصلت

كما اشار الاخ طه يجب أولا التخلص من الأعمدة من جدول العرض (تسمية الاعمدة تكون اخر شيء بعد التاكد من نجاح الاتصال و الاستعلامات المختلفة)
و هناك اخطاء تبدا من قاعدة البيانات نفسها
مثلا لا يمكن اجراء عمليات حسابية على الحقول النصية مثل الحقل EZN_QTY يجب ان يكون حقل من نوع Numérique او نوع اخر من الحقول الرقمية
الرد }}}
تم الشكر بواسطة: Taha Okla , خالد كامل1
#6
نتيجة العمل لحد الان على اكسس فقط
وكما ذكرت في المشاركة السابقة فقد قمت بتعديل الحقل EZN_QTY الى نوع رقمي مما نتج عنه ضياع الجزء العشري لبعض الحقول (انا اجرب فقط )

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



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


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