تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] المخزن
#1
السلام عليكم و رحمة الله
إخواني الاعزاء على سبيل هاذا المثال قمت بإخراج مجموعة من أصناف الفواكه في تاريخ محدد
 وبالبحث حسب التاريخ أستطيع ان أطلع على جميع الأصناف التي قمت بإخراجها  في ذالك التاريخ
فأنا أرجو المساعدة بفرز عدد كل صنف الذى تم إخراجه في تاريخه جزاكم الله كل خير.


الملفات المرفقة
.rar   Exemple.rar (الحجم : 17.3 ك ب / التحميلات : 10)
الرد }}
تم الشكر بواسطة:
#2
تم التعديل بطرقتين وإختر أيهما التي تُناسبك
إما الفرز عن طريق الكومبوكس أو التكست بوكس
وفقك الله تعالى

التعديل في المرفقات

.rar   Exemple.rar (الحجم : 16.6 ك ب / التحميلات : 10)
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
الرد }}
تم الشكر بواسطة:
#3
Smile 
مشكورأخي العزيز على الرد سأطلع عليه الأن وأخبرك

أخي العزيز المرغوب فيه وهو أن يكون عدد كل فاكهة في عمود المجموع على سطر واحد بدون تكرار نوع الفاكهة

مثلا في تاريخ 10/01/2021 تم إخراج عدد البرتقال: 5   والبطيخ : 4   والتفاح: 
جزاك الله كل خير.
الرد }}
تم الشكر بواسطة:
#4
وعليكم السلام ورحمة الله وبركاته

أولا قم باستخدام الكود التالي : 

كود :
MSHFlexGrid1.RemoveItem x_Row
أدخله بحلقة (For) للتشييك على جميع اسطر الجدول المعروض لديك (MSHFlexGrid1) 
في حال تكررت اسم فاكهة مرتين تعطي الامر بحذف السجل بالكود السابق (x_Row) تمثل رقم السطر المكرر للفاكهة التي تتحقق من تكراراها
 بعد حذف كل سطر مكرر من الفاكهة .. 
فيبقى فقط لديك اسماء الفواكه بدون تكرار ..
استخدم كود ضمن حلقة (For) أخرى 
ليشيك على كل فاكهة في قاعدة البيانات (كم سجل لها موجود - بحسب مثالك هنا) 
وضمن الحقل الخاص بالمجموع تكتب عدد السجلات التي وجدتها لكل مادة
يعني : 
MSHFlexGrid1.TextMatrix(i, 4) = Rs2.RecordCount
الـ i :يمثل رقم السطر في MSHFlexGrid1 في مشروعك ضمن الحلقة For
---
في حال عدلت مشروعك وأصبحت تكتب الكمبيات المخرجة في حقل Total في قاعدة البيانات :
عندها يجب عليك استخدام دالة الجمع عبر اوامر SQL ليجمع لك قيمة حقل مادة ما 
من قاعدة البيانات لتضعها في حقل المجموع في  (MSHFlexGrid1) .
يعني : 
MSHFlexGrid1.TextMatrix(i, 4) = Rs2!SumTotal

في حال SumTotal  هو مجموع حقل الكميات لكل فاكهة بحسب أمر الجمع الموجود في الـ SQL
مثلا كود الـ SQL يكون كالتالي:
كود :
Rs2.Open "Select Sum(Total)As SumTotal From table1 Where Date >='01/01/2020' and Date <='31/12/2021'"


---

قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}
تم الشكر بواسطة:
#5
مشكور أخي العزيز سؤحاول تطبيق هاذا الكود وأخبرك إن شاء الله

(14-11-21, 04:48 PM)Taha Okla كتب : وعليكم السلام ورحمة الله وبركاته

أولا قم باستخدام الكود التالي : 

كود :
MSHFlexGrid1.RemoveItem x_Row
أدخله بحلقة (For) للتشييك على جميع اسطر الجدول المعروض لديك (MSHFlexGrid1) 
في حال تكررت اسم فاكهة مرتين تعطي الامر بحذف السجل بالكود السابق (x_Row) تمثل رقم السطر المكرر للفاكهة التي تتحقق من تكراراها
 بعد حذف كل سطر مكرر من الفاكهة .. 
فيبقى فقط لديك اسماء الفواكه بدون تكرار ..
استخدم كود ضمن حلقة (For) أخرى 
ليشيك على كل فاكهة في قاعدة البيانات (كم سجل لها موجود - بحسب مثالك هنا) 
وضمن الحقل الخاص بالمجموع تكتب عدد السجلات التي وجدتها لكل مادة
يعني : 
MSHFlexGrid1.TextMatrix(i, 4) = Rs2.RecordCount
الـ i :يمثل رقم السطر في MSHFlexGrid1 في مشروعك ضمن الحلقة For
---
في حال عدلت مشروعك وأصبحت تكتب الكمبيات المخرجة في حقل Total في قاعدة البيانات :
عندها يجب عليك استخدام دالة الجمع عبر اوامر SQL ليجمع لك قيمة حقل مادة ما 
من قاعدة البيانات لتضعها في حقل المجموع في  (MSHFlexGrid1) .
يعني : 
MSHFlexGrid1.TextMatrix(i, 4) = Rs2!SumTotal

في حال SumTotal  هو مجموع حقل الكميات لكل فاكهة بحسب أمر الجمع الموجود في الـ SQL
مثلا كود الـ SQL يكون كالتالي:
كود :
Rs2.Open "Select Sum(Total)As SumTotal From table1 Where Date >='01/01/2020' and Date <='31/12/2021'"

أخي Taha هل من الممكن إضافة هاذا الكود في المثال لكي أفهم أكثر جزاك الله كل خير لأنني وجدته صعب شيء ما بالنسبة لي

---
الرد }}
تم الشكر بواسطة:
#6
الطريقة موجودة في مثال بالمرفقات..

ولكن باستخدام محرك بحث الـ DAO  -- نفس الكود لـ (SQL) تستطيع تطبيقه على ADO     لا يوجد فرق

في البداية : قم بتشغيل الملف التنفيذي ك مسؤول من أجل تفعيل OCX الجدول المستخدم
' --------------------------------------
ثم قم بفتح المشروع لترى الطريقة  
' --------------------------------------
ملاحظة : التاريخ في قاعدة البيانات قم بحفظه على شكل الترتيب الرقمي لتستطيع البحث ضمنه عن قيمة بين تاريخين
لان التاريخ بدون الترتيب الرقمي لا تستطيع البحث فيه بدقة(خاصة انك اخترت نوع الحقل ك نص وليس كتاريخ).
الترتيب الرقمي : يعني السنة ثم الشهر ثم اليوم ( يعني من اليسار لليمين).
بسبب هذه المشكلة اضعت الكثير من الوقت على مثالك هذا حتى عرفت سبب عدم عمل البحث بين تاريخين في مثالك.
حتى أني قمت بتصنيع المثال  من جديد وبطريقة وأدوات مختلفة  حتى وقفت للمشكلة ...
لهذا تجده بـ DAO   وليس  ADO
وبجدول VSFlex   وليس  MSHFlex
'--------------------------------------


الملفات المرفقة
.zip   Example1.zip (الحجم : 229.21 ك ب / التحميلات : 16)

قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}
تم الشكر بواسطة:
#7
(16-11-21, 04:10 AM)Taha Okla كتب : الطريقة موجودة في مثال بالمرفقات..

ولكن باستخدام محرك بحث الـ DAO  -- نفس الكود لـ (SQL) تستطيع تطبيقه على ADO     لا يوجد فرق

في البداية : قم بتشغيل الملف التنفيذي ك مسؤول من أجل تفعيل OCX الجدول المستخدم
' --------------------------------------
ثم قم بفتح المشروع لترى الطريقة  
' --------------------------------------
ملاحظة : التاريخ في قاعدة البيانات قم بحفظه على شكل الترتيب الرقمي لتستطيع البحث ضمنه عن قيمة بين تاريخين
لان التاريخ بدون الترتيب الرقمي لا تستطيع البحث فيه بدقة(خاصة انك اخترت نوع الحقل ك نص وليس كتاريخ).
الترتيب الرقمي : يعني السنة ثم الشهر ثم اليوم ( يعني من اليسار لليمين).
بسبب هذه المشكلة اضعت الكثير من الوقت على مثالك هذا حتى عرفت سبب عدم عمل البحث بين تاريخين في مثالك.
حتى أني قمت بتصنيع المثال  من جديد وبطريقة وأدوات مختلفة  حتى وقفت للمشكلة ...
لهذا تجده بـ DAO   وليس  ADO
وبجدول VSFlex   وليس  MSHFlex
'--------------------------------------
أخي Taha أعتدر على التأخير في الرد لانني كنت مشغول بعض الشيء
قد أتعبتك معي فلك جزيل الشكر فأنا الآن خارج البيت سأجرب المثال وأخبرك إن شاء الله .
الرد }}
تم الشكر بواسطة:
#8
أخي taha أسأل الله العظيم أن يعافيك ويكرمك سأشتغل على المثال وأحاول أن أطوره للأحسن جزاك الله كل خير.
الرد }}
تم الشكر بواسطة:


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


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