تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] استعلام متقدم اجهدني
#11
مفيش حاجة اسمها ديون قديمة او جديدة 
الدين في كل الاحوال اسمه دين فقط 
في حاجة اسمها كشف حساب عميل او بيان عميل او سميه كما شاءت
فكل ما هو مدين يندرج تحت المدين مثل
مسحوبات البضاعة (المبيعات)
وكل ماهو دائن يندرج تحت الدائن مثل
الدفعات النقدية
شراء بضاعة منه 
وهكذا 
فهذا يضاف (مدين)للبيان وهذا يخصم (دائن)
صلى الله على نبينا محمد
اخيكم / محمود صالح
  قال الزهري رحمه الله  
 مــا عُـــبـِد الله بشئ أفضل من العلم 
الرد }}}
تم الشكر بواسطة:
#12
(01-04-18, 03:30 PM)محمود صالح كتب : مفيش حاجة اسمها ديون قديمة او جديدة 
الدين في كل الاحوال اسمه دين فقط (مدين)
في حاجة اسمها كشف حساب عميل او بيان عميل او سميه كما شاءت
فكل ما هو مدين يندرج تحت المدين مثل
مسحوبات البضاعة (المبيعات)
وكل ماهو دائن يندرج تحت الدائن مثل
الدفعات النقدية
شراء بضاعة منه 
وهكذا 
فهذا يضاف (مدين)للبيان وهذا يخصم (دائن)
اشكرك علي متابعتك

نعم  محاسبيا ماقلت صحيح تماما ولكن انت تتعامل مع عملاء وفقا لمفهومهم وطلابتهم انا خريج كلية تجارة وللاسف المستخدمين من الاساس مش عايزين دفتر الاستاذ او قائمة المركز المالي الميزانية او اي شيء محاسبي هو بالاساس لايعي المدين (مبالغ لك) والدائن (مبالغ عليك ) ولا يعي الخفض الضريبي
او قوائم المالية انا نسيت المحاسبة بسببهم
في احيان اخري بلاحظ ان كمان الاسماء العلمية غير مطلوبة عند المستخدمين فانا مقيد بفهم المستخدم لان اغلب المستخدمين ممن لهم محلات ليسو علي درجة عالية من التعليم
الرد }}}
تم الشكر بواسطة:
#13
أخ محمد اسماعيل




حسب ما رأيت في قاعدة البيانات لديك : 
   
قاعدة البيانات لديك معمولة بطريقة غير صحيحة
صحح لي إن كنت مخطئ

على سبيل المثال : 
0 - جميع الحقول تقبل أن تكون خالية ( حتى اسم العميل لا يشترط أن تكتب اسم العميل لاحظ السجل رقم 26 و 27 في الصورة بالأعلى )  ( يعني أستطيع إدخال سجل خالي تماماً لا يحتوي على أي شيء ) غير منطقي جداً .
0 - جميع الجداول غير مرتبطة ببعضها البعض, لا يوجد هناك أي رابط على اسس سليمة. كل جدول يسبح في فضاء مختلف 
                         ( يعني ممكن أحذف جميع العملاء وتبقى سجلات الدفعات موجودة ) غير منطقي حذف السجل الأب ولدية سجلات أبناء
                          ( تقوم بالربط من خلال اسم العميل , واسم العمل مكرر كثيراً في جدول العملاء  ) ( يتم الربط فقط من خلال الحقل - المفتاح الأساسي ) ( والاسم ليس مفتاح أساسي )
0 - جدول العملاء : يقبل تكرار اسم العميل , يعني ممكن تسجل أكثر من سجل بنفس الاسم والنهاية كلهم يعبرون عن عميل واحد ( فكرة خطأ )
0 - بيانات المشتريات مسجلة في الجدول الخاص ببيانات العميل وليس في جدول المشتريات

مهما كانت الفكرة التي تريد الوصول إليها , تصميم قاعدة البيانات يجب أن يكون على أسس صحيحة لإنشاء قواعد بيانات سليمة





أخ محمود صالح : 
لبناء جمل إستعلام فعالة يجب أن يكون تصميم قاعدة البيانات على أسس صحيحة  , ( على أقل تقدير العلاقات ومن ضمنها الحقول الأساسية في كل جدول مرتبط ) 


مثال بسيط :
   



   

أي لا تضع اسم العميل في جدول المشتريات أو في جدول الدفعات , فقط رقم العميل ( ومن خلالة تستطيع جلب جميع بيانات العميل )
ومن خلال رقم العميل تستطيع أن تقوم بجلب جميع دفعاتة وجميع مشترياتة , بدون اللجوء إلى اسم عميل من الممكن أن يتكرر
الرد }}}
تم الشكر بواسطة: الحسين احمد
#14
(01-04-18, 05:17 PM)عبدالله الدوسري كتب : أخ محمد اسماعيل




حسب ما رأيت في قاعدة البيانات لديك : 

قاعدة البيانات لديك معمولة بطريقة غير صحيحة
صحح لي إن كنت مخطئ

على سبيل المثال : 
0 - جميع الحقول تقبل أن تكون خالية ( حتى اسم العميل لا يشترط أن تكتب اسم العميل لاحظ السجل رقم 26 و 27 في الصورة بالأعلى )  ( يعني أستطيع إدخال سجل خالي تماماً لا يحتوي على أي شيء ) غير منطقي جداً .
0 - جميع الجداول غير مرتبطة ببعضها البعض, لا يوجد هناك أي رابط على اسس سليمة. كل جدول يسبح في فضاء مختلف 
                         ( يعني ممكن أحذف جميع العملاء وتبقى سجلات الدفعات موجودة ) غير منطقي حذف السجل الأب ولدية سجلات أبناء
                          ( تقوم بالربط من خلال اسم العميل , واسم العمل مكرر كثيراً في جدول العملاء  ) ( يتم الربط فقط من خلال الحقل - المفتاح الأساسي ) ( والاسم ليس مفتاح أساسي )
0 - جدول العملاء : يقبل تكرار اسم العميل , يعني ممكن تسجل أكثر من سجل بنفس الاسم والنهاية كلهم يعبرون عن عميل واحد ( فكرة خطأ )
0 - بيانات المشتريات مسجلة في الجدول الخاص ببيانات العميل وليس في جدول المشتريات

مهما كانت الفكرة التي تريد الوصول إليها , تصميم قاعدة البيانات يجب أن يكون على أسس صحيحة لإنشاء قواعد بيانات سليمة





أخ محمود صالح : 
لبناء جمل إستعلام فعالة يجب أن يكون تصميم قاعدة البيانات على أسس صحيحة  , ( على أقل تقدير العلاقات ومن ضمنها الحقول الأساسية في كل جدول مرتبط ) 


مثال بسيط :






أي لا تضع اسم العميل في جدول المشتريات أو في جدول الدفعات , فقط رقم العميل ( ومن خلالة تستطيع جلب جميع بيانات العميل )
ومن خلال رقم العميل تستطيع أن تقوم بجلب جميع دفعاتة وجميع مشترياتة , بدون اللجوء إلى اسم عميل من الممكن أن يتكرر
قاعدة البيانات لاتقبل عدم وجود قيم والعميل مجبر علي ادخال القيم بشكلها المحدد لوصف العمود ولكن هذا مثال وضعت بيانات مؤقتة لكي اوضح طلبي لحضرتك لايمكن ان اضع خلايا بدون بيانات كمان الداتا جريد مش بخليها تقبل NULL
ومعدلها = 0


ماقلتة صحيح استاذي عبد اللّة  ونحن نتعلم من حضرتك

ولكن الاستعلام البسيط سيفي باظهار الصورة المطلوبة للعميل البرنامج كلة 4 جداول مش عايز اكبر الموضوع واعدل الجداول واشكر حضرتك علي تنبيهي

او سيكون امامي تعديل الجداول بالعلاقات وسياخذ جهد ووقت

انا جربت بالكود دة ولكن لم يعمل معي نهائيا
الرد }}}
تم الشكر بواسطة:
#15
بما أنها أربع جداول , أرى أن الموضوع جدير بإعادة صياغة قاعدة البيانات , 
وإن كنت تريد المساعدة في إعادة صياغتها بصورة سليمة , أنا مستعد لمساعدتك في ذلك.

جملة الإستعلام التي طلبتها , صدقني , ( أي شخص يعلم الاسس الصحيحة لإنشاء قواعدة البيانات ) ( الفنية والمنطقية )
سيكون هذا الطلب في صراع مع المبادء والأسس التي يعرفها ,
الرد }}}
تم الشكر بواسطة:
#16
(01-04-18, 05:41 PM)عبدالله الدوسري كتب : بما أنها أربع جداول , أرى أن الموضوع جدير بإعادة صياغة قاعدة البيانات , 
وإن كنت تريد المساعدة في إعادة صياغتها بصورة سليمة , أنا مستعد لمساعدتك في ذلك.

جملة الإستعلام التي طلبتها , صدقني , ( أي شخص يعلم الاسس الصحيحة لإنشاء قواعدة البيانات ) ( الفنية والمنطقية )
سيكون هذا الطلب في صراع مع المبادء والأسس التي يعرفها ,

طيب بالنسبة للعملاء الاجل  يفضل الربط الجداول

- وبالنسبة للعملاء الكاش الغير داأمين تنتهي معاملتهم بمجرد البيع يعني بعد البيع ممكن لاتسجل لة تعاملات وممكن تتشابه اسماؤهم بكل سهولة

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

ساقوم بتعديل الجداول واعطني رايك
الرد }}}
تم الشكر بواسطة:
#17
جدول : العملاء 


جدول : عمليات البيع ( ليس إجباري أن يرتبط بعميل  ) ( مجرد عملية بيع لدواعي الحسابات المالية ) 
           قم بإبتكار رقم فاتورة يرتبط بجميع العانصر التي إشتراها العميل
              مثلاً : عميل إشترى 10 ( أشياء/مواد/عناصر ) بأسعار مختلفة 
                     كل عنصر يعتبر سجل مستقل يحتوي على رقم الصنف أو بياناته وسعرة
                     الآن لديك 10 سجلات في جدول ( عمليات البيع ) 
                     إعتبر هذة العملية كاملة بما فيها الـ 10 سجلات موجودة داخل ( سلة مشتريات واحدة - أقصد بها رقم الفاتورة )
                     لو بحثت عن رقم الفاتورة ستجد الـ 10 سجلات التي قام العميل بشرائها ( سواءاً سجلت باسم عميل - لأنه سيدفع آجلاً / أو لم تسجل - لأنه دفع كاش ولا تحتاج بيانات العميل أصلاً )
                     بإمكانك ربط سجل عملية البيع الواحدة برقم الفاتورة فقط - ولا وجود لأي بيانات عن العميل , أي كل سجل من سجلات الـ 10  يحتوي على رقم الفاتورة.
                     من جهة أخرة تربط رقم الفاتورة بالعميل , هنا أصبح العميل مرتبط برقم الفاتورة وبالتالي مرتبط بجميع عمليات البيع الموجودة في هذة الفاتورة ( إذا تم ربط العميل لأنه سيدفع آجلاً )

جدول : الفواتير ( رقم الفاتورة - مجموع مبلغ الفاتورة - المبلغ المدفوع - رقم العميل وليس بإجباري في حال الكاش / في حال كان المبلغ المدفوع يغطي قيمة الفاتورة )
                     في حال الدفع الآجل : ترتبط هذة الفاتورة برقم العميل - وبإمكانك البحث في جدول الدفعات بواسطة رقم الفاتورة لترى إن كان مجموع الدفعات يغطي كامل الفاتورة

                     ( إحتمال أن يكون للعميل أكثر من فاتورة - كل فاتورة تحتوي على عناصر مختلفة عن الأخرى )

جدول : بيانات الأصناف وأسعارها وتفاصيلها ( إن وجد ) لربطها بعملية البيع

جدول : الدفعات ( المبالغ التي دفعها العميل وإن كانت على شكل أقساط ) من ظمن هذا الجدول , رقم العميل - رقم الفاتورة
           عند الدفع يجب تحديد رقم الفاتورة - ليتم تغطيتها بهذا المبلغ - وبإمكان الحصول على رقم الفاتورة من خلال رم العميل - ستجد كل الفواتير التي تخص هذا العميل - 
           كما سيكون من الواضح الفواتير التي تم تسديدها بالكامل من الفواتير التي لم تغلق بعد عند البحث عن عميل معين



هذا سيناريوا من مخيلتي بدون دراسة أي إحتمالات
في النهاية :
طريقة العمل لدى المستخدم ( المحل أو البائع ) هي من تحدد كيفية وطريقة تصميم قاعدة البيانات
الرد }}}
تم الشكر بواسطة: محمد اسماعيل
#18
(01-04-18, 11:40 PM)عبدالله الدوسري كتب : جدول : العملاء 


جدول : عمليات البيع ( ليس إجباري أن يرتبط بعميل  ) ( مجرد عملية بيع لدواعي الحسابات المالية ) 
           قم بإبتكار رقم فاتورة يرتبط بجميع العانصر التي إشتراها العميل
              مثلاً : عميل إشترى 10 ( أشياء/مواد/عناصر ) بأسعار مختلفة 
                     كل عنصر يعتبر سجل مستقل يحتوي على رقم الصنف أو بياناته وسعرة
                     الآن لديك 10 سجلات في جدول ( عمليات البيع ) 
                     إعتبر هذة العملية كاملة بما فيها الـ 10 سجلات موجودة داخل ( سلة مشتريات واحدة - أقصد بها رقم الفاتورة )
                     لو بحثت عن رقم الفاتورة ستجد الـ 10 سجلات التي قام العميل بشرائها ( سواءاً سجلت باسم عميل - لأنه سيدفع آجلاً / أو لم تسجل - لأنه دفع كاش ولا تحتاج بيانات العميل أصلاً )
                     بإمكانك ربط سجل عملية البيع الواحدة برقم الفاتورة فقط - ولا وجود لأي بيانات عن العميل , أي كل سجل من سجلات الـ 10  يحتوي على رقم الفاتورة.
                     من جهة أخرة تربط رقم الفاتورة بالعميل , هنا أصبح العميل مرتبط برقم الفاتورة وبالتالي مرتبط بجميع عمليات البيع الموجودة في هذة الفاتورة ( إذا تم ربط العميل لأنه سيدفع آجلاً )

جدول : الفواتير ( رقم الفاتورة - مجموع مبلغ الفاتورة - المبلغ المدفوع - رقم العميل وليس بإجباري في حال الكاش / في حال كان المبلغ المدفوع يغطي قيمة الفاتورة )
                     في حال الدفع الآجل : ترتبط هذة الفاتورة برقم العميل - وبإمكانك البحث في جدول الدفعات بواسطة رقم الفاتورة لترى إن كان مجموع الدفعات يغطي كامل الفاتورة

                     ( إحتمال أن يكون للعميل أكثر من فاتورة - كل فاتورة تحتوي على عناصر مختلفة عن الأخرى )

جدول : بيانات الأصناف وأسعارها وتفاصيلها ( إن وجد ) لربطها بعملية البيع

جدول : الدفعات ( المبالغ التي دفعها العميل وإن كانت على شكل أقساط ) من ظمن هذا الجدول , رقم العميل - رقم الفاتورة
           عند الدفع يجب تحديد رقم الفاتورة - ليتم تغطيتها بهذا المبلغ - وبإمكان الحصول على رقم الفاتورة من خلال رم العميل - ستجد كل الفواتير التي تخص هذا العميل - 
           كما سيكون من الواضح الفواتير التي تم تسديدها بالكامل من الفواتير التي لم تغلق بعد عند البحث عن عميل معين



هذا سيناريوا من مخيلتي بدون دراسة أي إحتمالات
في النهاية :
طريقة العمل لدى المستخدم ( المحل أو البائع ) هي من تحدد كيفية وطريقة تصميم قاعدة البيانات

[b]عبدالله الدوسري

انجزت واوجزت في مقال قصير إنشاء اللّة يكون إفادة للجميع خالص الشكر والتقدير علي مجهودك معي


[/b]
الرد }}}
تم الشكر بواسطة:



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


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