حصان طروادة في المفتاح الفريد
#1
السلام عليكم ورحمة الله


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

[صورة: attachment.php?aid=4578]

مثلا هذا الرقم 0000131008202109

اول خمس ارقام محجوزة لرقم الفاتورة 00001 
الرقم السادس 3 يمثل نوع الفاتورة او الحركة
بعدها تاريخ الفاتورة 10082021 = 10-08-2021
بعدها رقم المورد 09
وطبعا باجراء بسيط يمكن تفكيك الرقم واخراج محتواه 
وهكذا هناك الكثير من المعلومات تكون قريبة منك اذا احتجتها 

مجرد فكرة عابرة اردت مشاركتكم اياها


الملفات المرفقة
.gif   Animation.gif (الحجم : 83.31 ك ب / التحميلات : 68)
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
الرد
#2
(05-01-2022, 12:48 PM)Delphi4Us كتب : السلام عليكم ورحمة الله


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

[صورة: attachment.php?aid=4578]

مثلا هذا الرقم 0000131008202109

اول خمس ارقام محجوزة لرقم الفاتورة 00001 
الرقم السادس 3 يمثل نوع الفاتورة او الحركة
بعدها تاريخ الفاتورة 10082021 = 10-08-2021
بعدها رقم المورد 09
وطبعا باجراء بسيط يمكن تفكيك الرقم واخراج محتواه 
وهكذا هناك الكثير من المعلومات تكون قريبة منك اذا احتجتها 

مجرد فكرة عابرة اردت مشاركتكم اياها

السلام عليكم 
السؤال هل يخزن هذا الرقم ؟
إذا كان الجواب نعم لزم إنشاء جدول جديد لنسميه "الحركة "مثلا ويكون الرقم هو المفتاح 
وإذا كان الجواب لا 
فإنه لا لزوم له لأنه على كل حال يمكن الوصول الى المعلومات  المرغوب فيها بدون  إشغال قاعدة البيانات بمزيد من البيانات.و توفير الفضاء .
والله اعلم
الخوف من أي محاولة جديدة طريق حتمي للفشل.
[-] كل من 1 user says قال شكرا ل wadoud على المشاركة المفيدة
  • Delphi4Us
الرد
#3
الرقم لازال يقبل حتى سبعة ارقام اخرى بالتجربة

في مثال الفواتير كما قلت الحقل الفريد لجدول رأس الفاتورة سيكون مرتبط بحقل الفهرس بجدول الحركة
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
[-] كل من 1 user says قال شكرا ل Delphi4Us على المشاركة المفيدة
  • wadoud
الرد
#4
(05-01-2022, 08:18 PM)Delphi4Us كتب : الرقم لازال يقبل حتى سبعة ارقام اخرى بالتجربة

في مثال الفواتير كما قلت حقل الفهرس لجدول رأس الفاتورة سيكون بجدول الحركة

أراه عملا متقنا ،شكرا 

وفقكم الله.
الخوف من أي محاولة جديدة طريق حتمي للفشل.
[-] كل من 1 user says قال شكرا ل wadoud على المشاركة المفيدة
  • Delphi4Us
الرد
#5
مع ملاحظة ان الحقل الفريد في العادة يستخدم من النوع INTEGER ويحجز 4 بايت اما الرقم هذا فيستخدم النوع BIGINTEGER او INT64 ويحجز 8 بايت
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
الرد
#6
السلام عليكم

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

[صورة: attachment.php?aid=4642]
لا يوجد جدول لرأس الفاتورة كله جدول واحد للمشتريات والمبيعات
في الاستعلامات كان قصير جدا واسهل في اجراء العمليات الحسابية واسرع في التنفيذ
هنا لدينا فاتورة متكاملة
BYE-DATE تاريخ الفاتورة طبعا تسجله مرة واحدة فقط لاداعي لتكراره
بعده رقم اصنف وبعده سعر الشراء او البيع وبعده كمية الشراء لو كانت مشتريات وبعده كمية البيع لو كانت مبيعات وبعده رقم الفاتورة وايضا  بعده تاريخ الصلاحية لو كانت مشتريات وبعده رقم نوع الفاتورة وهنا 9 اي مبيعات وبعده رقم المستخدم وبعده المدفوع وهو اجمالي الفاتورة ويجب ان يكون في اول السطر فقط لان هذا سيسهل فيما بعد الاستعلامات لانك لو جمعت باستعلام وكان امدفوع 100 ستكون النتيجة 300 وتحتاج الى انقاصه من عدد الصفوف واجراء عملية في الاستعلام ونحن نحتاج الى اقل وابسط استعلامات وبعدها التخفيظ في اول اسطر تخفيظ على كامل الفاتورة ولو بعده على الصنف الحدد فقط

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


الملفات المرفقة
.jpg   4444.jpg (الحجم : 73.67 ك ب / التحميلات : 22)
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
الرد


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


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