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

Moosak

أوفيسنا
  • Posts

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

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

  • Days Won

    57

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

  1. أرى الحل أنك تستغني عن المكتبات تماما بتعريف المتغيرات كـ Object .. رجعت لنفس الأداة وكتبت له : والنتيجة : Private Sub cm_ToExcel_Click() ' تعلن عن المتغيرات المطلوبة Dim stDocName As String Dim Q As Integer Dim objFileDialog As Object ' كائن مربع حوار الملفات (يتم تعريفه كـ Object لعدم استخدام المكتبات) Dim varFilePath As Variant ' المسار الكامل للملف الذي سيتم حفظه (يتم تعريفه كـ Variant لاستقبال قيمة من مربع الحوار) Dim fso As Object ' كائن نظام الملفات للتحقق من وجود محرك الأقراص (يتم تعريفه كـ Object لعدم استخدام المكتبات) Dim drv As Object ' كائن محرك الأقراص (يتم تعريفه كـ Object لعدم استخدام المكتبات) Dim blnDriveEExists As Boolean ' علامة منطقية للتحقق مما إذا كان محرك الأقراص E موجودًا وجاهزًا Dim strDefaultPath As String ' المسار الافتراضي الذي سيتم عرضه في مربع الحوار ' تعيين معالج الأخطاء للانتقال إلى تسمية Err_cm_ToExcel_Click في حالة حدوث خطأ On Error GoTo Err_cm_ToExcel_Click ' بناء اسم المستند بناءً على اسم الجدول وقيمة حقل [Year_name] stDocName = "tbl_Teacher" & [Year_name] ' حساب عدد السجلات في جدول tbl_Teacher Q = DCount("*", "tbl_Teacher") ' التحقق مما إذا كانت هناك سجلات (أكثر من صفر) لتصديرها If Q > 0 Then ' -------------------------------------------------------------------- ' الجزء الخاص بالتحقق من وجود محرك الأقراص E وتعيين المسار الافتراضي ' -------------------------------------------------------------------- ' إنشاء كائن FileSystemObject بدون استخدام مكتبات (Late Binding) ' هذا يسمح بالتحقق من محركات الأقراص دون الحاجة إلى إضافة مرجع لمكتبة Microsoft Scripting Runtime Set fso = CreateObject("Scripting.FileSystemObject") blnDriveEExists = False ' تهيئة العلامة إلى False ' التكرار عبر جميع محركات الأقراص المتاحة للتحقق من وجود محرك الأقراص E For Each drv In fso.Drives If drv.DriveLetter = "E" Then ' إذا كان حرف محرك الأقراص هو "E" If drv.IsReady Then ' والتأكد من أن محرك الأقراص جاهز للاستخدام (ليس فارغًا أو غير متصل) blnDriveEExists = True ' تعيين العلامة إلى True Exit For ' الخروج من الحلقة بمجرد العثور على محرك الأقراص E الجاهز End If End If Next drv ' تعيين المسار الافتراضي لمربع الحوار بناءً على نتيجة التحقق If blnDriveEExists Then strDefaultPath = "E:\" ' إذا كان E موجودًا وجاهزًا، استخدمه كمسار افتراضي Else ' إذا لم يكن E موجودًا أو جاهزًا، استخدم مسار المشروع الحالي كمسار افتراضي strDefaultPath = CurrentProject.Path End If ' تحرير كائنات نظام الملفات لتحرير الذاكرة Set fso = Nothing Set drv = Nothing ' -------------------------------------------------------------------- ' الجزء الخاص بعرض مربع حوار حفظ الملف للسماح للمستخدم باختيار الموقع ' -------------------------------------------------------------------- ' إنشاء كائن مربع حوار الملفات (Application.FileDialog) بدون استخدام مكتبات (Late Binding) ' 2 يمثل msoFileDialogSaveAs (قيمة ثابتة لمربع حوار حفظ باسم) Set objFileDialog = Application.FileDialog(2) ' تهيئة خصائص مربع الحوار With objFileDialog .Title = "اختر مكان حفظ ملف الإكسل" ' تعيين العنوان الذي يظهر في أعلى مربع الحوار .InitialFileName = stDocName & ".xls" ' تعيين الاسم الافتراضي للملف الذي سيتم حفظه .InitialFolder = strDefaultPath ' تعيين المجلد الافتراضي الذي سيتم فتحه عند ظهور مربع الحوار .ButtonName = "حفظ" ' تعيين النص الذي يظهر على زر الحفظ في مربع الحوار .Filters.Clear ' مسح أي فلاتر ملفات موجودة مسبقًا .Filters.Add "ملفات إكسل (*.xls)", "*.xls" ' إضافة فلتر لملفات الإكسل القديمة (Excel 97-2003) .Filters.Add "جميع الملفات (*.*)", "*.*" ' إضافة فلتر لجميع أنواع الملفات .FilterIndex = 1 ' تعيين الفلتر الأول (ملفات إكسل) كفلتر افتراضي ' عرض مربع الحوار والتحقق مما إذا كان المستخدم قد ضغط على زر "حفظ" If .Show = -1 Then ' -1 يعني أن المستخدم ضغط على زر "حفظ" (OK) ' الحصول على المسار الكامل للملف المحدد من قبل المستخدم varFilePath = .SelectedItems(1) ' تصدير البيانات من جدول tbl_Teacher إلى ملف الإكسل بالمسار الذي اختاره المستخدم ' 0 يمثل acExport (قيمة ثابتة لعملية التصدير) ' 8 يمثل acSpreadsheetTypeExcel97 (قيمة ثابتة لنوع ملف الإكسل Excel 97-2003) DoCmd.TransferSpreadsheet 0, 8, "tbl_Teacher", varFilePath, False ' عرض رسالة نجاح للمستخدم تتضمن المسار الذي تم الحفظ فيه MsgBox ("تم استخراج ملف أكسل لبيانات الموظفيـن وحفظه في: " & Chr(13) & Chr(13) & varFilePath), vbOKOnly + vbMsgBoxRight, "تنبيه" Else ' إذا ألغى المستخدم عملية الحفظ (ضغط على Cancel) MsgBox "تم إلغاء عملية حفظ ملف الإكسل.", vbInformation + vbMsgBoxRight, "تنبيه" End If End With ' تحرير كائن مربع حوار الملفات لتحرير الذاكرة Set objFileDialog = Nothing Else ' عرض رسالة إذا لم تكن هناك سجلات في الجدول لتصديرها MsgBox ("لا يوجد سجلات لتصديرها "), vbOKOnly + vbMsgBoxRight, "تنبيه" End If Exit_cm_ToExcel_Click: ' نقطة الخروج العادية من الإجراء Exit Sub Err_cm_ToExcel_Click: ' معالج الأخطاء: عرض وصف الخطأ الذي حدث MsgBox Err.Description, vbCritical, "خطأ" ' استئناف التنفيذ عند نقطة الخروج العادية من الإجراء Resume Exit_cm_ToExcel_Click End Sub
  2. أنظر هنا أيضا 🙂 :
  3. وعليكم السلام ورحمة الله 🙂 باستخدام هذه الأداة : Private Sub cmdPrint_Click() On Error GoTo Err_cmdPrint_Click Dim Index3 As Variant Dim repName As String Dim ftrName As String ' Declare ftrName, assuming it's a String for the filter argument. ' Check if any items are selected from the listbox. If L3.ItemsSelected.Count = 0 Then MsgBox "لا يوجد مطبوغات قد تم اختيارها", vbInformation + vbMsgBoxRight, "تنبيه " Exit Sub End If ' Loop through each selected item and open the corresponding report. For Each Index3 In L3.ItemsSelected repName = L3.ItemData(Index3) repName = "تقرير_" & repName DoCmd.OpenReport repName, acViewNormal, , ftrName Next Index3 Exit_cmdPrint_Click: Exit Sub Err_cmdPrint_Click: MsgBox Err.Description Resume Exit_cmdPrint_Click End Sub مع اختيار : والتعليمات نفس رسالتك مع تغيير بسيط : الكود التالى يعمل بدون مشاكل ولكن هناك سطور مكررة متداخلة به يرجى ضبط بناء الكود لاختصاره وتحسينه
  4. غفر الله ذنوبك كلها وعفا عنك وأحسن إليك ورزقك من حيث لا تحتسب .. لك ولوالديك وجميع أحبابك 😊🤲 وعدت فأوفيت .. وصنعت تحفة راااااائعة قمة في الجمال .
  5. الله الله الله .. عمل فوق الوصف وأداة قمة في الروعة ما شاء الله عليك 😃 والفائدة أصبحت فائدتان عندما شرحت طريقة إضافتها كـ Add-In للبرنامج ( معلومة كنت أبحث عنها من زمااااااان ) 😅👌 جزاك الله خيرا كثيرا .. وغفر الله لك ولوالديك وجزاكم جنات ونهر في مقعد صدق عند مليك مقتدر 😊🤲 هل هذا أحد الخيارات ؟ لربما أنه يعتمد على لغة النظام .. فعندي تظهر الأزرار باللغة العربية
  6. شكرا لك أخي منتصر على هذه الإبداعات .. 🙂 أنت تجعل الحياة أجمل .. والعمل أسهل 🌼 أقترح عليك تصميم أداة جديدة لتصميم الرسائل الاعتيادية أيضا ( MSGBOX ) وللتغذية البصرية هذه أداة تم تصميمها في إضافة (غير مجانية) للأكسس تقوم بعمل هذه المهمة : ويوجد مثلها لصندوق الإدخال InputBox : ولك الأجر والمثوبة 😇🌹
  7. هدية كريمة .. من أخ كريم .. في شهر كريم 🙂 🌹 كتب الله لك أجرها .. ونفع بها .. ما حدث معي .. كلما أنقلها إلى أي قاعدة بيانات تقابلني هذه الرسالة بشكل مزعج ومتكرر عند فتح النموذج وعند تشغيل أي إجراء .. !
  8. يقول المثل : ما لا يُدرك جُلُه .. لا يُترَك كُلُه 😄🖐️ وبعدين 95% نسبة حلوة تخش بيها كلية الهندسة إن شاء الله 😅
  9. توضيح : الكود أشتغل هنا بشكل ممتاز بنسبة 95% 👍 .. الصورة توضح ( قبل وبعد ) تطبيق الكود أو تشغيل الوظيفة. لكن في الصورة الأخرى ضلت المشكلة قائمة، ولعله يكون هناك تعديل يمكن إجراؤه لمراعاة إجراءات الحدث OnTimer .
  10. وعليكم السلام ورحمة الله وبركاته ،،، ماشاء الله تبارك الله .. طرح مميز جدا وغير مسبوق جربت على نموذجين أحدهما كان نموذج قديم ولم نعرف حل لمشكلة الترميش حينها ولكن كودك نجح بامتياز : والآخر هو نفس نموذجك مع بعض الإضافات ولكن لا تزال المشكلة قائمة .. 🤷‍♂️ Anti Flicker.accdb
  11. تعمل عندي بشكل جيد 👍🙂
  12. قصدك : عدم إستعمال المسميات العربية للحقول أو العناصر أو المكونات ......... عدم استعمال المسافات بين أسماء المكونات .......... 😄☝️ حتى لا يفهم قصدك معكوسا 😎
  13. بعد تجربة الجزء الأول من المشروع ، تم الإرسال بنجاح ولله الحمد 👍🙂 وننتظر الجزء الثاني بشوق 😊👌
  14. وهذي مشاركتي المتواضعة 🙂 التحدي 1 - التعامل مع الجداول وخصائصها - موسى.accdb
  15. هذا الموضوع أثار في نفسي فكرة لا أدري هل ستنجح بهذه الميكانيكية أم لا .. 🙂 وربما تكون بذرة لفكرة أكبر .. ألا وهي : الوضع الليلي والوضع النهاري للبرنامج - Dark mode & light mode
  16. شكرا لك أخي الحبيب @ابو جودي ومنكم نستفيد 🙂🌹
  17. إذا أداتنا الجبارة ما أستطاعت تعملها .. فممكن تقترح لنا حلول أو أفكار لتطويرها علشان تقدر تركز عليها وهي تشتغل ؟ 🙂
  18. ما شاء الله تبارك الله .. فعلا كل مرة يفاجئنا الأكسس بمزايا جديدة 😃 شكرا لك أستاذنا @منتصر الانسي شرح مميز ومفصل 🌹
  19. زبدة الموضوع كله يا سيدي الفاضل هو هذه الكلمتين اللي قلتهم أنت .. ☝ الأداة وللتذكير لها وظائف محددة وهو مقتصر عليها إلا إن وجدت زيادة عليها (فهي كرم منه) 😎🖐🏻️ .. وأذكرك مجددا بوظائف الأداة المحددة : وليس من بين الوظائف تصميم نظام كامل ومترابط ، إنما كل مرة تعطيه جزئية ليقوم بفحصها وتعديلها حسب الأوامر الموجة له .. وليس كذلك من وظائفه تشغيل الكود في بيئة الأكسس وأكتشاف النواقص لأنه غير معد لذلك أيضا .. أما إن كان الرهان متعلق بالذكاء الاصطناعي بشكل عام فهذا موضوع آخر ، ولك وجهة نظرك الخاصة
  20. بما أنك تحديت 🙂 هذا هو الملف بعد تعديل دواله للتتوافق مع النواتين باستخدام أداتنا هذه فقط .. مع العلم وللأمانه العلمية : كانت في بعض الأحيان لا تضبط النتيجة من المحاولة الأولى وتنجح في المحاولة الثانية أو بعد أكثر من محاولة .. 🙂 ولكن بدون كثير تدخل .. فقط بتوجيه بسيط من نصف سطر ، والسبب هو أنه أحيانا يعيد تعريف بعض المتغيرات إذا وجدها غير معرفة وفي الواقع هي معرفة في موديول آخر .. فكنت أكتب له : لا تعد تعريف المتغيرات ولا تعد كتابة دوال API لأنها معرفة في موديول آخر . (فقط) systray.zip
  21. شكرا لمرورك أخي العزيز @Debug Ace .. 🙂 النقطة الأولى : يبدوا أنك لم تنتبه إلى أنه عليك تحديد ما تريده بالضبط أن يفعل من هذه القائمة : لعلك كنت مختار [تصحيح برمجي] بدون أن تشعر . النقطة الثانية : التعديلات مبنية على رد محرك الذكاء الاصطناعي والذي معروف عنه أنه قد يصيب ويخطيء وهذا بإقرار من الشركات التي تقدم هذه الخدمات نفسها .. ولكن يمكنك الحصول على إجابات دقيقة ومنضبطة إذا عاودت الضغط على الزر مرة أخرى 🙂 .
  22. فعلا مع التجربة لاحظت أن البوكمارك يمكن أن تنحذف أو تنلغي بسهولة مع أي تعديل للملف .. فكرتك عبقرية فعلا 👌
  23. قد تستفيد من هذ الملف 🙂 : (( للعلم وكما ذكر الباش مهندس فادي @Foksh كان هذا الموضوع هو عنوان تحدي مجموعة الأكسس ، وكانت هناك عدة مشاركات لمختلف الأعضاء وكانت هذه مشاركتي المتواضعة 🙂 )) موسى الكلباني- التتحدي 10 _ التقييم 5 نجوم.accdb
  24. أخي @اسامة الغزالي تفضل تابع هذا الموضوع فيه مصادر كثيرة لجميع احتياجاتك من الصور والخلفيات والأيقونات 🙂 :
×
×
  • اضف...

Important Information