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


الملفات المرفقة
.rar   WindowsApplication3.rar (الحجم : 94.97 ك ب / التحميلات : 23)
الرد
تم الشكر بواسطة:
#2
قم باستخدام هذا الكود لحساب مجموع العمود
لكن قبل ذلك أضن أنه من الأفضل أن تقوم بإضافة عمود مخفي و تحويل عمود الوقت إلى دقائك
بعد حساب مجموع الدقائق بهذا الكود
قم بقسمته على 60 

هذه فكرة فقط
انتظر الأعضاء لحل أفضل

كود :
       Dim i As Integer
       Dim x As Double = 0


       For i = 0 To DataGridView1.Rows.Count - 1
           If Not DataGridView1.Rows(i).Cells(6).Value Is DBNull.Value Then

               x = x + DataGridView1.Rows(i).Cells(6).Value

           End If
       Next

       Label6.Text = x
الرد
#3
اخي لم يجدي نفعا هذا الكود واتمنى ان يكون هناك كود اخر وأريد أيضا البحث عن شخص بين تاريخين واسم الشخص وأريد بعد كود إيجاد رئيس الفريق في الجدول
الرد
تم الشكر بواسطة:
#4
تعال فى كود حدث Button1_Click
واستبدله كلياً بهذا الكود
كود :
       DT.Clear()
       adapter = New OleDbDataAdapter("SELECT * FROM Table1 WHERE NameT LIKE '%" & TextBox1.Text & "%' AND DateA BETWEEN #" & DateTimePicker1.Value.ToShortDateString & "# AND #" & DateTimePicker2.Value.ToShortDateString & "#", con)

       adapter.Fill(DT)
       DataGridView1.DataSource = DT

       If DT.Rows.Count = 0 Then
           MsgBox("No match found ?")
       End If

بكدة سيتم البحث بين تاريخيين وكذلك مع تطابق جزئي للاسم بالحرف

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
#5
(14-06-19, 02:54 PM)elgokr كتب :
تعال فى كود حدث Button1_Click
واستبدله كلياً بهذا الكود
كود :
       DT.Clear()
       adapter = New OleDbDataAdapter("SELECT * FROM Table1 WHERE NameT LIKE '%" & TextBox1.Text & "%' AND DateA BETWEEN #" & DateTimePicker1.Value.ToShortDateString & "# AND #" & DateTimePicker2.Value.ToShortDateString & "#", con)

       adapter.Fill(DT)
       DataGridView1.DataSource = DT

       If DT.Rows.Count = 0 Then
           MsgBox("No match found ?")
       End If

بكدة سيتم البحث بين تاريخيين وكذلك مع تطابق جزئي للاسم بالحرف

تحياتى لك
وتمنياتى لك التوفيق


أشكرك أخي على الرد نجح عندي الكود ولكن اريد الاشياء الأخرى
الا وهي كيفية حساب الوقت في الداتا جريد فيو واظهار الناتج في تيكست بوكس 
كيفية معرفة رئيس الفريق
الرد
تم الشكر بواسطة: عبد العزيز البسكري
#6
(15-06-19, 09:50 AM)alshandodi كتب : أشكرك أخي على الرد نجح عندي الكود ولكن اريد الاشياء الأخرى

الشكر لله والحمد لله
والحمد لله على كل حال

(15-06-19, 09:50 AM)alshandodi كتب : الا وهي كيفية حساب الوقت في الداتا جريد فيو واظهار الناتج في تيكست بوكس

بخصوص الوقت ستحتاج الى استخدام TimeSpan
ولاتمام الامر بكود منى وارساله لك قم بتوضيح ولو بصورة
اى من الاعمدة المطلوبة والفكرة المطلوبة تماماً من الاحتساب كا طرح والجمع
حتى يتم عمل الكود بناءاً لما ترده

(15-06-19, 09:50 AM)alshandodi كتب : كيفية معرفة رئيس الفريق
اين موقعه فى قاعدة البيانات
بمعنى ما العمود والجدول المشير الى رئيس الفرق حتى افيدك به
فيجب انت من يكون على علم بناءاً لتوزيعك لقاعدة البيانات
فقط وضح لى اى جدول واى عمود يكون مذكور به اسم الرئيس
حتى افيدك بالكود الذى يعرض لك اسم الرئيس فى TExtBox او فى الدتا جريد باعطائه لون معين

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة:
#7
(15-06-19, 04:20 PM)elgokr كتب :
(15-06-19, 09:50 AM)alshandodi كتب : أشكرك أخي على الرد نجح عندي الكود ولكن اريد الاشياء الأخرى

الشكر لله والحمد لله
والحمد لله على كل حال

(15-06-19, 09:50 AM)alshandodi كتب : الا وهي كيفية حساب الوقت في الداتا جريد فيو واظهار الناتج في تيكست بوكس

بخصوص الوقت ستحتاج الى استخدام TimeSpan
ولاتمام الامر بكود منى وارساله لك قم بتوضيح ولو بصورة
اى من الاعمدة المطلوبة والفكرة المطلوبة تماماً من الاحتساب كا طرح والجمع
حتى يتم عمل الكود بناءاً لما ترده




(15-06-19, 09:50 AM)alshandodi كتب : كيفية معرفة رئيس الفريق
اين موقعه فى قاعدة البيانات
بمعنى ما العمود والجدول المشير الى رئيس الفرق حتى افيدك به
فيجب انت من يكون على علم بناءاً لتوزيعك لقاعدة البيانات
فقط وضح لى اى جدول واى عمود يكون مذكور به اسم الرئيس
حتى افيدك بالكود الذى يعرض لك اسم الرئيس فى TExtBox او فى الدتا جريد باعطائه لون معين

تحياتى لك
وتمنياتى لك التوفيق


إقتباس :    
إقتباس :حساب هذا الوقت الموضح في الصورة
الرد
تم الشكر بواسطة:
#8
بخصوص هذا الامر كل ما عليك اضافة هذا الـ Function
كود :
   Function GetTotalTime(ByVal dgv As DataGridView, ByVal iRows As Integer, Optional iRmove As Integer = 2)
       Dim sumtime As TimeSpan = New TimeSpan
       For i As Integer = 0 To dgv.RowCount - iRmove
           Dim MTime As String() = dgv.Rows(i).Cells(iRows).Value.ToString.Split(":")
           sumtime += TimeSpan.FromSeconds(Val((MTime(0) * 60) * 60)) + TimeSpan.FromSeconds(Val(MTime(1) * 60)) + TimeSpan.FromSeconds(MTime(2))
       Next
       Dim mtTotalTime As String = sumtime.Hours.ToString("00") & ":" & sumtime.Minutes.ToString("00") & ":" & sumtime.Seconds.ToString("00")
       Return mtTotalTime
   End Function

الان ناتى فى حدث اللود الفورم أو الزر حسب ما تريد اتمام تنفيذ كود اجمالى الوقت

وقم بوضع الكود كمثال التالى
كود :
       Label1.Text = GetTotalTime(DataGridView1, 0)

كن معايا هنا كده عشان توضح معك الامر جيداً
حتى تتجنب اى خطاء قد يحدث معك

الـ GetTotalTime يتطلب 3 قيم
القيمة الاولى وهو اسم الداتا جريد
القيمة الثانية وهو رقم العمود الذى يحتوى على الوقت
القيمة الثالثة اختيارى لعدد الصفوف التى سيتم تخطيها فى عملية For

الكود الفعلى للامر هو
كود :
GetTotalTime(DataGridView1, 0, 2)

حيث DataGridView1 هو اسم الداتا جريد لديك

ورقم 0 هنا يشير الى ترتيب رقم العمود الذى يحتوى على الوقت تذكر ان العد يبداء من 0 وليس 1
يعنى لو العمود كان رقم 4 من حيث العد برقم 1 يبقي هنا المقصود به ان العمود رقم 3 فيكتب بدلاً من 0

ورقم 2 هنا اختياري لا يلزم كتابته
ولكن سيتم كتابته بدلاً منه رقم 1 اذا كان الداتا جريد لا يدعم الاضافة اليدوية
بمعنى انه معطل خاصية ادخال البيانات من خلال المستخدم كا كتابة بالداتا جريد

وهو يخص عملية For لهذا الكود
كود :
For i As Integer = 0 To DataGridView1.RowCount - 2

فاذا كان عملية الاضافة معطلة بالداتا جريد 

فهنا سيلزم عليك جعل الامر بهذا الشكل
كود :
       Label1.Text = GetTotalTime(DataGridView1, 0, 1)

اتمنى يكون الشرح مبسط لك
وان يكون الامور كاملة معك الان

عند تنفيذ الكود على الصورة ستجد يتم جلب الاجمالى
PHP كود :
12:00:30 

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة: alshandodi
#9
اشكرك جزيل الشكر عزيزي وأخي واتمنى لك التوفيق والتقدم
الرد
تم الشكر بواسطة: elgokr , elgokr
#10
الشكر لله والحمد لله
والحمد لله على كل حال

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة: alshandodi , alshandodi



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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم