bessafi2008 قام بنشر منذ 11 ساعات قام بنشر منذ 11 ساعات (معدل) السلام عليكم ورحمة الله وبركاته اريد مساعدتك في انشاء استعلام Formulaire لقد وجهت صعوبة في إنشاءه لذا أرجوا من الإخوة الكرام مساعدتي med.rar تم تعديل منذ 10 ساعات بواسطه bessafi2008 خطأ في الملف المرفق
kkhalifa1960 قام بنشر منذ 3 ساعات قام بنشر منذ 3 ساعات (معدل) VBaccess ::: اريد مساعدتك في انشاء استعلام Formulaire أرى أن لديك عدة ملفات تمثل جداول قاعدة بيانات، وأحتاج إلى مساعدتك في إنشاء استعلام أو نموذج (Form) في Microsoft Access. لكن البيانات المقدمة غير منظمة بوضوح، ويبدو أن هناك أخطاء في تنسيق الجداول. سأحاول مساعدتك بافتراض أنك تريد ربط هذه الجداول وإنشاء استعلام يدمج البيانات، أو نموذج لإدخال بيانات التدخلات (Intervention). 📌 الخطوات المقترحة: 1️⃣ تنظيم الجداول أولاً: ستحتاج إلى الجداول التالية: 1. Equipement (الآلات) o code_eq o nom_eq o marque o prix_achet 2. Piece (القطع) o code_piece o designation o cout_unitaire o stock 3. Composition (تركيب الآلة) o code_eq o code_piece o quantite 4. Intervenant (الفنيون) o code_iter o nom o prenom o specialite o tel 5. Intervention (التدخلات) o num_interv o date_interv o code_eq o code_iter 6. BonSortie (أذونات الخروج) o num_bon o date_emis o validation o usage o code_iter o code_eq 7. BonSortiePiece (تفاصيل قطع أذونات الخروج) o num_bon o code_piece o quantite_so 2️⃣ استعلام نموذجي يربط التدخلات مع الفنيين والآلات: SELECT Intervention.num_interv, Intervention.date_interv, Equipement.nom_eq, Intervenant.nom, Intervenant.prenom FROM (Intervention INNER JOIN Equipement ON Intervention.code_eq = Equipement.code_eq) INNER JOIN Intervenant ON Intervention.code_iter = Intervenant.code_iter; 3️⃣ نموذج (Form) لإدخال تدخل جديد: يمكنك إنشاء Form يعتمد على جدول Intervention، مع إضافة Combo Box لاختيار: · code_eq (من جدول Equipement) · code_iter (من جدول Intervenant) 4️⃣ استعلام لحساب تكلفة قطع الآلة: SELECT Composition.code_eq, Sum(Piece.cout_unitaire * Composition.quantite) AS CoutTotalPieces FROM Composition INNER JOIN Piece ON Composition.code_piece = Piece.code_piece GROUP BY Composition.code_eq; سأعطيك كل استعلام وتقرير بشكل منفصل مع اسم مناسب لكل واحد: 📋 أسماء وتفاصيل الاستعلامات: 1. الاستعلام: Qry_Interventions_Details الوصف: يعرض كل التدخلات مع معلومات الفني والآلة SELECT Intervention.num_interv, Intervention.date_interv, Equipement.nom_eq, Equipement.marque, Intervenant.nom & " " & Intervenant.prenom AS Intervenant_Complet, Intervenant.specialite, Intervenant.tel FROM (Intervention INNER JOIN Equipement ON Intervention.code_eq = Equipement.code_eq) INNER JOIN Intervenant ON Intervention.code_iter = Intervenant.code_iter ORDER BY Intervention.date_interv DESC; 2. الاستعلام: Qry_Cout_Par_Equipement الوصف: يحسب تكلفة القطع لكل آلة SELECT Composition.code_eq, Equipement.nom_eq, Sum(Piece.cout_unitaire * Composition.quantite) AS CoutTotalPieces, Count(Composition.code_piece) AS NombrePiecesDifferentes FROM (Composition INNER JOIN Piece ON Composition.code_piece = Piece.code_piece) INNER JOIN Equipement ON Composition.code_eq = Equipement.code_eq GROUP BY Composition.code_eq, Equipement.nom_eq; 3. الاستعلام: Qry_BonsSortie_Complets الوصف: يعرض أذونات الخروج مع تفاصيل القطع والتكاليف SELECT BonSortie.num_bon, BonSortie.date_emis, BonSortie.validation, BonSortie.usage, Equipement.nom_eq, Intervenant.nom & " " & Intervenant.prenom AS Intervenant_Complet, BonSortiePiece.code_piece, Piece.designation, BonSortiePiece.quantite_so, Piece.cout_unitaire, (BonSortiePiece.quantite_so * Piece.cout_unitaire) AS CoutTotalLigne FROM ((BonSortie INNER JOIN BonSortiePiece ON BonSortie.num_bon = BonSortiePiece.num_bon) INNER JOIN Piece ON BonSortiePiece.code_piece = Piece.code_piece) INNER JOIN Equipement ON BonSortie.code_eq = Equipement.code_eq INNER JOIN Intervenant ON BonSortie.code_iter = Intervenant.code_iter; 4. الاستعلام: Qry_Stock_Critique الوصف: يعرض القطع التي كمية المخزون فيها أقل من 10 SELECT Piece.code_piece, Piece.designation, Piece.cout_unitaire, Piece.stock, "إعادة التموين مطلوبة" AS Etat FROM Piece WHERE Piece.stock < 10 ORDER BY Piece.stock ASC; 5. الاستعلام: Qry_Intervenants_Activite الوصف: إحصاء عدد التدخلات لكل فني SELECT Intervenant.code_iter, Intervenant.nom & " " & Intervenant.prenom AS Intervenant_Complet, Intervenant.specialite, Count(Intervention.num_interv) AS NombreInterventions, Min(Intervention.date_interv) AS PremiereIntervention, Max(Intervention.date_interv) AS DerniereIntervention FROM Intervention INNER JOIN Intervenant ON Intervention.code_iter = Intervenant.code_iter GROUP BY Intervenant.code_iter, Intervenant.nom & " " & Intervenant.prenom, Intervenant.specialite ORDER BY Count(Intervention.num_interv) DESC; 📊 أسماء وتفاصيل التقارير: 1. التقرير: Rpt_Interventions_Mensuelles مصدر البيانات: Qry_Interventions_Details الوصف: تقرير شهري للتدخلات مصنفة حسب الفنيين 2. التقرير: Rpt_BonsSortie مصدر البيانات: Qry_BonsSortie_Complets الوصف: تقرير مفصل لأذونات الخروج مع التكاليف 3. التقرير: Rpt_Stock_Alerte مصدر البيانات: Qry_Stock_Critique الوصف: تقرير تنبيهي للقطع التي تحتاج لإعادة تموين 4. التقرير: Rpt_Activite_Intervenants مصدر البيانات: Qry_Intervenants_Activite الوصف: تقرير إحصائي لنشاط الفنيين 5. التقرير: Rpt_Cout_Equipements مصدر البيانات: Qry_Cout_Par_Equipement الوصف: تقرير تكاليف القطع لكل آلة 🎯 توصية ترتيب التنفيذ: 1. ابدأ بـ: Qry_Interventions_Details 2. ثم: Qry_Stock_Critique (للمراقبة اليومية) 3. ثم: Rpt_Interventions_Mensuelles (للتقارير الشهرية) لو شايف الموضع شرحه طويل ... عدل الجداول كما اسلفت واملأها بالبيانات ثم ا كتب ماتريده بالضبط باللغة العربية كي أفهمك وانشاء الله بسوي طلبك . تم تعديل منذ 1 ساعه بواسطه kkhalifa1960
الردود الموصى بها
انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد
يجب ان تكون عضوا لدينا لتتمكن من التعليق
انشئ حساب جديد
سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .
سجل حساب جديدتسجيل دخول
هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.
سجل دخولك الان