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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    415

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

  1. السلام عليكم 🙂 عملت قاعدة بيانات وبها نموذج لعمل جميع الاكواد برمجيا
  2. السلام عليكم 🙂 رجاء الرجوع الى النسخة الاولى من هذا الموضوع لفهم تفاصيل الكود . عرضت عليكم جميع التفاصيل في عمل حدث الـ Data Macro ، فكان على المبرمج ان يكتب جميع خطوات الكود لكل حقل ولكل حدث ، يدويا !! وهنا اعطيكم طريقة طريقة عمله برمجيا (يعني المبرمج ما عنده عذر من الان ان لا يستخدم هذه الاداة في برامجه 🙂 ). هذه واجهة وكائنات البرنامج: . 9. نقوم بالنقر على الزر رقم 9 مرة واحدة فقط ، فيقوم بنسخ الجدول جدول tbl_x_AuditTrail فارغ ، والوحدة النمطية mod_UserName_PcName ، الى قاعدة البيانات التي تم اختيارها في رقم 3 ، 1. جدول tbl_x_AuditTrail فارغ ، وسيتم عمل نسخة منه ومن الوحدة النمطية mod_UserName_PcName عند النقر على الزر رقم 9 ، الى قاعدة البيانات التي تم اختيارها في رقم 3 ، 2. يجب اختيار قاعدة البيانات التي تريد عمل احداث الجداول عن طريق الـ Data Macro فيها ، وسيتم ظهور اسم قاعدة البيانات في الرقم 3 ، وفي نفس الوقت سيتم ظهور اسماء جداولها في الرقم 4 ، 4. اختار الجدول الذي تريد عمل الاحداث عليه ، ومنها ستظهر اسماء حقوله في الرقم 5 ، 5. تختار اسماء الحقول التي تريد ان تتابع متغيراتها (وهو اساس هذا البرنامج) ، وتستطيع اختيار جميع الحقول لهذا الحدث بالنقر على الزر 6 : 5.1 لتسجيل وحفظ متغير الحقل عند اضافة سجل جديد (الحاق سجل جديد) ، 5.2 لتسجيل وحفظ متغير الحقل عند عمل تغيير على قيمة الحقل (بعد تحديث الحقل) ، 5.3 لتسجيل وحفظ متغير الحقل عند حذف السجل ، 7. يجب اختيار حقل المفتاح الاساسي في الجدول ، 8. عند الانتهاء من الاختيارات ، ننقر على الزر رقم 8 ، فيقوم بعمل الـ Data Macro لجميع الحقول في الجدول الذي تم اختياره ، وستاتيك رسالة تؤكد انتهاء العمل. وللعمل على حقول جدول آخر ، ابدأ من الرقم 4 اعلاه مرة اخرى. هنا سأعطي مثال عن طريقة العمل ، والنتائج: هذه قاعدة البيانات التي ساعمل عليها ، ونرى انه لا يوجد بها الجدول tbl_x_AuditTrail فارغ ، ولا الوحدة النمطية mod_UserName_PcName ، ولا توجد اي احداث في المربع الاحمر : . خطوات العمل: . والنتيجة في قاعدة البيانات الاخرى: . والان لنرى عندما نعمل اي تغيير في المتغيرات: . هنا نرى ان الاحداث الثلاثة موجودة في هذا الجدول ، وطبعا في الجدول الآخر كذلك : . وهنا نقارن النتائج . جعفر Make_AuditTrail_XML_02.zip
  3. وعليكم السلام مقاييس الصفحة الموجودة في التقرير يتم اخذها من الطابعة الافتراضية ، الى ان يقوم المستخدم باختيار طابعة اخرى ، لذا ، اذا الطابعة التي يقوم باختيارها المستخدم لا تحتوي على A3 ، فلن تجد هذا الاختيار من القائمة. يمكنك استخدام طابعة pdf افتراضية ، واجعل حجم الصفحة فيها الذي تريده ، سواء A3 او اكبر ، وستجد هذا الحجم موجود عند اختيارك لطابعة الـ pdf . انا استعمل هذه الطابعة المجانية :
  4. من واقع قاعدة بياناتك ، اسماء الحقول والبيانات: شو اسم الحقل اللي مطلوب انظر فيه في النموذج ، اعطني مثال من واقع البيانات ، شو الموجود حاليا ، وشو التغيير اللي تريد تعمله ، وعلى اساس هذ التغيير شو النتيجة اللي لازم تظهر. بهذه الطريقة نقدر نساعدك
  5. اخوي @Ahmos شكرا جزيلا 🙂 اما انا فتجربتي من الذكاء الصناعي مو زينه ، فالاجابات الصحيحة اللي احصلها منه هي اقل من 5-10% من اسألتي ، وللعلم فيه مرات عديدة انا اعطيه الجواب الصحيح 🙂 وخصوصا انه يخلط بين اكواد الاكسس والاكسل. اخوي @tiger wanted اذا كل اللي تريده هو مجرد تحويل القيمة من الكمبوبوكس الى الحقول الاخرى بمجرد تمرير الفأرة عليه ، فتفضل هذا الكود السهل (حسب اسماء حقول نموذجك) ، وحذفت بقية الاكواد: Private Sub text3_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Me.text3 = Me.Combo0 End Sub Private Sub text5_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Me.text5 = Me.Combo0 End Sub
  6. اخوي @Ahmos عرض جدا جميل لسبب المشكلة 👍 ياريت تكمل جميلك وتعرض الحل كذلك في المشاركة (مو في المرفق فقط)
  7. الكمبوبوكس كذلك ياخذ بياناته من الجدول او الاستعلام ، فالبيانات متغيره ، حالها حال الاستعلام. والجواب نفسه: بمعنى: اعمل جدول اسمه tbl_Movements ، حقوله : Auto_ID= ترقيم تلقائي Auto_Date= تاريخ ، وقيمته الافتراضية ()Now Employee_ID= رقم (رقم الموظف) Employee_Dept= نص (مكان العمل) Employee_Dept_Date= تاريخ (تاريخ نقل الموظف الى هذه الدائرة) ثم تعمل استعلام qry_Movements ، وفيها المعيار يكون عن طريق التاريخ. وفي النموذج عند نقل موظف من مكان الى آخر (حدث بعد التحديث) ، يجب "الحاق" القيمة الجديدة الى هذا الجدول ، وقيمة تاريخ النقل ، وتعمل مقارنة بين مكان عمل الموظف من هذا الاستعلام ، مع مكان العمل في الجدول الاصل ، ومنه تقدر تعرف من اللي تم تغيير مكانه.
  8. وعليكم السلام معلش ، اشرح لي المطلوب بلغتك ، وباسماء الحقول في مرفقك
  9. رجوعا الى طريقة الاستاذ فادي السابقة ، ولعلاج الرعشة ، اذا تسمحون لي بتعديل فترات استعمال دواء الدكتور فادي 😁 فعلاج الدكتور فادي كان مستمر ، بينما انا قللت فترة الاستعمال الى مرة واحدة لكل سجل فقط 🙂 جرب هذا التعديل: Private Sub Form_Current() if Me.txtCurrentID <> Me.itemcod then Me.txtCurrentID = Me.itemcod end if End Sub
  10. وعليكم السلام ورحمة الله وبركاته احاول افهم قصدك: 1. عندك استعلام بمعايير معينة ، 2. احد حقول الاستعلام تم تغيير قيمته ، وهو نقل موظف الى مكان آخر ، تريد تعرف هذا الموظف؟ اذا كان هذا سؤالك ، فالجواب: لا يمكن ، فالاستعلام يعطيك صورة من بيانات الجدول. نعم يمكن ، اذا عملت جدول خاص بتخزين قيم هذا الحقل بشكل سجل/سجلات ، ويمكن مقارنة هذه السجلات بقيم الجدول الحالي لهذا الحقل. 3. لم افهم ما دور الكومبوبوكس والتقرير.
  11. اخي فادي 🙂 شكرا جزيلا لك على المواصلة للنهاية لإرضاء الزبون 🙂 اخي الدكتور الحلبي 🙂 كلنا في خدمتكم 🙂
  12. وعليكم السلام حول النموذج الفرعي الى نموذج جدولي ، واللي تلقائيا سيتم تظليل السجل لما تنقر على اي حقل فيه 1619.تلوين الفرعى.accdb.zip
  13. السلام عليكم 🙂 الاكسس معروف بنقطة ضعفه مع الصور ، وبغض النظر عن قوة كرت الشاشة. اعطيك الصافي ، للحركة انس الصور ، و استعمل الخطوط والمربعات والدوائر لعمل شكل معين ، لان فيه نقاط x و y واللي الاكسس ممكن يرسمهم فوق صورتك ، وتلقائيا كل نقطة من هذا الشكل سيتحرك (يعني ارسم الشكل المعقد مرة واحدة بإحداثيات x و y ، ومن ثم لما تغير مكان الشكل ، تلقائيا كل نقاط الشكل ستتحرك) ، ومن الرابط التالي تقدر تتعلم كيف تعمل بعض الاشكال الغير معقدة 🙂 هذا موقع (لصاحبته crystal وهي احد محترفي الاكسس) فيه ما لذ وطاب من طرق استعمال الخطوط والمربعت والدوائر: https://msaccessgurus.com/VBA/ReportDraw_Reference.htm?ref=nolongerset.com وبعد ما تاخذ لفة على الصفحة ، اختم الموضوع بتنزيل لعبة تنس الطاولة من : الكود: https://controlc.com/ac9f4c3b الفيديو: جعفر
  14. صحيح المثل اللي يقول: ما يحك جلدك مثل ظفرك !! وانا كذلك لقيت هذا الاسم في القائمة الطويلة: والقائمة القصيرة في بحثي ، لا اعتمد على مصدر واحد (خصوصا اذا لم يعطني الاجابة المطلوبة).
  15. من قدك يا ولد ، جبتها من جذورها 🙂 شكرا جزيلا على المشاركة
  16. لما امس كتبت لك اني ما حصلت على حل ، فقد كنت ابحث عنه طوال اليوم ، ولقيت الكثير من الامثلة والحلول ، ولكن ما قدر اي منها معرفة اسم قائمتك !! هذا الرابط به ما تسأل عنه : https://www.devhut.net/vba-list-application-command-bars/ ولكني لم استطع الحصول على قائمتك حتى من هذا الحل ، لهذا السبب طلبت منك الملف الاصل بصيغة mdb.
  17. في الواقع ، بعض الاحيان العمل اليدوي يكون اسرع من محاولة برمجة المطلوب 🙂 ياريت تفرد لنا موضوع عن هذه التجربة ، مع مال بسيط نستطيع الاحتذاء به وقت الضرورة 🙂
  18. وعليكم السلام ورحمة الله وبركاته المعذرة اخوي ابو خليل ، ما توصلت الى حل !! اذا ممكن ترفق برنامج mdb وفيه شريط القوائم ، حتى ممكن نحاول منه.
  19. الطلبين موجودين في هذه النسحة
  20. مافي داعي تستخدم نقرة الفأرة اليمين ، تقدر تكتب مباشرة في حقل المعادلات. الهدف من مثالي السابق (القائمة المنسدلة Combobox) ، ومن مثالي الاخير (القائمة من النقر على الفأرة بالزر اليمين) ، هو حتى لا يخطئ المستخدم ودخل حرف غلط ، واللي على اساسه لن يعمل البرنامج. هدفي من سؤالي سابقا: هو حتى افكر في طرق اخرى في استعمال Combobbox ، ولكن هذا لا يمكن اذا كانت المعادلات بهوى المستخدم.
  21. السلام عليكم عملت جميع الاحتمالات ، و ان شاء الله افرد موضوع لزر الفأرة اليمين (قيم متغيرة) . البرنامج لا يتأكد من صحة القيم التي تم ادخالها ، للعلم. لا تنسى تنقر على الفأرة اليمين لإدخال الحقول من الجدول Table 1. 1618.1.Cal error2.accdb.zip
  22. شكرا جزيلا اخوي ابو خليل عملت موضوع لهذه الجزئية:
  23. السلام عليكم في احد مشاريعي ، جابوا لي قائمة اكسل فيها تواريخ مكتوبة بكل ما لذ وطاب من الطرق ، مثل: 30/11/2009 ، 2012-06-25 ، 21/6/2015م ، " 9/1/2014" ، 30\11\2009 ، 5/1999/26 ، 25/1999/6 ، 5/1994/ 26 ، وحتى بعضها بالارقام الهندية ، فعملت الدالة التالية ، والتي ترسل لها التاريخ المطلوب تعديله ، والدالة تصلح التاريخ وترجعه. وستلاحظون اني استخدمت الدالة DateSerial ، حتى اعطي اليوم والشهر والسنة بياناتهم يدويا ، بدلا عن استعمال CDate . هذه هي الدالة: Function Date_Rectified(D As String) As Date On Error Resume Next Dim x() As String Dim P1 As String, P2 As String, P3 As String D = Trim(D) D = Replace(D, "(", "") D = Replace(D, ")", "") D = Replace(D, " ", "") D = Replace(D, " ", "") D = Replace(D, " ", "") D = Replace(D, " ", "") D = Replace(D, "*", "") D = Replace(D, "م", "") D = Replace(D, ChrW(1632), "0") 'الرقم الهندي صفر D = Replace(D, ChrW(1633), "1") D = Replace(D, ChrW(1634), "2") D = Replace(D, ChrW(1635), "3") D = Replace(D, ChrW(1636), "4") D = Replace(D, ChrW(1637), "5") D = Replace(D, ChrW(1638), "6") D = Replace(D, ChrW(1639), "7") D = Replace(D, ChrW(1640), "8") D = Replace(D, ChrW(1641), "9") D = Replace(D, "!", "-") D = Replace(D, "/", "-") D = Replace(D, "//", "-") D = Replace(D, "\", "-") D = Replace(D, ".", "-") D = Replace(D, "_", "-") D = Replace(D, "|", "-") D = Replace(D, ",", "-") D = Replace(D, Chr(34), "") If Len(D) = 4 Then 'starts with year, but its 4 digits only:1999 'convert to 1-1-1999 OR EMPTY Date_Rectified = DateSerial(D, 1, 1) Exit Function End If If D = "5/1994/ 26" Then Debug.Print D End If x = Split(D, "-") P1 = x(0): P2 = x(1): P3 = x(2) If Len(P1) = 4 And Len(P2) <> 0 Then 'starts with year, and month exist: 1999-1-2 Date_Rectified = DateSerial(P1, P2, P3) ElseIf Len(P3) = 4 And Len(P2) <> 0 Then 'ends with year, and month exist: 2-1-1999 Date_Rectified = DateSerial(P3, P2, P1) ElseIf Len(P2) = 4 And Len(P1) <= 12 Then 'year in the middle, day and month exist: 5/1999/26 Date_Rectified = DateSerial(P2, P1, P3) ElseIf Len(P2) = 4 And Len(P1) > 12 Then 'year in the middle, day and month exist: 25/1999/6 Date_Rectified = DateSerial(P2, P3, P1) Else 'otherwise Date_Rectified = Null End If End Function
×
×
  • اضف...

Important Information