• 0
2004mimo

سؤال لعمل جملة استعلام لجدولين ؟

سؤال

السلام عليكم و رحمة الله و بركاته

كيف يتم عمل جملة استعلام فى هذا المثال ...

اذا كان لدينا جدولين ( جدول مبيعات) و (جدول مشتريات)

كيف يمكن عرض الكميه المباعة و الكميه المشتراه بدلالة اسم الصنف

فإذا لم يتم البيع من هذا الصنف .. تضهر الكميه المشتراه و بجوارها الكميه المباعة (صفر)

بحيث تظهر اسم الصنف و الكمية المشتراه و الكمية المباعة

مع العلم ان حقل اسم الصنف سيتم استدعائه من جدول المشتريات

وسيتم عرض هذا الاستعلام فى داتا جريد

ارجو التفاعل ... من القراء :(

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

15 إجابة على هذا السؤال .

  • 0

جرب الكود التالى

select id as[رقم الموظف],name as[اسم الموظف],manger.mname as[اسم الادارة],emp as[الوظيفة]from emps,manger where emps.cod=manger.code and emp='" + y + "'"

عندما تريد عمل استعلام بين جدولين اكتب اسم الجدول ثم اسم الحقل: manger.mname حيث manger اسم الجدول ونكتب بعده نقطة وبعدها اسم الحقل وهو هنا فى المثال mname .

ارجو ان تجرب الكود التالى وتخبر نى بالنتيجة .

شكرا ... وبالتوفيق.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا اخى ( fady vb ) على تعاونك

المطلوب هو تعديل هذا المثال بحيث يتم عرض البيانات فى داتا جريد واحدة

فتكون حقول الداتا جريد .. الصنف .. المشتريات .. المبيعات .. كما بالصورة التالية

untitled4le1.png

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

هى (صفر)

او ما هو الاسلوب لعمل هذا الاستعلام :^)

ارجو سرعة الرد :unsure:

Exm.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

فى انتظار الرد ....!

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الكريم لقد نزلت المشروع ونظرت إلى تصميم قاعدة البيانات .. مثل هذا التصميم قد يتعبك في الإستعلام لأكثر من جدول . كان الأفضل أن تضع جدول خاص بالاصناف وجدول خاص بالمبيعات وجدول خاص بالمشتريات ثم تجمع بين الثلاثة ويمكنك الجمع بين أربعة أو خمسة جداول ولكن بشرط أن يكون تصميم قاعدة البيانات جيداً ..

وعلى فكرة لغة الإستعلام ( SQL ) بها الكثير من الأوامر أنصحت بتعلمها فهي مفيدة جداً في بناء الإستعلامات . ( هل تعلم أنه يمكنك عمل جملة ( IF ) في الإستعلام نفسه ..!!! )

على العموم يمكنك الجمع بين هذين الجدولين بهذا الكود في داتا قريد واحدة ..

    RS.Open "SELECT DISTINCT buy.buy5 AS Category, SUM(buy.buy6) AS Bye, SUM(sel.sel7) AS Sale" & _
           " FROM buy LEFT JOIN sel ON(buy.buy5=sel.sel6)" & _
           " GROUP BY buy.buy5", DB

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

أتمنى لك التوفيق .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

انني اشكرك وادعو الله ان يبارك لك في علمك وكل احوالك اخى ( shoqi )

اذا قمت بإضافة جدول للاصناف و قمت بتسميته Item فية الحقول ID و Name

فما هو الكود الذى يقوم بعمل ربط بينهم و عمل النتائج المطلوبه

انا انتظر الحل :huh:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

للرفع

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

فين الحلول يا جماعة

المشكلة مهمة بالنسبه لى ارجو الاهتمام بحلها

:unsure: :unsure: :unsure: :unsure:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الكريم

هذا مثال بسيط سوف يحل لك مشكلتك بإذن الله تعالى

المثال يحتوي على 3 جداول: Items,Purchases,Sales و3 استعلامات: PurchasesQuery, SalesQuery, Total Query

لو جربت هذا الاستعلام الأخير فسوف تلاحظ أن الصنف رقم 3 له مشتريات وليس له مبيعات، لذا فإن قيمة المبيعات الخاصة به = صفر.

وهذا عن طريق دالة IIF ودالة IsNull وخاصية الربط LEFT JOIN الموجودة في الاستعلام.

آمل أن يحوز رضاك.

إذا كان هناك أي استفسار عن المثال أنا مستعد بمشيئة الله تعالى.

وإذا سنحت الظروف سوف أنشر شرحاً مبسطاً للمثال لكي تعم الفائدة.

والله من وراء القصد وهو يهدي السبيل.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الكريم

هذا مثال بسيط سوف يحل لك مشكلتك بإذن الله تعالى

المثال يحتوي على 3 جداول: Items,Purchases,Sales و3 استعلامات: PurchasesQuery, SalesQuery, Total Query

لو جربت هذا الاستعلام الأخير فسوف تلاحظ أن الصنف رقم 3 له مشتريات وليس له مبيعات، لذا فإن قيمة المبيعات الخاصة به = صفر.

وهذا عن طريق دالة IIF ودالة IsNull وخاصية الربط LEFT JOIN الموجودة في الاستعلام.

آمل أن يحوز رضاك.

إذا كان هناك أي استفسار عن المثال أنا مستعد بمشيئة الله تعالى.

وإذا سنحت الظروف سوف أنشر شرحاً مبسطاً للمثال لكي تعم الفائدة.

والله من وراء القصد وهو يهدي السبيل.

Example.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

متأسف أخي ( 2004mimo ) على تأخر الرد .. فلم أكن أتوقع أن الأمر يهمك كثيراً وقد كنت مشغولاً جداً ..

لقد غيرت في تصميم قاعدة البيانات ولكن ( وهنا المفاجأة ) لم أستطع الجمع بين مجموع المبيعات ومجموع المشتريات في جدول واحد .. وكان ردي السابق لك بحكم تجربتي للغة ( SQL ) على قاعدة بيانات ( Mysql ) ولم أكن أتوقع أن يكون هناك إختلاف كبير في بعض الأوامر الهامة ( بالنسبة لي ) . ولا أدري إن كان هناك طريقة لعمل هذا الشيء بجملة ( SQl ) واحدة أم لا .؟

ولكن كما قلت لك يمكن عمل ما تريد وكما تريد .. ولكن عليك بتغيير الأسلوب الذي تستخدمه ..

مثلاً لماذا لا تستغني عن ( DataGrid ) وتستخدم بدلاً عنها ( FlexGrid ) وتقوم بالإستعلام عن مجموع المشتريات لصنف معين على حده وإستعلام آخر لمجموع المبيعات ثم تقوم بإضافتها يدوياً على ( FlexGrid ) .

على العموم سأرفق لك المثال الذي عملته ( وهو نفس مثالك ولكن بعد التعديل ) . إستخدمت في هذا المثال جملة ( UNION ) ولكنه يظهر مجموع المبيعات في سطر ثم مجموع المشتريات في السطر التالي . أتمنى أن يساعدك هذا المثال .

بالنسبة لمثال الآخ ( qushisha ) جميل جداً ولكن لا أظن أنه يوافق ما يريد الأخ ( 2004mimo ) لأنه يريد مجموع المبيعات ومجموع المشتريات في إستعلام واحد .. ولو حاولت إضافة سجل جديد لصنف ( بشرط أن يكون مكرر في جدول المشتريات أكثر من مرة ويكون هذا الصنف موجود أيضاً في جدول المبيعات ) فستجد أن السجل سوف يكرر مرة أخرى .. أو يكون الجمع مكرر ..!! ( وهنا تكمن المشكلة التي واجهتني ) . المهم يمكنك الإستفادة من المثال .

Exm.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي ( 2004mimo ) .. للمعلومية فقط .. عند إرفاقك لأي مشروع على المنتدى يفضل أن يكون المشروع خالياً من الصور والأيقونات ويكتفى فقط بالأدوات الأساسية .. حتى لا يكون حجم البرنامج كبير .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

اخى 2004mimo

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

اولا :عدم قدرتك على انشاء قاعدة بيانات وعمل علاقات متكاملة بينها لذا يفضل ان تدرس قواعد بيانات وتحليل نظم بشكل افضل حتى تسهل عليك عمل مشروعات بسهولة

ثانيا : لا تستطيع حساب المشتريات والمبيعات بهذه الطريقة بشكل سوف اشرح لك تركيب قاعدة البيانات الازمة فى هذا النوع من المشروعات

جدول السلع ( رقم السلعة - أسم السلعة - الكمية ويفضل وجود حد طلب )

جدول العملاء ( رقم العميل - أسم العميل)

جدول الموردين ( رقم المورد - أسم المورد)

جدول فاتورة المبيعات ( رقم الفاتورة - رقم العميل)

جدول تفاصيل فاتورة المبيعات ( مسلسل ( ترقيم تلقائى) - رقم الفاتورةالمبيعات - الكمية - السعر - الاجمالى )

جدول فاتورة الشراء ( رقم الفاتورة - رقم المورد)

جدول تفاصيل فاتورة الشراء ( مسلسل - رقم الفاتورة الشراء- الكمية - السعر - الاجمالى )

هذه تعتبر قاعدة بيانات !!!! وموثوق فيها

ماذا يحدث

الحالة الاولى : عند زيادة كمية السلع(شراء) يتم كتابة فاتورة شراء جديدة ويتم زيادة الكمية فى جدول السلع

هذا الاستعلام المطلوب

'فى حالة زيادة السلع
"UPDATE [Product] SET [Quantity]=[Quantity]+" & Quantity & " WHERE [ProductID]= " & itemno & ""
شرح الكود'
'Product=السلع
'Quantity=الكمية
'ProductID= رقم السلعة
'itemno= رقم الحقل الاول فى الداتا جريد

الحالة الثانية : عند تخفيض كمية السلع ( مبيعات) يتم كتابة فاتورة بيع جديدة ويتم خفض الكمية فى جدول السلع

هذا الاستعلام المطلوب

' فى حالة حفض السلع
"UPDATE [Product] SET [Quantity]=[Quantity]-" & Quantity & " WHERE [ProductID]= " & itemno & ""

على كل حال هذه فكرة منى تستطيع اكمالها بالنسبة للمثال المرفق لك قمت بتعديل بالاستعانة بقاعة بيانات الاخ qushisha

والمثال تبعك بالمرفقات بعد التعديل واستخدام استعلامات الاكسس

Exm.zip

تم تعديل بواسطه كفاح
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

انا مش قادر اعبر لكم عن وافر شكري وامتناني للجميع لمن استطاع مساعدتي

اخى qushisha

اخى shoqi

اخى كفاح

ومن لم يستطع ولكن لا استطيع اذ ابعث بكامل تحياتي وتمنياتي بالتوفيق للجميع

و ارجو منكم متابعة الموضوع لربما تواجهنى اى مشاكل :lol: :lol: :lol:

و لى طلب عند اخى qushisha ممكن تقوم بشرح عمل الاستعلام فى قاعدة البيانات او ترسل لى بالشرح

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الحقيقة موضوع رائع وأهم ما فيه تبادل الخبرات للوصول للنتيجة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .