الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

استعلام لعرض بينات من عدة جداول

بدأه alpacino88min في 7 يوليو 2013 · 1 رد · 867 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله تعالى و بركاته:
عندي اربعة جداول عائلة منتوج (category of product), منتوج , تفاصيل شراء , فاتورة شراء
حقول الجداول :
عائلة منتوج : الرقم (مفتاح اساسي) , اسم عائلة المنتوح .
منتوج : الرقم (مفتاح اساسي) , الاسم,تاريخ الصنع,تاريخ الانتهاء ,مدة حياة المنتوج,الضريبة 
تفاصيل شراء: الرقم (مفتاح اساسي من جدول المنتوج) , الرقم (مفتاح اساسي من فاتورة شراء), سعر الوحدة, الكمية .
فاتورة شراء : الرقم (مفتاح اساسي) , تاريخ الشراء , التسديد (شك , سيولة نقدية, قرض) , رقم المزود (مفتاح ثانوي) (مفتاح اساسي من جدول المزود) 
العلاقة بين الجداول على التوالي هي كالتالي :
عائلة منتوح (1,n) منتوج (1,n) تفاصيل شراء (1,n) فاتورة شراء .

 

اضافة :
علاقة master-detail بين كل من جدول عائلة منتوج و منتوج , اضافة الى master-detail اخرى بين فاتورة الشراء و تفاصيل شراء .
طبعا هذه العلاقات اي master-detail من خلال البنية التصميمية لقاعدة البيانات ,اي كل عائلة منتوج تحوي على عدد N من المنتوجات , ايضا لكل فاتورة عدد N من تفاصيل الشراء

 

سؤالي: اظهار بعض من حقول جداول عائلة منتوج , منتوج ( اسم عائلة المنتوح,الاسم , الضريبة ) في جدول تفاصيل شراء و ايضا اضافة حقل حسابي لكمية المنتوج المشتراة (الكمية * سعر الوحدة)
خاصية الاتصال و المكونات هي ado دلفي 2010
و بارك الله فيكم وجزاكم خيرا كثيرا.

#2

هذ ا  الكود فعال في جداول من نوع بارادوكس  لكن مع  ado يعمل خلط بالنسبة لاسم المنتوج اي  يعطي كل المنتوجات نفس الاسم(designation) حتى ولو ان ليس لها نفس المفتاح الرئيسي


 


 ;table4.open


Table4.setkey ; // préparation de la recherche du produit qui a la reference tapée

;Table4.fieldbyname(‘ref_prod’).asinteger := Table3.fieldbyname(‘ref_prod’).asinteger

If table4.gotokey then // si le produit existe, on introduit sa designation, prix, tva, et on calcul le total

Begin

;Table3.fieldbyname(‘designation’).asstring:= Table4.fieldbyname(‘designation’).asstring

;Table3.fieldbyname(‘prix_achat’).ascurrency:= Table4.fieldbyname(‘prix_achat’).ascurrency

;Table3.fieldbyname(‘tva’).asfloat:= Table4.fieldbyname(‘tva’).asfloat

;Table3.fieldbyname(‘total’).ascurrency:=Table3.fieldbyname(‘qte_achat’).asfloat*Table4.fieldbyname(‘prix_achat’).ascurrency

;End

تم تعديل هذه المشاركة بواسطة alpacino88min في 7 يوليو 2013 في 16:57

مواضيع مشابهة