تقييم الموضوع :
  • 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 ك ب / التحميلات : 24)
الرد }}}}
تم الشكر بواسطة: 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
اي في جملة الاستعلام أم سيكون في بقية الكود

.....

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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] كيفية حفظ ملف pdf في قاعدة بيانات sql abid 5 4,588 10-05-17, 03:13 PM
آخر رد: safalo
  ظهور خطا عند سحب البيانات وعرضها في الداتا كريد باستخدم الـــ Threading HATEM KAREM 0 84 06-05-17, 04:45 PM
آخر رد: HATEM KAREM
  المساعدة في عمل استعلام قاعدة بيانات sqlserver djelloul 0 68 17-04-17, 07:13 PM
آخر رد: djelloul
  [VB.NET] مشكله عند الحفظ على قاعدة بيانات باستخدام Data Source وقاعدة بيانات اكسس2007 coderarab 8 848 03-04-17, 02:48 AM
آخر رد: ابو إياد
  استفسار حول عدم تكرار البيانات المتألق9 3 148 02-04-17, 03:38 AM
آخر رد: حريف برمجة
  جلب البيانات من ملف txt djelloul 7 181 28-03-17, 03:20 PM
آخر رد: djelloul
  [سؤال] طلب صيغة عامة أو وظيفة لأضافة بيانات لقاعدة البيانات ؟ عبد الله 2 151 10-03-17, 09:36 AM
آخر رد: عبد الله
  سرعة ادخال البيانات داخل ملف اكسس atefkhalf2004 1 163 05-03-17, 04:06 AM
آخر رد: thevirus
  استعادة قاعدة البيانات من ملف النسخة الإحتياطية djelloul 2 166 28-02-17, 03:27 PM
آخر رد: djelloul
  نسخ جدول من قاعدة الي اخري مع الوصف atefkhalf2004 2 151 18-02-17, 01:34 AM
آخر رد: atefkhalf2004

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


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