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

البحث في الموقع

Showing results for tags 'vba'.

  • Search By Tags

    اكتب الكلمات المفتاحيه بينها علامه الفاصله
  • Search By Author

نوع المحتوي


الاقسام

  • الترحيب
    • نرحب بزوار الموقع
  • قسم تطبيقات و لغات مايكروسوفت
    • منتدى الاكسيل Excel
    • قسم الأكسيس Access
    • منتدي الوورد Word
    • منتدى الباوربوينت
    • منتدى الاوتلوك Outlook
    • المنتدى التقني العام و تطبيقات الأوفيس الأخرى
    • إعلانات شخصية للأعضاء
    • قنوات تعليمية وإعلانات دورات تدريبية
  • إدارة المشاريع والبحث العلمي وعلوم البيانات
    • إدارة المشاريع ومحافظ المشاريع
    • البحث العلمي والإحصاء
    • الذكاء الإصطناعي و التنقيب فى البيانات
  • القسم العام
    • قسم الاقتراحات و الملاحظات
    • مشاركات المدونات
    • أوفيسنا على الفيسبوك

الاقسام

  • VBA Code Library
  • قسم الإكسيل
  • قسم الأكسيس
  • قسم الوورد
  • Project Management
  • Self development التطويرالذاتي
  • معلومات مفيدة
  • أدوات عامة

مدونات

  • M-Taher's Blog
  • مدونة محمد طاهر
  • Officena
  • اا الفاروق اا
  • ‎مدونة أخبار التكنولوجيا
  • M-Taher's Blog
  • يحيى حسين's Blog
  • خبور خير's Blog
  • Dr. AbdelMalek Abu Sheikh's Blog
  • m.hindawi's Blog
  • احمدزمان's Blog
  • الحسامي
  • مدونة أ / محمد صالح
  • yahiaoui's Blog
  • عبدالله المجرب's Blog
  • صيد الخواطر
  • حمادة عمر مدونة
  • مدونة جعفر
  • مدونة عادل حنقي
  • مجدى يونس: لمسة وفاء لمنتدى اوفيسنا
  • Excel Expert Financial&Accounting
  • مدونة اعمال ايقونات الماس لمنتدى اوفيسنا
  • رقائق فى دقائق
  • Shivan Rekany

ابحث عن النتائج فى ......

ابحث عن النتائج التي تحوي ....


تاريخ الانشاء

  • بدايه

    End


اخر تحديث

  • بدايه

    End


Filter by number of...

انضم

  • بدايه

    End


مجموعه


Job Title


البلد


الإهتمامات


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype

  1. هل تبحثون عن طريقة مرنة وقوية للتحكم في فتح وإغلاق النماذج في قواعد البيانات ؟ إليكم دالة NavigateForm الحل الأمثل لتبسيط إدارة فتح وإغلاق النماذج أو التبديل بين الفتح/والإغلاق بكفاءة عالية! ما هي دالة NavigateForm ؟ NavigateForm هي دالة تستخدم في وحدة نمطية عامة (Module) لإدارة النماذج بطريقة احترافية تقوم الدالة بـالآتي : إغلاق النموذج الحالي أو نموذج محدد فتح نموذج آخر بوضع عرض محدد (مثل العرض العادي - الحوار - التصميم - المخفي - . . . .. إلخ) التبديل بإغلاق نموذج وفتح أخر أو فتح نموذج أخر مع الابقاء على النموذج الأب مفتوح تطبيق فلاتر عبر WhereCondition لتحديد السجلات المعروضة تمرير بيانات إضافية عبر OpenArgs لتخصيص سلوك النموذج الدالة مثالية للمطورين اللي عايزين تنقل سلس بين النماذج مع تحكم دقيق في أوضاع الفتح والإغلاق سواء في تطبيقات بسيطة أو معقدة مميزات دالة NavigateForm مرونة عالية: تدعم إغلاق النموذج الحالي أو إغلاق نموذج محدد أو فتح نموذج بوضع معين أو الجمع بين العمليات دي في استدعاء واحد تعداد مخصص (FormOpenMode): يشمل كل أوضاع فتح النماذج الشائعة: - DefaultMode: الوضع الافتراضي - NormalMode: العرض العادي (Form View) - DesignMode: وضع التصميم (Design View) - DatasheetMode: عرض ورقة البيانات (Datasheet View) - PreviewMode: معاينة الطباعة (Print Preview) - LayoutMode: عرض التخطيط (Layout View) - AddMode: إضافة سجل جديد - EditMode: تعديل السجلات - ReadOnlyMode: القراءة فقط - HiddenMode: فتح النموذج في الوضع المخفي - DialogMode: فتح النموذج كحوار (يوقف تنفيذ الكود حتى الإغلاق) معالجة الأخطاء: تتضمن معالجة أخطاء مدمجة للتعامل مع حالات زي: - أسماء نماذج غير موجودة - محاولة إغلاق نموذج غير مفتوح - أخطاء تشغيل غير متوقعة التعامل مع الإغلاق اليدوي: الدالة بتتعامل بذكاء مع إغلاق النماذج يدويًا (مثل ضغط "X" في النافذة) وبتضمن إمكانية إعادة فتح النموذج بدون مشاكل منع الاستدعاءات المتكررة: بتمنع فتح النموذج مرتين بنفس المعاملات لو كان مفتوح بالفعل، مع إعادة تعيين السجل بعد كل عملية توثيق احترافي: الكود مرفق بتوثيق مفصل يشرح المعاملات و الأوضاع و وأمثلة الاستدعاء سهولة التكامل: يمكن استدعاؤها من أحداث النماذج (مثل أزرار OnClick) أو ماكرو أو كود VBA آخر دعم الفلاتر والبيانات الإضافية: بتسمح بتطبيق فلاتر عبر WhereCondition وتمرير بيانات مخصصة عبر OpenArgs الكود الكود متاح في وحدة نمطية عامة (basNavigateForm)، ويتضمن: تعداد FormOpenMode لتحديد أوضاع الفتح دالة IsFormPresent للتحقق من وجود النموذج دالة NavigateForm لإدارة فتح وإغلاق النماذج Option Compare Database Option Explicit ' متغير عام للتحكم في طباعة رسائل التصحيح Public DebugPrintEnabled As Boolean ' تعداد لتحديد أوضاع فتح النموذج Public Enum FormOpenMode DefaultMode = 0 ' الوضع الافتراضي (يفتح النموذج بإعدادات Access الافتراضية) NormalMode = 1 ' العرض العادي (Form View) DesignMode = 2 ' وضع التصميم (Design View) DatasheetMode = 3 ' عرض ورقة البيانات (Datasheet View) PreviewMode = 4 ' عرض معاينة الطباعة (Print Preview) LayoutMode = 5 ' عرض التخطيط (Layout View) AddMode = 6 ' وضع إضافة سجل جديد EditMode = 7 ' وضع تعديل السجلات ReadOnlyMode = 8 ' وضع القراءة فقط HiddenMode = 9 ' الوضع المخفي (Hidden) DialogMode = 10 ' وضع الحوار (Dialog) End Enum ' ======================================================================= ' الدالة: التحقق من وجود نموذج في قاعدة البيانات ' الوصف: ترجع True إذا كان النموذج موجودًا في قاعدة البيانات، وFalse إذا لم يكن موجودًا ' المعاملات: formName (String) - اسم النموذج المراد التحقق منه ' ' المؤلف: [ابو جودي - منتديات أوفيسنا] ' تاريخ الإنشاء: 24 مايو 2025 ' الإصدار: 2.1 ' ======================================================================= Public Function IsFormPresent(formName As String) As Boolean On Error Resume Next Dim formObj As Object Set formObj = CurrentProject.AllForms(formName) IsFormPresent = Not (formObj Is Nothing) ' طباعة نتيجة التحقق إذا كانت الطباعة مفعلة If DebugPrintEnabled Then Debug.Print "IsFormPresent: التحقق من النموذج '" & formName & "': " & IsFormPresent End If Set formObj = Nothing On Error GoTo 0 End Function ' ======================================================================= ' NavigateForm ' ' وصف: ' دالة عامة للتحكم في فتح وإغلاق نماذج Microsoft Access. تتيح إغلاق ' النموذج الحالي أو نموذج محدد، وفتح نموذج آخر بوضع محدد مع إمكانية ' تمرير بيانات إضافية عبر OpenArgs وتطبيق فلتر عبر WhereCondition. ' إذا كان النموذج المراد فتحه مفتوحًا بالفعل، يتم إغلاقه وإعادة فتحه ' بالوضع المحدد مع الحفاظ على OpenArgs وWhereCondition. ' ' المعاملات: ' - formToClose (اختياري، String): اسم النموذج المراد إغلاقه. ' - formToOpen (اختياري، String): اسم النموذج المراد فتحه. ' - openMode (اختياري، FormOpenMode): وضع فتح النموذج. ' - openArgs (اختياري، Variant): بيانات إضافية لتمريرها إلى النموذج المفتوح. ' - WhereCondition (اختياري، String): شرط فلترة لتحديد السجلات المعروضة. ' ' القيمة المرجعة: ' - Boolean: True إذا نجحت العملية، False إذا حدث خطأ. ' ' أمثلة: ' Call NavigateForm ' إغلاق النموذج الحالي ' Call NavigateForm("Form1") ' إغلاق Form1 ' Call NavigateForm("", "Form2", DialogMode) ' فتح Form2 كحوار ' Call NavigateForm("Form1", "Form2", AddMode) ' إغلاق Form1 وفتح Form2 لإضافة سجل ' Call NavigateForm("", "Form2", NormalMode, "CustomerID=123", "ID=123") ' فتح Form2 مع فلتر ' Call NavigateForm("Form1", "Form2", DialogMode, "Source=MainForm") ' إغلاق Form1 وفتح Form2 كحوار ' Call NavigateForm("", "Form1", DialogMode, , "ID=456") ' إغلاق Form1 وإعادة فتحه كحوار مع فلتر ' ' ملاحظات: ' - تأكد من وجود النماذج المحددة في قاعدة البيانات. ' - وضع DialogMode يوقف تنفيذ الكود حتى إغلاق النموذج. ' - وضع DesignMode قد يكون مقيدًا في قواعد البيانات المحمية. ' - استخدم المتغير العام DebugPrintEnabled لتفعيل طباعة رسائل التصحيح أثناء التجربة. ' - OpenArgs يمكن استخدامه في حدث OnLoad أو OnActivate للنموذج لمعالجة البيانات الممررة. ' - يمكن استدعاء الدالة من ماكرو باستخدام RunCode: NavigateForm() ' - إذا كان النموذج مفتوحًا، سيتم إغلاقه وإعادة فتحه بالوضع المحدد. ' - WhereCondition يتم تطبيقه عند فتح النموذج. ' - يتم منع الاستدعاءات المتكررة بنفس المعاملات فقط إذا كان النموذج مفتوحًا. ' - يتم إعادة تعيين سجل الاستدعاء بعد نجاح أو فشل العملية. ' ' المؤلف: [ابو جودي - منتديات أوفيسنا] ' تاريخ الإنشاء: 24 مايو 2025 ' الإصدار: 2.1 ' ======================================================================= Public Function NavigateForm(Optional ByVal formToClose As String = "", _ Optional ByVal formToOpen As String = "", _ Optional ByVal openMode As FormOpenMode = DefaultMode, _ Optional ByVal openArgs As Variant = Null, _ Optional ByVal WhereCondition As String = "") As Boolean On Error GoTo ErrHandler ' متغير ثابت لتتبع آخر استدعاء Static lastCall As String Dim currentCall As String currentCall = formToClose & "|" & formToOpen & "|" & openMode & "|" & IIf(IsNull(openArgs), "Null", openArgs) & "|" & WhereCondition ' التحقق من التكرار: نتجاهل فقط إذا كان النموذج مفتوحًا ونفس المعاملات If currentCall = lastCall And formToOpen <> "" Then If IsFormPresent(formToOpen) And CurrentProject.AllForms(formToOpen).IsLoaded Then If DebugPrintEnabled Then Debug.Print "NavigateForm: تجاهل استدعاء متكرر بنفس المعاملات: " & currentCall End If NavigateForm = True Exit Function End If End If ' تحديث lastCall lastCall = currentCall ' افتراض النجاح NavigateForm = True ' طباعة المعاملات عند دخول الدالة If DebugPrintEnabled Then Debug.Print "NavigateForm: استدعاء الدالة مع المعاملات - formToClose: '" & formToClose & "', formToOpen: '" & formToOpen & "', openMode: " & openMode & ", openArgs: " & IIf(IsNull(openArgs), "Null", openArgs) & ", WhereCondition: '" & WhereCondition & "'" End If ' إذا لم يتم تمرير أي معاملات، أغلق النموذج الحالي If formToClose = "" And formToOpen = "" Then If Not Screen.ActiveForm Is Nothing Then If DebugPrintEnabled Then Debug.Print "NavigateForm: إغلاق النموذج الحالي '" & Screen.ActiveForm.Name & "'" End If DoCmd.Close acForm, Screen.ActiveForm.Name, acSaveNo ' إعادة تعيين lastCall بعد الإغلاق lastCall = "" Else If DebugPrintEnabled Then Debug.Print "NavigateForm: لا يوجد نموذج حالي مفتوح" End If End If Exit Function End If ' التحقق إذا تم تمرير اسم نموذج للإغلاق If formToClose <> "" Then If IsFormPresent(formToClose) Then If CurrentProject.AllForms(formToClose).IsLoaded Then If DebugPrintEnabled Then Debug.Print "NavigateForm: إغلاق النموذج '" & formToClose & "'" End If DoCmd.Close acForm, formToClose, acSaveNo ' إعادة تعيين lastCall بعد الإغلاق lastCall = "" Else If DebugPrintEnabled Then Debug.Print "NavigateForm: النموذج '" & formToClose & "' غير مفتوح" End If End If Else If DebugPrintEnabled Then Debug.Print "NavigateForm: النموذج '" & formToClose & "' غير موجود" End If MsgBox "النموذج '" & formToClose & "' غير موجود في قاعدة البيانات.", vbExclamation, "خطأ" NavigateForm = False ' إعادة تعيين lastCall بعد الفشل lastCall = "" Exit Function End If End If ' التحقق إذا تم تمرير اسم نموذج للفتح If formToOpen <> "" Then If IsFormPresent(formToOpen) Then ' إذا كان النموذج مفتوحًا بالفعل، أغلقه If CurrentProject.AllForms(formToOpen).IsLoaded Then If DebugPrintEnabled Then Debug.Print "NavigateForm: النموذج '" & formToOpen & "' مفتوح بالفعل، سيتم إغلاقه" End If DoCmd.Close acForm, formToOpen, acSaveNo End If ' فتح النموذج بالوضع المحدد If DebugPrintEnabled Then Debug.Print "NavigateForm: فتح النموذج '" & formToOpen & "' بوضع " & openMode & IIf(IsNull(openArgs), "", ", openArgs: " & openArgs) & IIf(WhereCondition = "", "", ", WhereCondition: " & WhereCondition) End If Select Case openMode Case NormalMode DoCmd.OpenForm formToOpen, acNormal, , WhereCondition, , , openArgs Case DesignMode DoCmd.OpenForm formToOpen, acDesign, , WhereCondition, , , openArgs Case DatasheetMode DoCmd.OpenForm formToOpen, acFormDS, , WhereCondition, , , openArgs Case PreviewMode DoCmd.OpenForm formToOpen, acPreview, , WhereCondition, , , openArgs Case LayoutMode DoCmd.OpenForm formToOpen, acLayout, , WhereCondition, , , openArgs Case AddMode DoCmd.OpenForm formToOpen, acNormal, , WhereCondition, acFormAdd, , openArgs Case EditMode DoCmd.OpenForm formToOpen, acNormal, , WhereCondition, acFormEdit, , openArgs Case ReadOnlyMode DoCmd.OpenForm formToOpen, acNormal, , WhereCondition, acFormReadOnly, , openArgs Case HiddenMode DoCmd.OpenForm formToOpen, acNormal, , WhereCondition, , acHidden, openArgs Case DialogMode DoCmd.OpenForm formToOpen, , , WhereCondition, , acDialog, openArgs Case Else DoCmd.OpenForm formToOpen, , , WhereCondition, , , openArgs End Select ' إعادة تعيين lastCall بعد فتح النموذج lastCall = "" Else If DebugPrintEnabled Then Debug.Print "NavigateForm: النموذج '" & formToOpen & "' غير موجود" End If MsgBox "النموذج '" & formToOpen & "' غير موجود في قاعدة البيانات.", vbExclamation, "خطأ" NavigateForm = False ' إعادة تعيين lastCall بعد الفشل lastCall = "" Exit Function End If End If Exit Function ErrHandler: If DebugPrintEnabled Then Debug.Print "NavigateForm: حدث خطأ: " & Err.Description End If MsgBox "حدث خطأ: " & Err.Description, vbExclamation, "خطأ" NavigateForm = False ' إعادة تعيين lastCall بعد الخطأ lastCall = "" End Function طريقة الاستخدام إنشاء الوحدة النمطية: افتح محرر VBA في (Alt + F11) أنشئ وحدة نمطية جديدة (Insert > Module) انسخ الكود أعلاه والصقه في الوحدة احفظ الوحدة النمطية باسم : basNavigateForm استدعاء الدالة: يمكن استدعاء NavigateForm من أحداث النماذج (مثل OnClick لزر) أو ماكرو أو كود VBA آخر أمثلة الاستدعاء: ' إغلاق النموذج الحالي Call NavigateForm ' إغلاق نموذج محدد Call NavigateForm("Form1") ' فتح نموذج في وضع الحوار Call NavigateForm("", "Form2", DialogMode) ' إغلاق Form1 وفتح Form2 في وضع إضافة سجل Call NavigateForm("Form1", "Form2", AddMode) ' فتح نموذج مع فلتر Call NavigateForm("", "Form2", NormalMode, , "CustomerID=123") ' فتح نموذج مع OpenArgs Call NavigateForm("", "Form2", DialogMode, "Source=MainForm") ' فتح نموذج مخفي Call NavigateForm("", "Form2", HiddenMode) ' فتح نموذج في وضع التصميم Call NavigateForm("", "Form2", DesignMode) ' فتح نموذج في عرض ورقة البيانات Call NavigateForm("", "Form2", DatasheetMode) وأخيـــــرا مرفق بسيط للتجربة NavigateForm (V2.1).accdb
  2. السلام عليكم الأخوة المبتدئين في برمجة اكسس هذا اقتطته من برنامج عملاق لأحد الاخوة المبرمجين وهو مقدم هدية مجانية اضعه بين ايديكم للاستفادة منه من حيث التصميم ومن حيث الاكواد وهو نسخة مجانية وليس مخصص للبيع 1- تعبئة بيانات الشركة الخاصة بك 2- تعبئة بيانات الموردين 3- تعبئة سيندات الدفع جربوه ووافوني بالنتائج SANADAT 2025.accdb
  3. مرحبا القصة هي: كنت بحاجة إلى أحد برامجي القديمة التي كنت بحاجة إلى استخدامها في تطبيقي الجديد. أدركت أنني نسيت رمز بيئة ترميز VBA في MS Access! كانت القصة فظيعة بعد المراجعة ، أدركت أنني فقدت الملف الذي يحتوي على كلمات المرور. الآن أحتاج إلى مساعدة لفتح كلمة المرور.
  4. السلام عليكم كنت ابحث عن برنامج على جهازي الكمبيوتر بالصدفة وجدت هذا الملف الرائع احببت المشاركة معكم للفائدة اكواد كسس مهمة.rar
  5. :: السلام عليكم ورحمة الله وبركاته :: لا بد بين فترة وأخرى من اقتحام مجالات جديدة وتنمية المهارات البرمجية لدى للمبرمج 🙂 هذي المرة طرح أخي @TQTHAMI فكرة برنامج للكلمات المتقاطعة ، فلمعت في رأسي الفكرة وقررت خوض التجربة فنتج عنها ما يلي☺️ :: ((( لعبة الكلمات المتقاطعة ))) :: وهنا بعض الصور واللقطات للعبة إضافة لعبة جديدة وتصميمها :: وأخيرا تحميل الملف المفتوح 😊 :: لعبة الكلمات المتقاطعة.accdb :: ((( الإصدار الثاني 2.0 ))) :: أضفت زرين في نافذة إعداد اللعبة : طباعة اللعبة / طباعة الحل : التحميل 🙂 : ‏‏لعبة الكلمات المتقاطعة الإصدار 2.accdb1.63 \u0645\u064a\u062c\u0627 \u0628\u0627\u064a\u062a · 0 downloads
  6. السلام عليكم ورحمة الله وبركاته يسرني اليوم أن أقدم لكم هذه الهدية المتميزة والرائعة (مكتبة الأكواد الخاصة) :: الإصدار الثالث :: مكتبة عامرة بمئات الأكواد VBA داعمة للمبرمجين وجزء لا يتجزأ من عملهم. تختصر الوقت وتسهل العمل على مصممي البرامج. وهي مكتبة عامة يمكن استخدامها لأي لغات برمجية أخرى . من مميزات المكتبة : - أكثر من 360 كود ودالة في مختلف الفنون والمجالات . - قابلة لحفظ مرفقات مع الكود لدعم التطبيق. - يمكنك إضافة أكوادك الخاصة لتكون مكتبة داعمة لكل مبرمج. - سهلة الاستخدام . تحميل المكتبة : مكتبة الأكواد الخاصة zip.zip ولا تنسوني من صالح دعواتكم 🙂🌹
  7. السلام عليكم ورحمة الله وبركاته 🌹 درسنا اليوم عن طريقة عمل قوائم ديناميكية متحركة بأقل عدد من الأكواد وطريقة مبتكرة . 🙂 النتيجة النهائية : الشرح : تحميل الملف : Dynamic Menus.accdb
  8. السلام عليكم ورحمة الله وبركاته اخواتي فى الله احتاج مساعده لحل مشكلة اللغة العربية في msgbox التى لا تظهر باللغة العربية علي شاشة المستخدم في اكسس
  9. احبتي ما زلت اعمل على المثال المشكلة الحاصلة هي بسببين : 1- لوحة المفاتيح والأمر sendkeys .. احيانا وداخل الاجراء تتحول الى off فيختل ترتيب الأوامر وقد عالجت المشكلة باستخدام كود يجعل لوحة المفاتيح بوضع ON خلال تنفيذ الكود 2-ملاحظة غريبة بعد ترقية واتساب لم اكن اشاهدها في النسخة القديمة وهي ظهور مربع حوار اختيار المرفق ولصق رابط الصورة ثم اختيار الصورة ثم اسقاطها في واتساب . كل هذا يحدث آليا امام عيني بواسطة الاوامر المتكررة من sendkeys وهذا مزعج وغير احترافي وقد عالجت المشكلة واستبدلت الأوامر بامر واحد وهو اللصق مباشرة باستخدام Ctrl+V وقد نجحت الفكرة واختصرنا عدة حركات والتي كانت هي السبب المباشر في هذا الخلل طبعا استخدمت وحدتين نمطيتين واحدة للنسخ والاخرى للصق ، ولكني توقفت بسبب جودة الصورة .. حيث تظهر دقة الصورة رديئة وبحثت عن حلول فوجدت الحل الشافي ودقة 100% في طريقة الاستاذ جعفر وهي الاستعانة ببرنامج خارجي مساعد للنسخ ولكني افكر فيمن يريد توزيع برنامجه على نطاق واسع بحيث يلزم من يستخدم البرنامج تحميل برنامج الصور المساعد لذا سأنتظر لعلي اجد حلا لجودة الصورة المنسوخة ، والا سوف ارفعه حسب الطريقتين
  10. اعرض الملف 🎁 :: مرسال الواتسأب :: 📨 :: الإصدار الثاني 2.0 :: مطور :: 🧬🏹 السلام عليكم ورحمة الله وبركاته يسرني اليوم أن أقدم لكم هذه الهدية المتميزة والرائعة (مرسال الواتسأب) مع المرفقات مرسال الواتسأب مع المرفقات | سلسلة هدايا الأكسس | 03| 🎁 وهو عبارة عن برنامج صغير لإرسال الرسائل للواتسأب مع المرفقات .. :: من مميزات هذا الإصدار :: - إرسال رسائل فردية أو جماعية عن طريق برنامج الواتسأب . - لا يحتاج لبرنامج الإنترنت إكسبلورر لفتح الواتسأب. - لا يغلق مفتاح الـ NumLock بعد الإرسال. -تم اختصار الكود في موديول واحد ودالة واحدة تقوم بعملية الإرسال بعدة خيارات . - لو أردت تطبيق الكود في برنامجك الخاص ستحتاج لنقل الموديول إلى برنامجك + سطر برمجي واحد فقط لعملية الإرسال. :: شرح البرنامج :: :: لتحميل البرنامج :: صاحب الملف Moosak تمت الاضافه 30 مار, 2023 الاقسام قسم الأكسيس
  11. Version 1.0.0

    381 تنزيل

    السلام عليكم ورحمة الله وبركاته يسرني اليوم أن أقدم لكم هذه الهدية المتميزة والرائعة (مرسال الواتسأب) مع المرفقات مرسال الواتسأب مع المرفقات | سلسلة هدايا الأكسس | 03| 🎁 وهو عبارة عن برنامج صغير لإرسال الرسائل للواتسأب مع المرفقات .. :: من مميزات هذا الإصدار :: - إرسال رسائل فردية أو جماعية عن طريق برنامج الواتسأب . - لا يحتاج لبرنامج الإنترنت إكسبلورر لفتح الواتسأب. - لا يغلق مفتاح الـ NumLock بعد الإرسال. -تم اختصار الكود في موديول واحد ودالة واحدة تقوم بعملية الإرسال بعدة خيارات . - لو أردت تطبيق الكود في برنامجك الخاص ستحتاج لنقل الموديول إلى برنامجك + سطر برمجي واحد فقط لعملية الإرسال. :: شرح البرنامج :: :: لتحميل البرنامج :: من المرفقات
  12. السلام عليكم اخواني الاعزاء كود بسيط لمنع التكرار نحتاجة في معظم برامجنا مرفق قاعدة البيانات حدث قبل التحديث منع التكرار.accdb
  13. السلام عليكم ورحمة الله وبركاته 🙂 اليوم بفضل الله تعلمت شي جديد وحبيت أحطه في تطبيق عملي مباشرة ً .. 😎 وفي نفس الوقت حبيت أشارككم الفائدة 😄 معلومة اليوم تتحدث عن الحدث : Form.Repaint للنموذج ويمكن كتابته هكذا Me.Repaint ووضيفته مشابهة للـ DoEvents تقريبا إلا أنه مع التجربة والمقارنة وجدته أسرع في التنفيذ . معناه الحرفي ( إعادة الرسم ) ووضيفته بشكل عام هو إظهار أي تحديثات معلقة للنموذج في أثناء تنفيذ أي حدث 😁 .. وللمزيد من المعلومات هنا ستجدون رابط الشرح من مايكروسوفت : <<< اضغط هنا >>>> المهم .. هذا تطبيقي على الحدث وتكمن في تحريك الأزرار عند الضغط عليها بشكل يضفي طابع جمالي وجديد للنماذج 🙂 ( قد لا تبين حركة الأزرار العلوية في الصورة التوضيحية .. لذلك سترونها بوضوح من خلال الملف المرفق 😁 ) وهذا شكلها في الأكواد المستخدمة : Function AnimateBtns1() Dim x As Integer Dim y As Integer For x = 1 To 6 Me("b" & x).Visible = True For y = 1 To 35 Me("b" & x).Top = Me("b" & x).Top + y Me.repaint Next y For y = 1 To 35 Me("b" & x).Top = Me("b" & x).Top - y Me.repaint Next y Me.repaint Next x End Function Function AnimateBtns2() Dim x As Integer Dim y As Integer For x = 1 To 6 For y = 1 To 35 Me("c" & x).Top = Me("c" & x).Top + y Me.repaint Next y Me.repaint Next x For x = 1 To 6 For y = 1 To 35 Me("c" & x).Top = Me("c" & x).Top - y Me.repaint Next y Next x End Function تحياتي 🙂 ✌️🌷🌹 حركة الأزرار.accdb
  14. السلام عليكم ورحمة والله تعالى وبركاته طيب ببساطه انظر للسلسلة النصية الاتية "Moh8202281012343434" ونريد التعديل عليها لتظهر بهذا الشكل "Moh-820-228-101-234-343-4" او بهذا الشكل "Moh,820,228,101,234,343,4" او بهذا الشكل Moh820/228101/234343/4 يتم عمل ذلك من خلال الكود الاتى Function ReFormat(ByVal strText As String, Optional strSymbol As String = "-", Optional intCountDigits As Integer = 3) Dim i As Long ReFormat = "" For i = 0 To Len(strText) - 1 Step intCountDigits If i = 0 Then ReFormat = Mid(strText, i + 1, intCountDigits) Else ReFormat = ReFormat & strSymbol & Mid(strText, i + 1, intCountDigits) End If Next i End Function syntax code ReFormat(string ,Symbol, Count Digits) Result By default syntax used ReFormat(string) Symbol >-->> - Count Digits >-->> 3 اذا من خلال استدعاء الكود عن طريق البنية المفضلة الاتية: ReFormat(string) تحصل على اضافة العلامة - بعد كل 3 مواضع فى السلسلة النصية اما اذا اردت التعديل فى شكل الرمز وعدد المواضع يمكنك استخدام الكود الاتى : ReFormat(string ,Symbol, Count Digits) مثلا لو اردت استخدام الرمز $ بدلا من الرمز - وتريد وضع الرمز فى السلسلة النصية بعد كل خمس مواضع يكون الكود كالأتى: ReFormat(string ,"$", 5)
  15. السلام عليكم ورحمة الله وبركاته هذا ناتج تمرين اليوم على البرمجة VBA 🙂 :: آلة حاسبة :: أهديكموها مفتوحة المصدر 😊🎁 ملاحظة : تم إضافة خاصية الحساب عن طريق مفاتيح الكيبورد 😊 مع حل مشكلة الأرقام العشرية 😁 آراؤكم ودعواتكم 😉 Moosak Calculator V1.1.accdb
  16. السلام عليكم ورحمة الله إزيك يا جماعة الخير لو سمحتوا محتاج مساعدة فى الكود ده لو ينفع بالحلقات التكرارية أو يعمل أسرع Private Sub TextBox15_Change() 'Call MG_Start Application.Workbooks("El Dawliya Employee Data").Activate On Error Resume Next Dim f As Variant ListBox1.RowSource = Empty ListBox1.Clear Sheets("Emp").Select For Each f In Range("A2:A" & Range("A700").End(xlUp).Row) If f Like TextBox15 & "*" Then listed = ListBox1.ListCount ' ListBox1.ColumnCount = 41 ListBox1.AddItem ListBox1.List(listed, 0) = f ListBox1.List(listed, 1) = f.Offset(0, 1) ListBox1.List(listed, 2) = f.Offset(0, 2) ListBox1.List(listed, 3) = f.Offset(0, 3) ListBox1.List(listed, 4) = f.Offset(0, 4) ListBox1.List(listed, 5) = f.Offset(0, 5) ListBox1.List(listed, 6) = f.Offset(0, 6) ListBox1.List(listed, 7) = f.Offset(0, 7) ListBox1.List(listed, 😎 = f.Offset(0, 😎 ListBox1.List(listed, 9) = f.Offset(0, 9) ListBox1.List(listed, 10) = f.Offset(0, 10) ListBox1.List(listed, 11) = f.Offset(0, 11) ListBox1.List(listed, 12) = f.Offset(0, 12) ListBox1.List(listed, 13) = f.Offset(0, 13) ListBox1.List(listed, 14) = f.Offset(0, 14) ListBox1.List(listed, 15) = f.Offset(0, 15) ListBox1.List(listed, 16) = f.Offset(0, 16) ListBox1.List(listed, 17) = f.Offset(0, 17) ListBox1.List(listed, 18) = f.Offset(0, 18) ListBox1.List(listed, 19) = f.Offset(0, 19) ListBox1.List(listed, 20) = f.Offset(0, 20) ListBox1.List(listed, 21) = f.Offset(0, 21) ListBox1.List(listed, 22) = f.Offset(0, 22) ListBox1.List(listed, 23) = f.Offset(0, 23) ListBox1.List(listed, 24) = f.Offset(0, 24) ListBox1.List(listed, 25) = f.Offset(0, 25) ListBox1.List(listed, 26) = f.Offset(0, 26) ListBox1.List(listed, 27) = f.Offset(0, 27) ListBox1.List(listed, 28) = f.Offset(0, 28) ListBox1.List(listed, 29) = f.Offset(0, 29) ListBox1.List(listed, 30) = f.Offset(0, 30) ListBox1.List(listed, 31) = f.Offset(0, 31) ListBox1.List(listed, 32) = f.Offset(0, 32) ListBox1.List(listed, 33) = f.Offset(0, 33) ListBox1.List(listed, 34) = f.Offset(0, 34) ListBox1.List(listed, 35) = f.Offset(0, 35) ListBox1.List(listed, 36) = f.Offset(0, 36) ListBox1.List(listed, 37) = f.Offset(0, 37) ListBox1.List(listed, 38) = f.Offset(0, 38) ListBox1.List(listed, 39) = f.Offset(0, 39) ListBox1.List(listed, 40) = f.Offset(0, 40) End If Next 'Call MG_End End Sub
  17. السلام عليكم ورحمة الله اساتذتنا واخواننا في هذا المنتدى الجميل ارجو افادتي حول تعديل الكود الخاص بالسكنر المطلوب: تصغير حجم الصورة الماخوذة بالسكنر حيث ان كل صورة يبلغ حجمها 5 ميجا تنبيهي الى الاخطاء الموجودة في الكود لغرض التعلم هذا ولكم الاجر والثواب تحياتي للجميع Option Compare Database Option Explicit Dim destinationFolder As String Dim myScanPath As String Dim myScanPathWithID As String Dim myImageFullName As String Private Sub btnClose_Click() DoCmd.Close End Sub Private Sub btnDelete_Click() 'Make Sure PicPath not Null If IsNull(Path) Then MsgBox "لا بوجد مسار للصورة حتى تتم عملية الحذف", vbCritical + vbOKOnly, "نقص معلومات" Exit Sub End If On Error Resume Next If MsgBox("سيتم حذف المرفق نهائيا ولا يمكن التراجع عن الحذف مرة اخري", _ vbQuestion + vbYesNo + vbMsgBoxRight + vbDefaultButton2, _ "تأكيد الحذف") = vbYes Then DoCmd.RunCommand acCmdDeleteRecord Else DoCmd.CancelEvent End If End Sub Private Sub btnHdd_Click() 'Make Sure EmpID not Null If IsNull(EmpID) Or IsNull(TypeOfDocument) Or IsNull(DocumentNumber) Or IsNull(DocumentNumber) Or IsNull(FaceOrBack) Then MsgBox "يرجى اكمال المعلومات في الحقول قبل استعمال نسح صورة من الهارد", vbCritical + vbOKOnly, "نقص معلومات" Exit Sub End If Dim Syso As Object Dim MyFile As String myScanPath = "D:\MyScanDB" myScanPathWithID = myScanPath & "\" & [EmpID] Dim fso As Object Set fso = CreateObject("scripting.filesystemobject") If Not fso.FolderExists(myScanPathWithID) Then fso.createfolder (myScanPathWithID) End If Dim Addfile As Object Set Addfile = Application.FileDialog(3) With Addfile .AllowMultiSelect = False .InitialFileName = "" .Filters.Clear .Filters.Add "All Files", "*.*" If .Show = True Then MyFile = Trim(.SelectedItems(1)) destinationFolder = myScanPathWithID & "\" & [TypeOfDocument] & " " & [DocumentNumber] & " " & Format([DocumentDate], "yyyy-mm-dd") & " " & [FaceOrBack] & " " & Format([DateOfTransfer], "yyyy-mm-dd hh-mm-nn-ss") & ".jpg" Me.Path = destinationFolder DBEngine.Idle Set Syso = CreateObject("Scripting.FileSystemObject") Syso.copyfile MyFile, destinationFolder Set Syso = Nothing Else Exit Sub End If End With End Sub Private Sub btnPrevew_Click() DoCmd.GoToControl "Path" If IsNull(Me![Path]) Then MsgBox "لايوجد مرفق" Else Application.FollowHyperlink [Path] End If Exit_btnHdd_Click: Exit Sub Err_btnHdd_Click: MsgBox Err.Description Resume Exit_btnHdd_Click End Sub Private Sub btnScaner_Click() 'Make Sure EmpID not Null If IsNull(EmpID) Or IsNull(TypeOfDocument) Or IsNull(DocumentNumber) Or IsNull(DocumentNumber) Or IsNull(FaceOrBack) Then MsgBox "يرجى اكمال المعلومات في الحقول قبل استعمال السكنر", vbCritical + vbOKOnly, "نقص معلومات" Exit Sub End If myScanPath = "D:\MyScanDB" myScanPathWithID = myScanPath & "\" & [EmpID] myImageFullName = "" 'Make Sure Folder Exsist if Not Create One destinationFolder = Dir(myScanPathWithID, vbDirectory) If destinationFolder = vbNullString Then VBA.FileSystem.MkDir (myScanPathWithID) End If Dim hg, OldFile, DBwithEXT Dim fdialog As Office.FileDialog Dim filepath As String Dim sdialog As New WIA.CommonDialog Dim imagefile As WIA.imagefile On Error GoTo errorhandle Set fdialog = Application.FileDialog(msoFileDialogSaveAs) OldFile = myScanPathWithID DBwithEXT = Dir(OldFile) hg = myScanPathWithID & "\" & [TypeOfDocument] & " " & [DocumentNumber] & " " & Format([DocumentDate], "yyyy-mm-dd") & " " & [FaceOrBack] & " " & Format([DateOfTransfer], "yyyy-mm-dd hh-mm-nn-ss") & Right(DBwithEXT, 3) With fdialog .Title = "Save as" .AllowMultiSelect = False .InitialFileName = [hg] .InitialFileName = hg + ".bmp" If .Show Then filepath = .SelectedItems(1) ' Else Exit Sub End If Set imagefile = sdialog.ShowAcquireImage() imagefile.SaveFile filepath Me.Path = filepath End With errorhandleexit: Exit Sub errorhandle: MsgBox Err.Description Resume errorhandleexit End Sub MyPic.rar
  18. السلام عليكم ورحمة الله تعالى وبركاته اليوم واجهتني مشكلة من وجهة نظري وهي active le contenu هذه الرسالة تاتي عند فتح قاعدة البيانات لاول مرة او عند تغيير الاسم لها - هل هناك اعدادات في اكسس تخفي هذه الرسالة نهائيا ام يتوجب تطوير كود لاخفائها المرجو من الاخوة الكرام افادتنا وشكرا
  19. السلام عليكم ورحمة الله اساتذتنا واخواننا في هذا المنتدى تحية لكم ارجو مساعدتي في خطاء برمجي عند الضغط على زر السكنر تظهر لي هذه الجملة (Type mismatch) Private Sub أمر166_Click() On Error Resume Next Dim y y = [dd] & "\" & [رقم الطلب] Dim fs As Object Dim q As Object Set fs = CreateObject("Scripting.FileSystemObject") If fs.FolderExists(y) = True Then Else Set q = fs.Createfolder(y) End If Dim hg, OldFile, DBwithEXT Dim fdialog As Office.FileDialog Dim filepath As String Dim sdialog As New WIA.CommonDialog Dim imagefile As WIA.imagefile On Error GoTo errorhandle Set fdialog = Application.FileDialog(msoFileDialogSaveAs) OldFile = Me.x DBwithEXT = Dir(OldFile) hg = y & "\" & [a] & " " & [b] & " " & Format([c], "yyyy-mm-dd") & " " & [d] & "." & Right(DBwithEXT, 3) With fdialog .Title = "Save as" .AllowMultiSelect = False .InitialFileName = [hg] If .Show Then filepath = .SelectedItems(1) ' Else Exit Sub End If Set imagefile = sdialog.ShowAcquireImage() imagefile.SaveFile filepath [ImagePath] = filepath End With errorhandleexit: Exit Sub errorhandle: MsgBox Err.Description Resume errorhandleexit End Sub
  20. السلام عليكم اخواني الاعزاء ارجو مساعدتي في التعرف على سبب المشكلة في VBA وقد قمت برفع صورة للاخطاء مع الشكر والتقدير
  21. https://youtu.be/GEWA0QKZJ7A ملفات الدرس الخامس.rar
  22. السلام عليكم اقدم لكم نسخه من برنامج كاشير للمطاعم حسب ارقام الطاولات رقم المظلل بالاحمر يعني ان الطاولة رقم ... محجوز يمكنك رجوع اليها وعمل اوردر من تعديل البرنامج سهل للغايه يعمل فقط على الماوس * - الجدول : _ الفواتير المسدده يمكنك رجوع وتعديل عليها عن طريق الجدول وضغط دبل كليك على المراد تعديله * - التقرير :_ *- حذف الفواتير :_ يمكنك حذف الفواتير عن طريق تحديد الرقم وضغط على حذف يمكن استعلام على الفواتير المحذوفه من التقرير - فواتير محذوفه *- نقل الطاولة :_ يمكن نقل الطاولة حسب طلبك بتحديد على الطاولة المراد نقلها واختيار امر نقل الطاولة يظهر مربع تختار رقم الطاولة الجديد بحيث لا يكون مظلل بالاحمر . *- تعديل على الفاتورة : _ في حال رغبت الزبون طلب اوردر تختار رقم الطاولة المظلل بالاحمر وتغضط تعديل الفاتورة وتضيف الاوردر الثاني ويمكنك تكرار العملية في حال تكرار الصنف تضغط دبل كليك على الصنف +1 في حال الغاء -1 يوجد زر بجانب الشاشة الاصناف -1 في حال الغاء الصنف يوجد زر بجانب الشاشة * * - الاصناف : _ يمكنك اضافة اصناف رئيسية واصناف فرعيه الاصناف لا تحتاج الى كود لانها تختار كود اتوماتيكي طباعه الفواتير بشكل جديد دينماكيه صلاحية كامله للبرنامج الدخول : الدعم الفني كلمة سر : 123 يمكنك اضافت صلاحيات ومستخدمين كما قلت لكم نسخه قيد تطوير ... الحقوق النشر محفوظه ... اتنمنى ان ينال اعجابكم لتحميل : _ ‫كاشير-توزيع.xlsb
  23. سلام عليكم اخواني ... في هذا الفيديو نشرح كيف تحمي اكسس في مشروعاتك بدون كود فيجوال بيسك طريق سهل جدا https://www.youtube.com/watch?v=1AvCOO_ee4M
  24. السلام عليكم الاخوده الكرام برجاء المسلعده فى الملف المرفق فى معادله فى العمود K , (تراكمى) برجاء زضع المعادله فى كود VBA لان الملف الاساسى تقيل جدا بسبب هذه المعادله ولكم وافر الشكر مقدما officena 2.xlsm
×
×
  • اضف...

Important Information