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

دلي مشكلة في عمليات حسابية من قاعدة البيانات وإظهارها في تقرير كريستال ريبورت

المثال المرفق
في قاعدة الباينات عدد ما يقارب 19000 سجل

المثال يظهر انتاجية الموظفين خلال الشهر فقط قم بتحديد اداة التاريخ من يوم 1 6 2014
حسب البيانات المدخلة
ومن ثم الضغط على ازارا التقارير الشهري
المشكلة
يأخذ وقت كبير في عملية الجمع واظهارها في القريد
كيل لو كان لدينا عدد 50000 سجل او اكثر
من لديه الحل يفيدنا مشكورين

http://www.4shared.com/rar/vsFW1kMKba/SumDataMonth.html?
الرد
تم الشكر بواسطة:
#2
.....

لست خبير SQL ولكن اجتهادا مني لعله يفيد

لا تنس أن تضيف قاعدة البيانات التي لديك في مجلد debug

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

.....


الملفات المرفقة
.zip   SumDataMonth2.zip (الحجم : 47.05 ك ب / التحميلات : 58)
الرد
تم الشكر بواسطة: Sajad , aftfm
#3
بارك الله فيك وزادك علما

هناك خطأ عند الطباعة موضحة في الصورة رقم 1
و
هناك تكرار في يوم 1 آخر القريد كيف يتم حذفه والانتقال لليوم 1/7/2014
لان بيانات اليوم 1 ظهرت في يوم 1/6/2014 في بداية القريد وبالتالي سيكون تكرار في البيانات ومن ثم خطأ في الجمع
في آخر عمود

موضحة في الصورة رقم 2


الملفات المرفقة صورة/صور
       
الرد
تم الشكر بواسطة:
#4
.....

تحديث لجزء من الكود بخصوص الأيام الزائدة

في زر العرض Button1
كود :
' ترقيم أعمدة الجدول بأرقام الأيام من الشهر
For i = 1 To 31
    If DateTimePicker1.Value.Date.AddDays(i - 1).Month = DateTimePicker1.Value.Date.Month Then
        Me.DataGridView1.Columns(i).HeaderText = DateTimePicker1.Value.Date.AddDays(i - 1).Day
    Else
        Me.DataGridView1.Columns(i).HeaderText = ""
    End If
Next


في زر الطباعة Button2
كود :
' وضع القيم في البارامترات التي في التقرير
For i = 1 To 31
    If DateTimePicker1.Value.Date.AddDays(i - 1).Month = DateTimePicker1.Value.Date.Month Then
        cr1.SetParameterValue(i.ToString, DateTimePicker1.Value.Date.AddDays(i - 1).Day)
    Else
        cr1.SetParameterValue(i.ToString, "")
    End If
Next


أما خطأ الطباعة فلم يظهر عندي،
نسيت أن أذكر أنني قمت بتغيير أسماء البارامترات التي داخل تقرير كريستال ريبورت ليكون لها معنى يسهل التعامل معه
لربما أنك استخدمت تقريرك القديم وليس التقرير المعدل الذي أرفقته مع مثالي

......
الرد
تم الشكر بواسطة: aftfm
#5
صحيح استخدمت التقرير القديم

طيب لو حبيت استخدم الاستعلام عن طريق البحث ليس بين تارخين

ولكن عن طريق حقل فيه بيانات تاريخ ووقت آخر تعديل للسجل من قبل الموظف وليكن اسم الحقل LastDate
كما في الصورة المرفقة
فيتم البحث عن طريقة
مع تحديد الايام من خلام اداة التاريخ DateTimePicker1
هل هذا ممكن مرفق الصورة للجودل المعدل لقاعدة البيانات


الملفات المرفقة صورة/صور
   
الرد
تم الشكر بواسطة:
#6
(16-06-14, 05:36 PM)aftfm كتب : ...
...لو حبيت استخدم الاستعلام عن طريق البحث ليس بين تارخين ولكن عن طريق حقل فيه بيانات تاريخ ووقت آخر تعديل للسجل من قبل الموظف وليكن اسم الحقل LastDate فيتم البحث عن طريقة مع تحديد الايام من خلام اداة التاريخ DateTimePicker1
...

.....

مع أنني لم استوعب هذا لكن..

مشروعك مبني على أساس أيام شهر كامل والتقرير مصمم على هذا الأساس

لتنويع التقارير تحتاج عمل تصميم نافذة عرض وتقرير خاص لكل نوع على حدة

.....
الرد
تم الشكر بواسطة:
#7
نعم المشروع مبنى على اساس ايام الشهر

لكن جدلاً هل يمكن الجمع بدون تاريخ مثلا لدي الحقل المذكور
LastDate وفيه بيانات التاريخ والوقت

مثل 201406011200
المطلوب البحث بنفس فكرة الكود الذي قمت بتكوينه ولكن من هذا الحقل يتم اختيار التاريخ

البحث بجزء من النص فيه أي نأخذ التاريخ

20140601
ممكن
الرد
تم الشكر بواسطة:
#8
(16-06-14, 05:54 PM)aftfm كتب : ...مثلا لدي الحقل المذكور LastDate وفيه بيانات التاريخ والوقت
مثل 201406011200

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

البحث بجزء من النص فيه أي نأخذ التاريخ
20140601
ممكن

.....

سيكون هناك اختلاف قد يكون بسيط لأنك استخدمت النص بدلا من التاريخ

مبدئياً سيكون البحث مثلا بطريقة (MID(LastDate,1,8 والرقم 8 عدد رموز (20140601) ولكن لماذا استخدمت النص
إذا كان الهدف إضافة الوقت فإن Date_Add يشمل الوقت أيضاً

عموماً لا شيء مستحيل طالما أن المطلب منطقي

.....
الرد
تم الشكر بواسطة:
#9
هل التغيير سيكون فقط في الـ Function
اي في جملة الاستعلام أم سيكون في بقية الكود
الرد
تم الشكر بواسطة:
#10
(16-06-14, 06:11 PM)aftfm كتب : هل التغيير سيكون فقط في الـ Function
اي في جملة الاستعلام أم سيكون في بقية الكود

.....

طبعاً التغيير سيكون في جملة الاستعلام ولكن قد تصادف أمور يحتاج الكود فيها لبعض التغييرات ويستبين ذلك عند الشروع في العمل

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Information [سؤال] انشاء قاعدة بيانات access واضافة جدول وحقول بكود vb.net fefooo29 4 3,356 10-06-19, 09:31 PM
آخر رد: sherf
  مساعدة في تصميم قاعدة بيانات ادارة ساعات عمل الموظفين Rabeea Qbaha 6 105 06-06-19, 12:23 AM
آخر رد: elgokr
  قاعدة البيانات بتقفل كل شوية احمد خطاب 5 212 11-05-19, 04:24 AM
آخر رد: احمد خطاب
  سؤال عن قواعد البيانات في فيجوال بيسك2015 Emam emam 6 152 11-05-19, 04:02 AM
آخر رد: Emam emam
  [VB.NET] مشغل قواعد البيانات sql , mysql محمد اسماعيل 2 120 20-04-19, 12:32 PM
آخر رد: محمد اسماعيل
  [VB.NET] قاعدة بيانات postgress tarek 2 203 06-04-19, 09:07 PM
آخر رد: elgokr
  [SQL] مشكلة في ربط قاعدة البيانات SQLSERVER2014 بـ فيجول بيسك 2017 اباذر 4 260 16-03-19, 12:00 AM
آخر رد: اباذر
  طريقة ادخال اعداد تحتوي على فاصلة في قاعدة البيانات segma 21 628 12-03-19, 10:23 PM
آخر رد: segma
  [VB.NET] البحث عن مسار مجلد ضمن قاعدة البيانات اكسس وفتحه من الفورم EMADSSS 1 206 21-02-19, 04:38 PM
آخر رد: elgokr
  (سؤال؟)كود اضافة التاريخ في قاعدة البيانات اسمهان 1 254 20-02-19, 11:08 AM
آخر رد: alfaiz678

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


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