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

نجوم المشاركات

  1. ابوبسمله

    ابوبسمله

    الخبراء


    • نقاط

      10

    • Posts

      918


  2. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      8

    • Posts

      9,814


  3. متقاعد

    متقاعد

    الخبراء


    • نقاط

      2

    • Posts

      583


  4. Moosak

    Moosak

    أوفيسنا


    • نقاط

      2

    • Posts

      1,997


Popular Content

Showing content with the highest reputation on 28 أغس, 2022 in all areas

  1. وعليكم السلام ورحمه الله وبركاته فى مصدر عنصر التحكم لاسم الشهر =Format(Date();"mmmm") وللسنه =Year(Date()) بالتوفيق test(1).accdb
    2 points
  2. الشكر لله ثم لاخواننا واساتذتنا جزاهم الله عنا كل خير @mohamedmas نتمنى لك التوفيق والتعلم لتفيد اخوانك وتبقى مسيره العطاء دائمه بالتوفيق
    2 points
  3. السلام عليكم مشاركه مع اخى @عمر ضاحى فى حدث فالحالى للنموذج الفرعى Private Sub Form_Current() If Not Me.NewRecord Then Me.AllowEdits = False End Sub بالتوفيق try1.accdb
    2 points
  4. السلام عليكم 🙂 المرفق يحتوي على النسختين mdb و accdb ، ويعمل على النواتين 32بت و 64 بت 🙂 النسخة السابقة: عندما يعطي برنامج الاكسس اخطاء - النسخة رقم 3 - قسم الأكسيس Access - أوفيسنا (officena.net) بعض الاوقات عند تشغيل برنامج اكسس ، نجد انه يغلق بدون سبب ، بمثل هذه الرسالة: . او يُظهر اخطاء ، مثل هذه الرسائل وغيرها : . . . هذا معناه ان برنامجك يحتاج تنظيف من الاخطاء التي فيه ، او يحتاج الى استعادة حيويته مرة اخرى ، بالتنظيف والصيانة 🙂 وعادة نقوم بهذا العمل على برنامج الواجهات FE ، ولكن برنامج الجداول BE يستفيد منه كذلك. نافذة البرنامج : . 1. نختار الملف ، سواء mdb او accdb ، اما ملفات mde و accde ، فلن تستفيد من Decompile/Compile ، ولكنها ستستفيد من الضغط والاصلاح ، وعمل نسخ اضافية ، 2. اذا البرنامج فيه كلمة سر (ليس كلمة سر المستخدمين ، ولا كلمة سر الكود VBE) ، فيمكنك كتابة كلمة السر هنا ، وسيقوم البرنامج بحفظه/نسخه في ذاكرة الكمبيوتر ، وتستطيع استعمال الالصاق Ctl+v عندما يسألك البرنامج ، كما يقوم البرنامج بإستخدامه في فتح برنامجك لمراجعة الاخطاء. اذن هناك خطوة يمكن للبرنامج ان يستخدم كلمة السر مباشرة ، وهناك خطوة يجب عليك ادخال كلمة السر عن طريق اللصق Ctl+v ، تم إضافة ميزة عمل النسخ الاحتياطية لبرنامجك ، بحيث تحفظ نسخة من برنامجك بعد التنظيف ، في المجلد الذي تختاره ، ويكون الحفظ المسلسل هكذا : . يعني بدل ان تحفظ نسخة من برنامجك بطرقك الخاصة ، تستطيع وبعد تعديل برنامجك ، ان تتأكد انه خالي من الشوائب ، ويعمل نسخه منه تلقائيا 🙂 وهناك عدة طرق لإختيار مجلد الحفظ: 3. حفظ الملف في نفس مجلد البرنامج ، 4. اختار المجلد ، وبعد اختياره ، تستطيع ان تنقر على الزر 9 ليقوم البرنامج بحفظ هذا المجلد/المسار في البرنامج للمرات القادمة ، 5. اول مسار تريد حفظه هو: استعمل الخطوة 4 في فتح المجلد الرئيسي لحفظ النسخ الاحتياطية (واذا ما كان عندك ، فقم بعمله من الآن) ، ثم احفظ المجلد/المسار بالزر 9. وبعدها ، البرنامج تلقائيا يختار هذا المجلد (اذا قمت بحفظه بواسطة الزر 9) كلما فتحت البرنامج ، اي انه اول سجل في الجدول ، 6. عن طريق الخطوة 4 ، تستطيع حفظ اي عدد من المجلدات ، ولاحقا تستطيع ان تختار هذا المجلد لحفظ النسخة الاحتياطية فيه ، 7. عدم عمل نسخ احتياطية ، للأسف الشديد 😞 8. عند اختيار اي من الاختيارات اعلاه ، سيضع البرنامج مسار مجلد النسخ الاحتياطية هنا ، 11. الآن نطلب من البرنامج ان يقوم بعمله ، بالخطوات التالية : أ. يحفظ نسخة من البرنامج وقبل مساسه (حتى اذا لا قدر الله وحصلت مشكلة في العمل ، يمكنك الرجوع لهذه النسخة) ، ويقوم البرنامج بعمل النسخة في مجلد برنامجك ، بإضافة bak_ في نهاية اسم الملف ، كما في الصورة ، واذا احتجت لإستعمال الملف لاحقا ، فقط قم بحذف bak_ وسيعمل البرنامج : ب. ضغط واصلاح : لما تحذف سجلات من برنامجك ، فإن البرنامج يعطي اشارة الى الجدول بإخفائه ، ولا يقوم بحذفه إلا بعد الضغط والاصلاح ، عند عمل فهرسة لحقول في الجدول ، فإن البرنامج يحتاج الى ضغط واصلاح حتى يقوم بترتيب اعدادات الفهرسة ، عند العمل على البرنامج لفترة طويلة بإضافات وتعديل وحذف ، فالبرنامج يحتاج الى ضغط واصلاح لإعادة ترتيب الفهرسة لسرعة عمل البرنامج ، قد يتم خطأ في تسجيل سجل ، ربما بسبب انطفاء الكهرباء ، او اغلاق الكمبيوتر وبدون اغلاق البرنامج ، وهذا السجل يجعل الجدول لا يعمل بطريقة صحيحة ، والضغط والاصلاح يحل هذه الاشكالية ، البرنامج عبارة عن ملف في الكمبيوتر ، ولما تعمل البرنامج ، فإن الكمبيوتر يحفظ البرنامج على المكان الفارغ من القرص الصلب ، ولما تضيف سجلات جديدة ويكبر حجم البرنامج ، فقد يحفظ الكمبيوتر الجزء الجديد في مكان آخر على القرص الصلب ، مكان غير ملاصق للجزء الاصل (وهذه طريقة حفظ الكمبيوتر للملفات) ، وبهذه الطريقة يصبح الملف موجدا على اجزاء مختلفة من القرص الصلب ، مما يجعل البرنامج ابطأ ، ولما تعمل ضغط واصلاح ، فإن الاكسس يقوم بحساب المساحة المطلوبة للبرنامج ، ثم يقوم بعمل برنامج جديد في مكان جديد على القرص الصلب ، وينسخ البرنامج اليه ، مما يجعل البرنامج اسرع ، بالاضافة الى امور اخرى لا يتم حلها إلا بالضغط والاصلاح ، الضغط والاصلاح لا علاقة له بالكود ، ولا يقوم بفحصه. ج. Decompile : لما نكتب الكود ، الاكسس يحتفظ بكل سطر بلغة P-Code الخاصة بمايكروسوفت (والتي تُستخدم لبعض البرامج الاخرى كذلك) ، وعند تنفيذ الكود ، فالاكسس ينفذ كود لغة P-Code ، وفي بعض الاحيان من كثرة التعديلات على الكود ، فإنه لا يتم تحديث P-Code بطريقة صحيحة ، فينتج عنه رسائل اخطاء اكسس ولا يعمل البرنامج بطريقة صحيحة ، وعند عمل Decompile ، فالاكسس يحذف كود P-Code القديم ، ويسجل فيه كود جديد من VBA ، مما يجعل البرنامج اصغر في الحجم زيادة في الكفائة. د. Compile : بهذه الطريقة ، نتأكد من عدم وجود اخطاء في الكود ، وبقايا ومخلفات ، مثل: لما نحذف كائنات في النموذج/التقرير ، ولا نحذف الحدث الخاص بها ، فالكود يجب حذفة ، لعدم وجود الحدث الي يستعمله ، لما نحذف كائن في النموذج/التقرير ، وفي الكود نكون قد اعطيناه قيمة ، فيجب حذف المسمى من الكود ، عند كتابة كود بطريقة غير صحيحة وغير مكتملة ، فيجب تصحيحها ، وهذه الخطوه مهم لتحويل البرنامج الى mde او accde . يحاول البرنامج القيام بهذا العمل لبرنامجك ، ولكنه اذا لم يستطيع ويحصل على اخطاء ، فإنه يخبرك بهذا ، ويخبرك مكان الخطأ في الكود ، سواء وحدة نمطية او نموذج او تقرير ، ويعطيك مثل الرسالة التالية ، والتي اذا اخترت نعم ، فيوقف البرنامج ، . ويأخذك لبرنامجك الى نافذة الكود VBE ، ثم يجب عليك ان تعمل التالي يدويا: . وتُصلح الاخطاء التي في برنامجك ، الى ان لا يعطي برنامجك اخطاء اخرى ، وبعدها تستطيع ان ترجع الى البرنامج ليقوم جميع الخطوات مرة اخرى. هـ. اذا اشتغلت خطوات البرنامج وبدون اخطاء ، فهنا يقوم البرنامج بعمل نسخة احتياطية من برنامجك ، وبالتسلسل الصحيح ، وفي المجلد الذي اخترته. 12. البرنامج يخبرك عن الخطوات التي تمت 🙂 جعفر Decompile_4.accdb..zip Decompile_4.mdb..zip Decompile_4.2.accdb.zip
    1 point
  5. وعليكم السلام 🙂 مو جميع انواع خطوط الباركود Code39 يعملون بطريقة صحيحة ، في الرابط التالي ، ابحثي عن "ب. عمل الباركود:" ، فقد كتبت عن تجربتي : . جعفر
    1 point
  6. اتفضل ان شاء الله يكون ما تريد بالتوفيق karem1.mdb
    1 point
  7. يمكنك الاستعانة بهذا الملف إن شئت كود1 بحجم الشاشة: Sub test() ThisWorkbook.Application.WindowState = xlMaximized ThisWorkbook.Application.DisplayFullScreen = True Application.WindowState = xlMaximized Application.DisplayFormulaBar = False With ActiveWindow .DisplayHorizontalScrollBar = False .DisplayVerticalScrollBar = False .DisplayWorkbookTabs = False .DisplayHeadings = False .DisplayGridlines = False Cells.Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorAccent1 .TintAndShade = 0.799981688894314 .PatternTintAndShade = 0 End With End With End Sub كود2 بحجم عادي: Sub test2() ThisWorkbook.Application.WindowState = xlNormal ThisWorkbook.Application.DisplayFullScreen = False Application.WindowState = xlNormal Application.DisplayFormulaBar = True With ActiveWindow .DisplayHorizontalScrollBar = True .DisplayVerticalScrollBar = True .DisplayWorkbookTabs = True .DisplayHeadings = True .DisplayGridlines = True Cells.Select With Selection.Interior .Pattern = xlNone .TintAndShade = 0 .PatternTintAndShade = 0 End With ActiveWindow.DisplayGridlines = True End With End Sub test.xlsm
    1 point
  8. أخي يمكنك الاستفادة من الكود الموجود في الملف المرفق لحفظ مسميات الجداول وبقية عناصر قاعدة البيانات في جدول ثم استخراجها في تقرير وتصديره بأي صيغة كما تشاء 🙂 وكذلك هذا كود يحضر لك مسميات عناصر قاعدة البيانات اللي تشتغل عليها ويطبعها في نافذة الـ Immediate window .. لكن مع تعديل بسيط في الكود يمكن تصديرها للجدول . Sub AllContentsReport() ''my first, simplest code''''''''''''''''''''''''''' ''drawback: tables and queries in the same container ''therefore, then I skipped 3 containers ''1- containers for forms/reports/modules/macros ''2 -tabledefs for tables ''3 -querydefs for queries Dim dbs As DAO.Database Dim doc As DAO.Document Dim cont As DAO.Container Set dbs = CurrentDb For Each cont In dbs.Containers Debug.Print "Container:"; cont.Name, "---------------" For Each doc In cont.Documents If doc.Name Like "msys*" Or doc.Name Like "~*" Then Else Debug.Print doc.LastUpdated, doc.Name End If Next doc Next cont '''''''''''''''''' Dim tbl As DAO.TableDef Dim que As QueryDef '''''''''''''''''' Debug.Print "TableDefs:-------------------------" For Each tbl In dbs.TableDefs If tbl.Name Like "msys*" Or tbl.Name Like "~*" Then Else Debug.Print "~~"; tbl.Name, tbl.Connect & "" End If Next tbl '''''''''''''''''' Debug.Print "queryDefs:-------------------------" For Each que In dbs.QueryDefs If que.Name Like "~*" Then Else Debug.Print "~~"; que.Name, "-------------------------" Debug.Print que.SQL End If Next que End Sub
    1 point
  9. ابحث عنها بنفسك ، فما لا تجلبه الرياح تأخذه الزوابع. معلومة أخيرة ، في مديولي دالتين لحساب المدة بطريقتين مختلفتين وإجراءين لفحصهما ، يمكنك التخلص من الدالة التي ينتهي اسمها برقم 2 ويمكنك حذف الإجراءين أيضا ، فقط أنت تحتاج لدالة المدة التي ينتهي اسمها برقم 3 ودالة حصر المدة Between. موفقين.
    1 point
  10. الشكر لله ثم لاخواننا واساتذتنا جزاهم الله عنا كل خير اتفضل التعديل بالتوفيق karem1.mdb
    1 point
  11. وعليكم السلام 🙂 سؤالك غير واضح !! اعطنا بيانات نقدر نستعملها (مو صورة) ، واخبرنا النتيجة النهائية اللي تريدها (وممكن تكون صورة 🙂) جعفر
    1 point
  12. وعليكم السلام ورحمه الله وبركاته اتفضل اخى @dr_bioman بالتوفيق karem2019 new_1.mdb
    1 point
  13. الشكر لله ثم لاخواننا واساتذتنا جزاهم الله عنا كل خير بالتوفيق
    1 point
  14. وعليكم السلام 🙂 الصق هذا الكود في حدث التقرير : Private Sub Report_NoData(Cancel As Integer) MsgBox "لا توجد سجلات للطباعة" Cancel = True End Sub جعفر
    1 point
  15. تفضل أخي هذا التعديل 🙂 : مع ملاحظة أنني قمت بتحويل حقل الصورة إلى حقل نصي بدل (إرتباط) وذلك لتجنب بعض الإشكالات في الكود . لإضافة مرفقات إضافية تكرر سطر إضافة مرفق كل مرة كما هو موضح بالكود .. لأن في الصورة لديك مرفقان بينما في برنامجك مرفق واحد .. فإذا كنت ستكتفي بمرفق واحد ألغِ سطر المرفق الإضافي .. Dim MyOutlook As Object Set MyOutlook = CreateObject("Outlook.Application") Dim MyMail As Object Set MyMail = MyOutlook.CreateItem(olMailItem) MyMail.Attachments.Add Me.Imagepath.Value ' المرفقات MyMail.Attachments.Add "C:\file2.PDF" ' إضافة مرفق ثانٍ MyMail.Display ' لتشغيل برنامج الأوتلوك والتركيز عليه Set MyOutlook = Nothing Set MyMail = Nothing ارسال ايميل مع المرفق (1).rar
    1 point
  16. السلام عليكم شكراً للقائمين على هذا المنتدى العملاق من مشرفين واعضاء لني تعلمت منهم الاكثير واتمنى لهم الموفقية والصحة الدائمة ان شاء الله تعالى. اخوتي انا اعرف ان في هذا المنتدى عمالقة التصميم والبرمجة وانا اعلم ان في هذا المنتدى افضل من هذا البرنامج ولكن لرد الجميل هذا المنتدى ارفع هذه نسخة من برنامج الصادر والوارد مفتوح المصدر برابط خارجي صممتة لصديق لي يعمل في شركة .... تحياتي لكم جميعاً.... https://up.top4top.net/downloadf-1058tvebj1-rar.html
    1 point
  17. هل هذا ما تريد مرفق الشكل النهائى try1.rar
    1 point
  18. استخدم الكود الاتى Private Sub Form_Close() On Error GoTo QuitApp_Err DoCmd.Quit acSave QuitApp_Exit: Exit Sub QuitApp_Err: MsgBox Error$ Resume QuitApp_Exit End Sub
    1 point
  19. جرب هذا برنامج الصادر والوارد.zip
    1 point
  20. شكرا اخوي خالد 🙂 في مجموعة قليلة من الاعضاء اللي يعرفون فائدة هذا البرنامج 😢 اما انا ، فهذا البرنامج اضعه على سطح المكتب ، ويكون مفتوح ، وبعد الانتهاء من بعض تعديلات على اي من برامجي ، على طول استعمل البرنامج هذا ، اطمئن ان الكود نظيف ويعمل اللي كتبته (في احد البرامج في اول ايامي في الاكسس ، من كثرة ما عملت تعديل على الكود ، صار الكود ما يعطيني نتائج صحيحة ، وحينها كنت محتاج لهذا البرنامج!!) ، ويعمل لي نسخ مختلفة (وهذا شيء جدا مهم ، وهو خلال عمل او تعديل اي برنامج ، يجب عمل نسخ منه خلال العمل وليس بعده فقط ، وانا عادة يكون عندي على الاقل 10 نسخ او اكثر ، وكنت اعمل نسخ ولصق) . يا ريت تخبرنا تجربتك ويخبرنا بقية الاعضاء ، فهي الطريقة الوحيدة لنشر مفهوم هذا البرنامج 🙂 دكتور حسنين ، واخوي محمد ، شكرا لكم 🙂 جعفر
    1 point
×
×
  • اضف...

Important Information