اذهب الي المحتوي
أوفيسنا

kkhalifa1960

الخبراء
  • Posts

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

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

  • Days Won

    62

kkhalifa1960 last won the day on ديسمبر 5

kkhalifa1960 had the most liked content!

السمعه بالموقع

1280 Excellent

عن العضو kkhalifa1960

  • تاريخ الميلاد 01/18/1960

البيانات الشخصية

  • Gender (Ar)
    ذكر
  • Job Title
    engineer
  • البلد
    البحرين
  • الإهتمامات
    Access Programing - Photoshop

وسائل التواصل

  • Yahoo
    khalifa1960@yahoo.com

اخر الزوار

7656 زياره للملف الشخصي
  1. ملاحظة مهمة: تأكد من أن الجداول التالية موجودة في قاعدة البيانات: BonSortie (جدول أذونات الخروج) Intervenant (جدول الفنيين) BonSortiePiece (جدول قطع أذونات الخروج) Piece (جدول القطع) Equipement (جدول الآلات) اسم النسخة المختصرة: Qry_BonSortie_Basique SELECT BonSortie.num_bon, Intervenant.nom, Intervenant.prenom, BonSortie.date_emis, BonSortie.code_eq, Piece.designation, BonSortiePiece.code_piece, Equipement.nom_eq FROM (((BonSortie INNER JOIN Intervenant ON BonSortie.code_iter = Intervenant.code_iter) 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 ORDER BY BonSortie.num_bon ASC;
  2. حاضرين أخي في أي وقت ويكفينا انك انسان مهذب .
  3. تفضل المرفق بعد التعديل بــ أكسس 2016 لا تستخدم الماكرو للفتح أو الغلق .... استخدم محرر الاكواد . جرب بعد التعديل ووافني بالرد . برنامج مصروفات Office 2016-2.rar
  4. تفضل استاذ @AhmedEmam حصلت لك مرفق من مكتبي . اليك الشرح والمرفق . أكتب طلبك وانا بعدل أي شئ تريده . ووافني بالرد . ChangeAllFormsColor.rar
  5. جرب المرفق بعد التعديل واذا ظهر الخطأ افتح قاعدة جديدة على الكمبيوتر الذي به أكسس 2016 واستورد محتويات القاعدة به . ووافني بالرد. برنامج مصروفات 2016-1.accdb
  6. تفضل استاذ @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
  7. إذا جهازك ما فيه Adobe Reader أو Edge محدث، سيظهر الخطأ.
  8. استاذ بلال حضرتك شغلت الكود بدون الدوال الخاصة به . لو تحب ارسل قاعد بياناتك وانا بضبطها .
  9. مطلوب فتح مرفق داخل قاعدة البيانات بدون مسار خارجي هذا هو الطلب الاساسي وأنا أعطيتك الحل الامثل من قبل !!!!!
  10. استاذ @بلال اليامين اليك الشرح والمرفق حسب مافهمت . فتح النماذج والتقارير بنفس النموذج . Bilal_Yamen.rar
  11. 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 (للتقارير الشهرية) لو شايف الموضع شرحه طويل ... عدل الجداول كما اسلفت واملأها بالبيانات ثم ا كتب ماتريده بالضبط باللغة العربية كي أفهمك وانشاء الله بسوي طلبك .
  12. تفضل 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
×
×
  • اضف...

Important Information