07-10-24, 07:12 PM
(آخر تعديل لهذه المشاركة : 07-10-24, 07:19 PM {2} بواسطة خالد كامل1.)
(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
اشكرك يا صديقى على اهتمامك وتلبيتك الجواب على سؤالى جعل الله هذا فى ميزان حسناتك. ولكن مشكلتى فى تجميع كميه كل صنف وتجميع التكلفه لكل صنف فى مدة معينه بحسب اسم السياره ارجوا ان تكون الفكره قد وصلت

