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

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

  1. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      12

    • Posts

      9998


  2. Amr Ashraf

    Amr Ashraf

    الخبراء


    • نقاط

      10

    • Posts

      946


  3. أبوبسمله

    أبوبسمله

    الخبراء


    • نقاط

      9

    • Posts

      3463


  4. Eng.Qassim

    Eng.Qassim

    الخبراء


    • نقاط

      9

    • Posts

      2385


Popular Content

Showing content with the highest reputation on 05/07/22 in all areas

  1. السلام عليكم 🙂 حياك الله اخوي @ناقل بين اخوتك ، لنا الفخر ان نلصق هذه التسمية على صدرك ، فانت اهل لها 🙂 والشباب اللي شمشموا الخبر من البارحة ، فالخبر نضج الآن ، وحياكم الله 🙂 جعفر
    6 points
  2. السلام عليكم ,, الاخوة الاعزاء كل عام وانتم بخير . كما نعلم ان الايقونات جزء لا يتجزء من الواجهات الحديثة الجذابة التى تلفت الانظار ومن هذا المنطلق واستكمالاً للموضوع السابق الذى تجده هنا : موضوعنا اليوم عن كيف تصنع ايقوناتك خصيصاً لتتناسب مع تصميم برنامجك بطريقة بسيطة , انظر النتيجة : هناك اختلاف بسيط فى الالوان لأنى عملتهم على عجالة 😅 . فى هذا الموضوع سنستخدم أداة بها آلاف الايقونات القابلة للتخصيص من حيث اللون والحجم اسم الاداة Pichon يمكنك تحميلها من هذا الرابط المباشر : من هنا بعد التحميل والتثبيت ستجد هذه الايقونة افتح البرنامج وابحث عن الايقونة التى تريدها بوصفها مثلاً Facebook , Twitter وهكذا , ستجد ايقونات غير قابلة للتخصيص ولكن يمكن التحكم فى حجمها وستجد ايقونات يمكن تغيير ألوانها ستجدها تحت تصنيف Material وبها تصنيفات فرعية مثلا Outlined للايقونات المفرغة و Filled للايقونات الممتلئة , ابحث ن الايقونة وقم بتلوينها مثل المثال : اضغط كليك يمين ثم Save As واحفظ الايقونة شفافة يمكن وضعها على اى تصميم طيب انا محتاج لون دقيق جدا حتى يكون هناك تناسق تام فى الألوان والتصميم فى هذه الحالة يمكنك سحب اللون بالاداة الموجودة فى الموضوع السابق اتبع المثال لسحب لون الاكسس المحبوب على سبيل المثال : لا حدود لما يمكنك ابداعه , بتطبيق ما تعلمته من الدرسين يمكنك عمل Themes يقوم المستخدم بنحديد المفضل لديه ويتم تغيير الوان الازرار والايقونات وشريط العنوان ليصبح برنامجك شبيهاً ببرامج .Net 😅 المطلوب دعوة بظهر الغيب لصلاح الحال وتيسير الامور , دمتم بخير مرفق المثال الاول لتغيير الوان الحروف والايقونات المستخدمة Icon Color Amr.rar
    4 points
  3. السلام عليكم 🙂 الدوال نوعين : اولا: نوع نحن نعمله ، وهناك نوعين منهم: كل كود "حدث" في الاكسس ، هو دالة ، وهذه الدوال لها متغيرات ثابته ، لا يمكنك تغييرها ، دوال نحن نعملها ، سواء في وحدة نمطية مستقلة ، او في كود النموذج او التقرير ، وهذه يمكن ان يكون بها متغيرات ، ثانيا: دوال تنادي مكتبات الوندوز/نظام تشغيل الكمبيوتر: الاكسس او اي برنامج آخر ، يقع تحت مظلة نظام تشغيل الكمبيوتر ، ومقدرة/عمل هذه الدوال تبدأ من بداية تشغيل الكمبيوتر الى إغلاقه (فكر بها كأنها "حدث" في نموذجك) ، وبعض هذه الدوال عندها مقدرة تفوق/خارج مقدرة الاكسس (مثل التخاطب والتحكم بالاجهزة المرتبطة بالكمبيوتر) ، وهذا كان قصد @Eng.Qassim في شرحه في مشاركة 🙂 جعفر
    4 points
  4. اشكركم جميعا لحسن ظنكم بي ... اسأل العلي القدير ان يوفقنا جميعا لما يحبه ويرضاه .. بارك الله فيكم .
    3 points
  5. الم تعلم بان الفشل اول طريق النجاح كويس انك بتحاول وتعافر تعرف انى بدات متاخر ده غير انى توقفت مرات كثيره عن التعلم للانشغال بامور الحياه شويه وعدت مره اخرى للتعلم حاول ومتياسش واللى تقف فيه اسال واخوانك واساتذتنا مش بيقصروا ان شاء الله واقراء هذا الاقتباس جيدا 👇 جزاكم الله خيرا اخوانى واساتذتى ابوعبدالله ومهندس قاسم 💐 بالتوفيق
    2 points
  6. اضافة لما تفضل به استاذي @أبو عبدالله الحلوانى انتبه دائما الى نوع البيانات Dim year1 As Date Dim year2 As Date Dim month1 As Date Dim month2 As Date year1 = Int(DatePart("yyyy", Vdate1)) year2 = Int(DatePart("yyyy", Vdate2)) month1 = Int(DatePart("m", Vdate1)) month2 = Int(DatePart("m", Vdate2)) If month2 < month1 Then DatDiffY = (year2 - year1) - 1 Else DatDiffY = year2 - year1 End If
    2 points
  7. جرب هذا المرفق ارجو ان يوافق مرادك ملاحظات: 1- عند نقل الدالة الي برنامجك لا تقم بنسخها اكثر من مرة الدالة واحدة يمكن استخدامها ومنادتها من اي مكان تريد فورم، استعلام ... 2- تم انشاء تقريرين حسب طلبك يتم التجميع والعرض بهم علي حسب نوع الحساب 3- تم تعديل الدالة لتقوم بعملية الجمع للثلاثة تقارير معا فقط ستقوم بتغير بارمتر نوع التجميع (0 يعني تجميع علي حسب العميل - 1 يعني تجميع حسب نوع الحساب - 2 يعني تجميع حسب نوع الحساب لكل عميل) 4- تم انشاء استعلامين جدد يتم الفلترة بهم حسب الفرز المطلوب حسب طريقتك المتبعة مع الفورم 1 تمنياتي بالتوفيق T3Q - Copy.rar
    2 points
  8. انت/ى فى صرح عظيم لتعلم كل ما ييتعلق بالاوفيس كل ما عليك وبكل بساطة ابحث عن الموضوع الذى تريد تعلمه وستجد الكثير من الشروحات والاستفسارات المجابة عن طريق الاساتذة . وطبعا موجود اليوتيوب نفس الشئ . هى بالفعل لغة برمجة ولكن موجهة لتطبيقات الاوفيس VBA اختصار VB For Applications وابشرك انك لو اتعلمتها يمكنك بسهولة تعلم لغة VB.Net واستعمال لغة البرمجة الكاملة مع اختلافات بسيطة , حتى ان هناك اكواد اذا اخذتها كوبى وبيست من VBA الى VB.Net ستعمل بدون اى اضافات . بالاضافة انك اذا تعلمت الاكسس كقواعد بيانات سيكون عندك منظور جيد جدا لكيفية عمل قواعد البيانات وستأتيك الكثير من الافكار المستوحاة من الاكسس . ابدأ وستجد المحصلة عظيمة , بالتوفيق
    2 points
  9. وعليكم السلام-يمكنك استبدال معادلتك الموجودة بالعمود B بهذه المعادلة المصفوفة =IFERROR(INDEX(Feuil1!$B$2:$B$340, MATCH(0, IF(A$1=Feuil1!$A$2:$A$340, COUNTIF($B$3:$B3,Feuil1!$B$2:$B$340), ""), 0)),"") كما تم تصحيح معادلة Sumproduct واضافة اليها شرط أخرحتى تحتوى وتشمل المؤسسة أيضاً فتصبح المعادلة كالتالى =SUMPRODUCT((Feuil1!$A$2:$A$31=$A$1)*(Feuil1!$B$2:$B$31=$B4)*(Feuil1!$D$2:$D$31=C$3)*(Feuil1!$E$2:$E$31)) Classeur02_Mawad_new 2022.xlsm
    2 points
  10. وهذا شرح لرموز الإدخال من دورة المبدع منذر السفان 🙂 أنواع الرموز المستخدمة في أداة شكل الإدخال Input Mask.pdf
    2 points
  11. اهلا بك دكتور محمد @الحلبي وبما انك اخترت طريقه اخى ومعلمى العزيز محمد الحلوانى وحيث انك اول مره تراها فاليك بعض الروابط التى تشرحها وبالبحث سوتجد اكثر واكثر ولكن انتقيت اليك هذا الرابطان وفيهم الغنيه ان شاء الله وجزاهم الله خيرا اخواننا واساتذتنا على هذه الشروحات بالنسبه للموضوع التالى فركز شويه فى رد ملعلما العزيز جعفر فيه بالتوفيق
    2 points
  12. وعليكم السلام -يمكنك ذلك بهذه المعادلة =1/(1/LOOKUP(9^9,$K$7:$K$160/($L$7:$L$160=$H$6))) OFIC1.xlsm
    2 points
  13. شاهد هذه الطريقة حضور سائقي الملاكي 2022.rar
    2 points
  14. بما انك لم ترفع ملف او صورة تحاكي طلبك اليك هذه التجربة المتواضعة عليك بالضغط على الزر كلما فتحت الملف Option Explicit Sub dt() Dim dt, dt1, dt2 With Sheets(1) Range("j4") = Range("j6") Set dt = Range("j4") Set dt1 = .Range("j6") Set dt2 = .Range("k6") .Range("j6") = Date If dt1 = "" Then Exit Sub Else dt2 = Format(DateAdd("d", 1, dt1), "d") - Format(DateAdd("d", 1, dt), "d") .Range("k6") = Val(.Range("k6")) + dt2 Exit Sub End If End With End Sub test1.xlsm
    2 points
  15. هههههههه تصدق راجعته فى مثالك وشفتها ولكن ما انتبهت لها فى المثال الاساسى الا بعدما اشرت اليها 😀 جميله اخى واستاذى محمد وتسلم ايدك وراسك 🌹 نعم اخى العزيز ولكن بعد توضيح اخى العزيز محمد الحلوانى فهو قام باضافه الارقام للقائمه بالجدول لانها فى الاساس لم تكن موجوده وقام باستخدام التمب فار (وليس فار😀) والفلتره عليه بارك الله فيكم وجزاكم الله خيرا
    2 points
  16. هذا سر ما بخارج الصندوق تم تعديل حقل نوع العميل لتكون قائمة من عمودين نوع العميل وكود نوع العميل وهذا في اعتقادي سيسهل امور كثيرة في التعامل فيما بعد سواء مع الاستعلامات او الأكواد - وتفاديا لاستخدام النص العربي داخل محرر الأكواد نظرا لما يسببه من مشكلات مع بعض الاجهزة
    2 points
  17. فيديوووووو جديددددد كيفية فصل بيانات عمود إلى عدة أعمدة باي محدد بالبوركويري في الفيديو دة هانتعلم ازاي نفصل بيانات عمود إلى اعمدة بواسطة اي محدد زي النجمة والكوما والاسلاش وسامحوني بكتب بالعربي وكمان هانعملها اتوماتيك يعني لو البيانات في اكثر من محدد مختلف هايتم التعامل معهم بحرفية جميلة وشقية https://youtu.be/0-bYhqLbf6E
    2 points
  18. وعليكم السلام-فقط استخدم هذه المعادلة وشكراً =SUMIF(البيانات!$A$3:$A$140,$A2,البيانات!$D$3:$D$140) العملاء.xlsm
    2 points
  19. السلام عليكم ورحمة الله وبركاته أرجو أن تقبلوا بي بين أعضاء أسرتكم وفقني الله وإياكم لـ كلّ خير
    1 point
  20. السلام عليكم , الاخوة الكرام كل عام وانتم بخير بمناسبة شهر رمضان وعيد الفطر المبارك اعادهم الله علينا بالخير والبركة موضوعنا اليوم بعد غياب كما بالعنوان كيف تنفذ شاشة متطورة حتى النتيجة بالمثال افتح فورم جديد ثم قم بعمل 2 Rectangle فى الجانب والاعلى , الجانب للقائمة والاعلى كشريط للعنوان , بالنسبة للون الخلفية الخاصة بهم يمكنك عمل اللون الذى تفضله , بالنسبة للون المثال هو لون قوائم Microsoft Outlook قمت بسحبه وتطبيقه هنا , السؤال كيف تسحب لون تريده ولا تعرف درجته بالضبط ؟ يمكنك تطبيق هذه الفكرة الجديدة , هناك اداة يستخدمها مطورين الويب و المصممين لسحب الألوان بدرجاتها بدقة عالية وهذه الأداة اسمها Just color picker انظر لشكلها وللصورة قم بتنزيلها من الموقع الرسمى من هنا https://annystudio.com/software/colorpicker/ وصورتها قم بفتح الاداة وقم بالاشارة على أى لون تريده ثم اضغط على Alt+x لحفظ درجة اللون بالطريقة التى تحبها HTML او RGB وفى المثال سنستخدم الطريقتين , بالنسبة للHTML يمكنك سحب اللون بالاداة واضغط على Copy Value مع التأشير على HTML كما بالصورة قم بنسخ القيمة وفى الاكسس فى الخصائص الخاصة بأى عنصر ستجد Back Color قم باضافة رمز # قبل درجة اللون من الاداة وضعها فى الاكسس وستجد ان اللون تم تطبيقه وبالتالى قمت بأخذ لونك المفضل ويمكنك محاكاة اى تصميم لاى برنامج تحبه . ننتقل للتصميم بداية التصميم من فكرتى وتطبيقى واكوادى من البداية اللى النهاية وأتمنى دعوة بظهر الغيب بصلاح الحال , فى التصميم ستجد ان عند تحديد زر من ازرار القائمة ستقوم الايقونة بالتحرك والخط يختلف و تصبح ايقونة الزر هى الايقونة الرئيسية بالأعلى , لعمل ذلك قم بفتح الفاجيوال بيزيك وضع الاكواد التالية : Sub ReFormat(Sender As CommandButton) Me.PictureBox.Picture = Sender.Picture Me.lbl.Caption = Sender.Caption Sender.PictureCaptionArrangement = acRight Sender.FontUnderline = True End Sub شرح الكود :: المطلوب معرفة اولا الزر الذى تم ضغطه ولذلك قمت بعمل الكود السابق مع التحكم فى الزر الذى تم ضغطه كمحازاة النص والايقونة وهكذا , يمكنك زيادة حجم الخط او أي تنسيق تريده. يتم استدعاء الكود بالشكل التالى من أى زر امر : ReFormat ActiveControl تمام , طيب فى هذه الحالة التنسيق سيستمر اذا ضغطت على زر آخر وستظل الايقونة والخط بالتنسيق الذى قام الكود السابق بعمله , وبالتالى محتاجين نلغى ما قام به الكود السابق عن كل الازرار الا الزر الحالى سيحتفظ بالتنسيق الجديد . عملت الكود التالى Sub Restore() Dim ctrl As Control For Each ctrl In Me.Controls If TypeName(ctrl) = "CommandButton" Then If ctrl.Name <> ActiveControl.Name Then ctrl.PictureCaptionArrangement = acLeft ctrl.FontUnderline = False End If End If Next End Sub شرح الكود :: يقوم بالمرور على كل عناصر التحكم واذا وجدها زر سيقارن اسمها مع اسم الزر الحالى فى حالة اختلافهما يقوم بارجاع التنسيق الاصلى للزر قبل تطبيق كود التنسيق عليه , وبالتالى مع كل زر امر سيتم وضع الكود التالى Restore ReFormat ActiveControl ستجد ان هناك خط يتغير لونه مع كل ضغطة زر , هنا سنستخدم طريقة الالوان الاخرى RGB قم بسحب اللون الذى تريده بالاداة وقم بوضع اللون مثل المثال التالى : Me.Line51.BorderColor = RGB(35, 204, 183) حيث ان قيمة اللون بين الاقواس الاحمر,الاخضر,الازرق RGB . باقى TabControl متعدد الصفحات قم بانشاءه ولا تنسى بعد الانتهاء منه تحديد Style = None الخطوة الاخيرة الانتقال الى صفحات هذا الTabControl عن طريق الكود وهناك طريقتين : اذا اردت تحديد الصفحة المطلوبة والوقوف عليها يمكنك استخدام : Me.MyTabs.Pages(0).SetFocus حيث ان 0 هو رقم Index او ترتيب الصفحة فى المستعرض , وستجد عند فتح النموذج ان الصفحة 0 يتم فتحها وعند الضغط ايضاً على ايقونة المنزل سينتقل اليها . اذا اردت فتح الصفحة بدون الوقوف فيها يمكنك استخدام : Me.MyTabs.Value = 0 وستجد الطريقتين فى المثال المرفق . لا تنسى ضبط خاصية Anchor لتثبيت العناصر او مدها مع تكبير او تصغير النموذج كما فى المثال . اعتذر عن الشرح قليل التفاصيل الى حد ما ولكنى معتمد على خبرتكم . مرفق مثال به كل ما تم شرحه , دمتم بخير ستجد المثال فى اول مشاركة لأن المنتدى لم يسمح لى ان تتعدى المرفقات 4.8 ميجا . المثال مرفق Modern UI Access - Amr Ashraf.accdb قمت باضافة صغيرة لم تظهر فى الصورة المتحركة لأنها سجلت مسبقاً , عند الضغط على صورة المنزل ستعود كافة الايقونات الى مكانها الطبيعى .
    1 point
  21. هذا هو الهدف الاسمى..جزاك الله خخيرا استاذي
    1 point
  22. ياسلام لو يستفيض استاذنا ومعلمنا في التعامل مع تلك الدوال وطريقة الحصول علي معلومات عن المكتبة المطلوبة وما بها من بارمترات وجزاكم الله خيرا
    1 point
  23. الأمر اهون من هذا ان شاء الله استخدم دالة الأكسس المخصصة لذلك لتحصل علي النتيجة التي تريد DateDiff "ww", d1, d2 '"dd" الفرق بين التاريخين بالأيام '"ww" الفرق بين التاريخين بالاسابيع '"m" الفرق بين التاريخين بالشهور '"yy" الفرق بين التاريخينن بالسنوات
    1 point
  24. الف مبروك استاذ @ناقل وتستاهل كل الخير يارب بهذه المناسبة الجميلة خطر في بالي سؤال هو ايه الفائدة او قل الميزة التي يتمتع بها الخبير صراحة مش عارف تمنياتي بالتوفيق للجميع
    1 point
  25. جرب هذه الطريق لعلها تفيدك Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next Dim h1, h2, dt1, dt2 If Not Intersect(Target, Range("k2:k1000")) Is Nothing Then h2 = Target h1 = Format(Target.Offset(, -2), "dd-mm-yyyy") & " " & Format(Target.Offset(, -1), "hh:mm:ss") Target.Offset(, 1) = Format(DateAdd("h", h2, h1), "mm-dd-yyyy hh:mm:ss") End If If Target = Empty Then Target.Offset(, 1).ClearContents End Sub add hour to date.xlsm
    1 point
  26. افادكم الله و جعلكم الله عونا لطالبي العلم اشكرك استاذي الغالي jjafferr
    1 point
  27. رائع جدا ومفيد جدا بكتابة الدوال جزاك الله خيرا
    1 point
  28. 1 point
  29. 1 point
  30. الف مبروك اخوي وتستاهل اكثر اعانك الله ووفقك
    1 point
  31. مبارك لك استاذي @ناقل واعاتك الله على هذه المسؤلية
    1 point
  32. 😀 ع راسنا الصعايده كلهم خير وبركه اللهم آمين وربنا يحفظ الامه العربيه والاسلاميه جميعا 🌹
    1 point
  33. الف مبروك اخى @ناقل واعانك الله ع مساعده اخوانك دائما ان شاء الله 💐 وعقبال باقى الاخوان كلكم تستاهلون كل خير بما تقدمونه من مساعدات لاخوانكم فجزاكم الله خيرا بالتوفيق
    1 point
  34. مبارك عليك أخي ناقل @ناقل .. 😊 وسام تستحقه عن جدارة 👍🏼😉 وفقك الله في الدارين وزادك الله من واسع علمه 🌹🙂
    1 point
  35. وعلشان اخوي ناقل يعرف محل الشباب من الاعراب 🙂 جعفر
    1 point
  36. تفضل اخي 1 - قم بترتيب كل من اعمدة الورقتين Prep3 and Secondary كما تريد ان يظهر كل منهما في الملتي باج شئون الطلاب 2.xlsm
    1 point
  37. اخي مهند محسن شكرا لأهتمامك هذه الطريقة التي اشرت اليها تعتمد علي تنفيذ كود بالاكسس ولتنفيذ الكود يشترط ان يكون علي احد المستويين : 1 - نمكين 2 - منخفض اما اذا كان مستوي امان الماكرو علي : 4 - مرتفع جدا لن يعمل الكود نهائيا اما طريقتي تتبع نفس الفكر ولكن من خارج الاكسس او الاكسيل شكرا لك مرة اخري
    1 point
  38. عليكم السلام حسب ما مر علي من عمليات الاتصال بقواعد البيانات يوجد طريقتين لتسهيل عمليات العرض واحدة هي استخدام الجداول المرتبطة بقاعدة البيانات البعيدة ( السيرفر ) الثانية هي استخدام جداول مؤقته يتم انشاؤها عند الحاجة واعذرني عن المتابعة فقط عليك البحث والعمل على تطبيق الفكرة .. والمسألة يسيرة ستتمكن باذن الله من تحقيقها
    1 point
  39. اعتقد لان option value تتعامل مع الارقام وليس مع النص ...فرقم 1 يجلب رقم 1 الذي يمثل العميل فلو حذفت الارقام من value list لحقل النوع فلن يجلب لك شيئا
    1 point
  40. يا جماعة انا مجرد ناقل .... على اسمي .... وارجو ان ابقى كذلك .... لأني من النوع الذي لا يحب المسؤليات ..... اتركوني ناقل للمعلومة وانا كده مبسوط .... اما حكاية مسؤلية فلا ..... واشكركم على حسن الظن بشخص لا يستحق اكثر من كونه ناقل للمعلومة .... وانا كذلك فعلا ..... فلا ارفع لمكانة اسقط منها وتنكسر رقبتي .... بارك الله فيكم ....
    1 point
  41. ارجوا ان تقبلوا تحياتي في اول مشاركة لي علي المنتدي العظيم ده فيه حاجات كتير جدا جدا عايز انزلها بس مش عارف ازاي اقدر انزل فيديو شرح لو حد يقدر يحط لي لينكات شرح هكون شاكر لان فيه طريقة انا بشتغل بيها وحابب اشاركها معاكم بس النهاردة حابب اشارك معاكم الكود بتاعي الي من خلاله بقدر انشئ اي عدد من الفولدرات وده بينفعني جدا في شغلي هتاخد الكود تحطه في ميديول جديد و في الشييت تحت العمود A من رقم 1 الي اي رقم انت عايزة يعني 1 ,2 ,3 ........10 وتعمل عليهم سليكت وبعد كدة ctrl+f11 وتدوس رن للكود هتلاقي الفولدرات كلها جاهزة للاستخدام شكرا جدا علي وقتكم وانتظروني في دورة بأسم "التحكم الكامل بالكمبيوتر من خلال الاكسيل "انا مجهزها يوتيوب بس هحاول اصيغها شرح علشان اقدر انزلها هنا بدون مشاكل ربنا يوفقكم جميعا Sub MakeFolders() Dim Rng As Range Dim maxRows, maxCols, r, c As Integer Set Rng = Selection maxRows = Rng.Rows.Count maxCols = Rng.Columns.Count For c = 1 To maxCols r = 1 Do While r <= maxRows If Len(Dir(ActiveWorkbook.Path & "\" & Rng(r, c), vbDirectory)) = 0 Then MkDir (ActiveWorkbook.Path & "\" & Rng(r, c)) On Error Resume Next End If r = r + 1 Loop Next c End Sub
    1 point
  42. اهلا وسهلا بك أخي الكريم مرحبا بك بيننا و نرجو ان تفيد وتستفيد
    1 point
  43. وهذه تجربتي مع أخي المهندس قاسم @Eng.Qassim ومستندا على ملفه 🙂 طبعا سوف نحتاج لجدول خاص بقائمة الأسماء فيه عمودين 1 - الاسم أو القبيلة(اسم العائلة) و 2- النوع وهو حقل رقمي أن كان اسم فالنوع 1 وإن كانت قبيلة فالنوع 2 نحتاجه للفصل بين الأسماء . بعدها قمت بتطوير دالة تقوم بفحص كلمات الفقرة كلمة كلمة وتقارنها بالأسماء الموجودة في الجدول ، فإن عثرت على الاسم في الجدول تختزله من الفقرة وتضيفه إلى المصفوفة ثم تنتقل للكلمة التالية وهكذا .. 🙂 وهذه هي الدالة : Public Function LoopThroughText(TXT As String) As String Dim LookInHere As String Dim Counter As Integer Dim SplitCatcher As Variant Dim Finaltxt As String LookInHere = TXT SplitCatcher = Split(LookInHere, " ") For Counter = 0 To UBound(SplitCatcher) If SplitCatcher(Counter) = DLookup("[PerName]", "[NamesT]", "[PerName] Like '*" & SplitCatcher(Counter) & "*'") Then If DLookup("[Type]", "[NamesT]", "[PerName] Like '*" & SplitCatcher(Counter) & "*'") = 1 Then Finaltxt = Finaltxt & " " & SplitCatcher(Counter) Else Finaltxt = Finaltxt & " " & SplitCatcher(Counter) & "،" End If End If Next LoopThroughText = Finaltxt End Function بعدها تنادي على الدالة في استعلام أو نموذج كما تشاء هكذا : LoopThroughText(TXT) AAA.accdb
    1 point
  44. بعد ادن استادي Ali Mohamed Ali واتراء للموضوع هذه طريق اخرئ 1- حمل الملف وفك الضغط 2 بعد فتح ملف اكسيل حدد اسم ملف بدف واضغط الزر ملاحظة: يجب ان تخزن الملفات ب د ف في نفس الفولدر"oqoud" مع ملف اكسيل و اسمارها ايضا في الصفحة كما في المرفق oqoud.rar
    1 point
  45. السلام عليكم، أخي عمر تم الدمج
    1 point
  46. وهي الطريقة التي استخدمها في اعمالي وحدة نمطية وكود للربط داخل النموذج انسخ الكود التالي والصقه في وحدة نمطية عامة Public Function CheckLinks(ByVal strDBPassword As String) As Boolean On Error GoTo CheckLinksErr Dim tdf As TableDef Dim strNewMDB As String Dim fd As FileDialog For Each tdf In CurrentDb.TableDefs If UCase(Left(tdf.Name, 6)) <> "COMPAS" Then If Len(tdf.Connect) > 0 And tdf.Fields.Count = 0 Then If Len(strNewMDB) = 0 Then Call MsgBox("مطلوب قم بتحديده واختياره (اسم قاعدة الجداول لديك) ملف البيانات", vbCritical) Set fd = Application.FileDialog(msoFileDialogFilePicker) With fd .AllowMultiSelect = False .InitialFileName = CurrentDBFolder() .Filters.ADD "Access Database File (*.mdb)", "*.mdb", 1 .TITLE = "Select Back-End Data File" .ButtonName = "Link Tables" If .Show = False Then Exit Function Else strNewMDB = .SelectedItems(1) End If End With End If If (IsNull(strDBPassword) = True) Or (strDBPassword = "") Then tdf.Connect = ";DATABASE=" & strNewMDB Else tdf.Connect = ";DATABASE=" & strNewMDB & ";PWD=" & strDBPassword End If tdf.RefreshLink End If End If Next tdf CheckLinks = True CheckLinksDone: Exit Function CheckLinksErr: MsgBox "Error #" & err.Number & ": " & err.Description, vbCritical Resume CheckLinksDone End Function Public Function CurrentDBFolder() As String Dim strPath As String strPath = CurrentDb.Name Do While Right$(strPath, 1) <> "\" strPath = Left$(strPath, Len(strPath) - 1) Loop CurrentDBFolder = strPath End Function ثم الصق الكود التالي في حدث التحميل لنموذج البداية On Error Resume Next If CheckLinks("") = False Then Call Quit End If Dim tdfs As DAO.TableDefs Dim tdf As TableDef Dim sSourceDB As String Dim sBackupDB As String Dim backDBName As String Set tdfs = CurrentDb.TableDefs Set tdf = tdfs(tdfs.Count - 1) sSourceDB = Right(tdf.Connect, Len(tdf.Connect) - 10) backDBName = Dir(Mid(tdf.Connect, 11)) sBackupDB = Mid(tdf.Connect, 11, Len(tdf.Connect) - (Len(backDBName) + 10)) ' وفي المثال تطبيق للمقال ملحوظة : اذا لم يعمل المثال على الوجه الأكمل انظر في المكتبات link_be.rar
    1 point
  47. السلام عليكم ورحمة الله وبركاته الان الاصدار الثانى من برنامج (أرشفة الخطابات وادارة الوثائق - الارشفة الالكترونية) مميزات البرنامج - تسجيل جميع الخطابات (وارد ــ صادر ) وربط كل معاملة بالمستخدم الذى ادخالها - إدراج المرفقات وربطها بالمعاملة سواء (من الكمبيوتر او من الاسكنر مباشرة) بعدد لانهائي من المرفقات وبجميع انواع الصيغ العالمية مثل PDF - XPS ....الخ - تصنيف الوثائق بعدد من التصنيفات (خطاب - نشرة/ تعميم - عقد - ايميال - برقية ...الخ) يمكنك إضافة اى تصنيف جديد - لوحة تحكم فى البرنامج (مثل / ضبط خصائص النسخة الاحتياطية - بيانات المؤسسة التى يعمل بها البرنامج - وشعار المؤسسة - تحديد مسار حفظ المرفقات ... الخ) - تقارير ذكية تناسب طبيعة عمل اى مؤسسة - البرنامج يعمل بالتاريخ الهجرى والميلادى - نظام صلاحيات للمستخدمين للتحكم بكل شئ فى البرنامج - البرنامج يعمل على شبكة محلية داخلية ويمكن عمل اكثر من مستخدم فى نفس الوقت (يعمل على اكثر من جهاز) كل هذا واكثر يمكنك معاينته بنفسك من خلال النسخة التجريبية فى الرابط التالي https://drive.google.com/open?id=0ByK3PmWwl-ciUnZFelJLOUpmcnc للتواصل على الايميالات التالية soft.sample2014@gmail.com soft.drive.eg@gmail.com او على الواتساب فى اى وقت على الرقم التالى 00201018156170 اسم المستخدم : user كلمة المرور : 1234 صور من البرنامج
    1 point
×
×
  • اضف...

Important Information