اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

kkhalifa1960

الخبراء
  • Posts

    2257
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    62

كل منشورات العضو kkhalifa1960

  1. جرب المرفق بعد التعديل واذا ظهر الخطأ افتح قاعدة جديدة على الكمبيوتر الذي به أكسس 2016 واستورد محتويات القاعدة به . ووافني بالرد. برنامج مصروفات 2016-1.accdb
  2. تفضل استاذ @layan.ali93 . Private Sub office_AfterUpdate() Dim strCriteria As String Dim varResult As Variant ' تأكد من أن رقم الكتاب والجهة ليست فارغة If Nz(Me.no_of_io, "") <> "" And Nz(Me.office, "") <> "" Then ' صياغة شرط البحث strCriteria = "[no_of_io] = '" & Me.no_of_io & "' AND [office] = '" & Me.office & "'" ' البحث عن سجل مطابق في الجدول varResult = DLookup("id_mas", "master_t", strCriteria) ' إذا تم العثور على نتيجة، يعني أن السجل موجود مسبقًا If Not IsNull(varResult) Then MsgBox "رقم الكتاب والجهة تم إدخالهما مسبقًا.", vbExclamation, "تنبيه" End If End If End Sub
  3. إذا جهازك ما فيه Adobe Reader أو Edge محدث، سيظهر الخطأ.
  4. استاذ بلال حضرتك شغلت الكود بدون الدوال الخاصة به . لو تحب ارسل قاعد بياناتك وانا بضبطها .
  5. مطلوب فتح مرفق داخل قاعدة البيانات بدون مسار خارجي هذا هو الطلب الاساسي وأنا أعطيتك الحل الامثل من قبل !!!!!
  6. استاذ @بلال اليامين اليك الشرح والمرفق حسب مافهمت . فتح النماذج والتقارير بنفس النموذج . Bilal_Yamen.rar
  7. 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 (للتقارير الشهرية) لو شايف الموضع شرحه طويل ... عدل الجداول كما اسلفت واملأها بالبيانات ثم ا كتب ماتريده بالضبط باللغة العربية كي أفهمك وانشاء الله بسوي طلبك .
  8. تفضل Function RelinkIsIco() As String Dim rs As DAO.Recordset Dim rsA As DAO.Recordset2 Dim fPath As String Dim outPath As String ' مسار ثابت وهمي fPath = "C:\MyApp\Icons\" ' إنشاء المجلد إذا غير موجود If Dir(fPath, vbDirectory) = "" Then MkDir fPath End If Set rs = CurrentDb.OpenRecordset("SELECT progIcon FROM tblEnDc") If Not (rs.EOF And rs.BOF) Then Set rsA = rs.Fields("progIcon").Value If rsA.RecordCount > 0 Then rsA.MoveFirst outPath = fPath & rsA!FileName ' حذف الملف السابق إذا موجود If Dir(outPath) <> "" Then Kill outPath ' استخراج المرفق إلى المسار الثابت rsA!FileData.SaveToFile outPath RelinkIsIco = outPath End If rsA.Close End If rs.Close Set rs = Nothing End Function
  9. انا سويت لك نفس الطلب من قبل هنـــــــا
  10. الدالة تصبح Function RelinkIsIco() As String Dim rs As DAO.Recordset Dim rsA As DAO.Recordset2 Dim fPath As String Dim tempPath As String ' فتح السجل Set rs = CurrentDb.OpenRecordset("SELECT progIcon FROM tblEnDc") If Not (rs.EOF And rs.BOF) Then Set rsA = rs.Fields("progIcon").Value ' Recordset خاص بالمرفقات If rsA.RecordCount > 0 Then rsA.MoveFirst ' تحديد مسار مؤقت في Windows Temp tempPath = Environ$("TEMP") & "\" & rsA!FileName ' استخراج الملف من المرفقات إلى المسار المؤقت rsA!FileData.SaveToFile tempPath RelinkIsIco = tempPath End If rsA.Close End If rs.Close Set rs = Nothing End Function واستدعاؤها Private Sub cmdShar_Click() Me.img1.Picture = RelinkIsIco() End Sub
  11. تفضل استاذنا . الشرح والمرفق . MohamedShemi.accdb
  12. هذه تفيد بأن أحد المكتبات ناقصة أو مفقودة أو احد الاكواد يعمل عل 32 بت وانت نقلتها على جهاز يعمل على 64 بت . وللاسف انا كما قلت لك انا حولت الملف فقط والباقي عند الاستاذ @Foksh . هو صاحب الموضوع .................... تحياتي لك .
  13. أولا انت لم تعطيني الملف الذي تعمل عليه . ثانيا انا اعطيتك الطريقة التي تتعامل بها ... انشاء جدول وهمي تتم عليه الضرائب وعند الانتهاء ينقلهم للجدول الاساسي ويمسح محتويات الجدول الوهمي لعملية جديدة. ثالثا انا لم اتدخل بأي شئ بمرمجتك للامور كلها . لأنك ادرى بكل خطواتها . رابعا أما اذا تريد اعادة المشروع كله بطريقني هذا شئ أخر . خامساً اليك أخر تعديل ... وخبرني بما تريد . MohamedShemi.accdb
  14. تفضل استاذ @محمدالشيمى محاولتي حسب مافهمت اليك الشرح والمرفق . انشاء جدول مؤقت بالفاتورة ثم ملئ جدول الفواتير بالفاتورة الحالية. واخلاء الجدول المؤقت للفاتورة القادمة. MohamedShemi.accdb
  15. الملف بعد تحويله لـــ 2003 دون الدخول بأي شئ فقط التحويل . UnMatched.mdb
  16. ماهو لو طلبك مفهوم كان الكل ساعدك !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  17. استاذ @مصطفى حماد سيد حماد اذا كان هذا طلبك اضغط على تمت الاجابة على مشاركتي .
  18. تفضل استاذ @مصطفى حماد سيد حماد مرفق من عندي به طلبك . ووافني بالرد . Students.accdb
  19. تفضل استاذ @بلال اليامين طلبك حسب مافهمت بتقريرك .... وتقريري . Belal_Yamen.accdb
  20. مشاركة مع استاذ @Foksh تفضل طريقتي يمكن تفيدك .... Database6.rar
×
×
  • اضف...

Important Information