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

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

  1. منتصر الانسي

    منتصر الانسي

    المشرفين السابقين


    • نقاط

      13

    • Posts

      1164


  2. عبدالله بشير عبدالله
  3. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      8

    • Posts

      13390


  4. Foksh

    Foksh

    أوفيسنا


    • نقاط

      5

    • Posts

      4201


Popular Content

Showing content with the highest reputation since 11/13/25 in all areas

  1. اولا شكرا لدعاؤك لي ثانيا الكود في الملف السابق يقوم بترتيب الصفحات ذات الارقام وبالتالي ستجد الصفحات الاخرى ذات الحروف وليس الارقام مستثناة وتجدها بجانب بعضها ولكن هناك احتمال الرغبة في استثناء صفخة او صفحات رقمية مثلا تريد استثناء صفخة 4 من الترتيب . هنا سيتم التعديل على الكود باظافة مصفوفة لتجميع الصفخات المستثناة كل ما عليك فعلة هو التعديل في هذا الجزء من الكود حيث اضفت لك صفحات افتراضية في الكود وليس في المصتف مثل "ملخص", "إعدادات", "تعليمات يمكنك تعديلها باي اسم او اظافة صفحات اخرى باي عدد تشاء excludedSheets = Array("الرييييسية", "تجميع", "ملخص", "إعدادات", "تعليمات") اليك الملف بالتعديل ترتيب الصفحات1.xlsm تحياتي
    4 points
  2. نعم الفكرة واضحة .. وجميلة .. وجديدة على كاتب هذه الكلمات .. جزيت خيرا
    3 points
  3. 3 points
  4. السلام عليكم ,, اعتذر منكم جدا جدا على التاخير اخي @منتصر الانسي شكرا لك ولمشاركتك بارك الله بك وزادك علما ,, ولكن لم تنجح الفكره لانني بحاجه لجميع حقول الاستعلام في الجدول وليس فقط حق الرقم والتاريخ , عند اضافة باقي الحقول في استعلام الجدول الخاص بالنموذج لا يتم التنقل بين السجلات . اخي وصديقي الطيب @Foksh احسنت العمل تم بشكل جيد جدا مع العلم انه لازال في خانة المسميه ek الخاصه بالبحث امر Requery ولكن يعمل بشكل جيد , كل الاحترام والتقدير لك فوووكش ❤️
    2 points
  5. Version 1.0.0

    19 تنزيل

    أقدم لكم اليوم أداة تلوين خلفية النماذج بألوان متدرجة والتي تقوم بمنح النماذج خلفية ملونة بطريقة جميلة حيث تقوم فيها بإختيار لونين ليتم دمجهما والحصول على خلفية تتكون من ألوان متدرجة بين هذين اللونين ويمكن تحديد إتجاه التدرج (أفقياً - عمودياً - قطرياً) إستخدام الأداة سهل للغاية ولن يتطلب أي مهارات حيث أن الأداة تقوم بكل العمل تقريباً ما عليكم سوى تحديد الألوان والإتجاه وستقوم الأداة بتعميم التنسيق على بقية النماذج ضمن التطبيق. مرفق لكم مجلد يحتوي على نسخة توضيحية لتجربتها ومعرفة طريقة عملها ونسخة الفالب وتحتوي على الكائنات المطلوب إستيرادها لإستخدامها في تطبيقاتكم أرجو أن تنال هذه الأداة إعجابكم تحياتي
    2 points
  6. اخي الكريم من الممارسات الجيدة عند تصميم قواعد البيانات العمل على تقليل حجم البيانات التي يتم تخزينها بقدر الإمكان فمثلاً لماذا نقوم بحفظ الاجمالي في الجدول وتضخيم حجم البيانات المحفوظة فيه ونحن بإمكاننا الحصول على نفس النتيجة بواسطة الإستعلامات ارفق لك ملفك بعد إضافة إستعلام والذي إذا فتحته جنبا الى جنب مع الجدول فلن تجد أي فرق إلا آخر عمود والذي يحتوي الإجمالي المطلوب بالتالي يمكنك إستخدام هذا الإستعلام بدلا من الجدول تحياتي Database.accdb
    2 points
  7. السلام عليكم نعم الان اتضح المطلوب بارك الله فيك الحل تم حذف النطاق من ادارة الاسماء فصل شيفت'!$A$8:$R$283 من ادارة الاسماء وجعلنا النطاق مباشرة في الكود فاصبح الكود بهذا Sub filter_D() Dim Q1 As String Dim rng As Range Set rng = Sheets("فصل شيفت").Range("$A$8:$R$283") Q1 = Sheets("فصل شيفت").Range("A7").Value If Q1 = "" Then rng.AutoFilter Else Q1 = "*" & Q1 & "*" rng.AutoFilter Field:=1, Criteria1:=Q1, Operator:=xlOr, Criteria2:="=" End If End Sub نموذج حركة جرديوميه 15-11.xlsm
    2 points
  8. نظراَ لوجود أسماء متشابهة فإننا نقوم بتمييز كل إسم بفاصلة منقوطة في بدايته واخره وذلك حتى لايتم ظهور أسماء اخرى يكون الاسم المطلوب جزءاً منها فمثلا لو تلاحظ يوجد شركة بإسم فيجن واخرى بإسم دوت فيجن فإذا كان المطلوب هي الشركة فيجن فقط فلو كان المعيار هكذا Like "*فيجن*" فستظهر شركة دوت فيجن لإنها مستوفية للمعيار ولكن عندما يكون المعيار هكذا Like "*;فيجن;*" فهذا معناه أننا تجاهلنا ظهور سجلات غير مطلوبة ارجو أن أكون قد وضحت الفكرة
    2 points
  9. قمت بالبحث وتصفح مواضيع الحماية خاصة لتجديد التفعيل والاشتراك . بحيث تكون آمنة وقوية لحاجتي الحالية لذلك لم اجد الا موضوعا احترافيا واحدا لأستاذنا ومعلمنا الخبير @Foksh ولكنه يشترط استخدام الانترنت هنا فاجتهدت على نفسي لتحقيق الفكرة وبفضل من الله تمكنت من عمل منظومة تجمع بين منع النسخ الى اجهزة أخرى وايضا تفعيل الاشتراك لفترة محددة الفترة حسب حاجة العمل .. قد تكون نسخة تجريبية لمدة شهر او شهرين أو تكون نسخة دائمة سنوية يتم تجديدها كل سنة العناصر المعتمد عليها : 1- رقم العتاد ( هارد دسك او معالج او اللوحة الأم ) الذي من خلاله يتم اعداد رقم النسخة 2- دالتي توليد .. لـــ (منع النسخ) دالة ، و لـــ (فترة الاشتراك) دالة 3- جدول يحتوي على حقلين واحد يخص الفترة الزمنية للاشتراك والآخر لضبط التلاعب بتاريخ الجهاز 4- دالة تشفير .. لتشفير التواريخ في الجدول العمل متقن تماما خالي من الاخطاء المحتملة عندما يكتمل سوف أوافيكم بنسخة لمن يرغب في التجربة
    1 point
  10. هذا غير ممكن لأن ما تفعله الأداة هو إنشاء صورة وهمية وتعيينها كقيمة لخاصية الصورة Picture الخاصة بالنموذج
    1 point
  11. ما شاء الله فكرة جميلة جداً أستاذ منتصر ، وتضيف جمالاً للنماذج لمن يبحث عن التميز بألوان جميلة ومتدرجة لخلفية نماذجه . أحييك على هذه الأفكار .
    1 point
  12. وعليكم السلام ورحمة الله وبركاته .. بعد الإطلاع مرتين على الملف المرفق وطريقة عملك عليه ، جرب الحدثين التاليين في الأزرار .. Private Sub a1_Click() Dim curID As Long Dim nxt As Variant If Nz(Me.ek, "") = "" Then curID = Me.no_rece + 1 Else curID = CLng(Me.ek) End If nxt = DMin("no_rece", "enar_dman", "no_rece > " & curID) If Not IsNull(nxt) Then Me.ek = nxt Me.Requery Else MsgBox "لا يوجد سجل تالي", vbInformation + vbMsgBoxRight, "" End If End Sub Private Sub a2_Click() Dim curID As Long Dim prv As Variant If Nz(Me.ek, "") = "" Then curID = Me.no_rece - 1 Else curID = CLng(Me.ek) End If prv = DMax("no_rece", "enar_dman", "no_rece < " & curID) If Not IsNull(prv) Then Me.ek = prv Me.Requery Else MsgBox "لا يوجد سجل سابق", vbInformation + vbMsgBoxRight, "" End If End Sub طبعاً قد تحتاج لزر "سجل جديد" إذا كان النموذج الحالي إدخال البيانات . وهذه الفكرة بدلاً من التكرار للحدثين في الزرين ،يمكن دمجهم في دالة واحدة والإستدعاء فقط من خلال الزرين يميز السابق والتالي :- Private Sub a1_Click() GoToRecord True End Sub Private Sub a2_Click() GoToRecord False End Sub Private Sub GoToRecord(isNext As Boolean) Dim curID As Long Dim newID As Variant Dim fld As String: fld = "no_rece" If Nz(Me.ek, "") = "" Then If isNext Then curID = Me(fld) + 1 Else curID = Me(fld) - 1 End If Else curID = CLng(Me.ek) End If If isNext Then newID = DMin(fld, "enar_dman", fld & " > " & curID) Else newID = DMax(fld, "enar_dman", fld & " < " & curID) End If If Not IsNull(newID) Then Me.ek = newID Me.Requery Else If isNext Then MsgBox "لا يوجد سجل تالي", vbInformation + vbMsgBoxRight, "" Else MsgBox "لا يوجد سجل سابق", vbInformation + vbMsgBoxRight, "" End If End If End Sub test.zip
    1 point
  13. الله ................... روعة ما شاء الله 😀👏 هل يمكن تطبيقها على مربع نص مثلا أو ليبل ؟
    1 point
  14. تم الاصلاح والتعديل جرب ووافني بالنتيجة ChkInOut_NetUp.rar
    1 point
  15. وعليكم السلام ورحمة الله وبركاته .. جرب في حدث بعد التحديث لمربع النص الغير منضم الفكرة التالية .. Private Sub AMOUNT_AfterUpdate() Dim vAmount As Double vAmount = Nz(Me.AMOUNT, 0) DoCmd.SetWarnings False DoCmd.RunSQL "UPDATE Table1 SET JOR = Nz(US,0) * " & vAmount DoCmd.SetWarnings True DoCmd.Requery End Sub
    1 point
  16. المهم عندي انها تعمل عندك على الاقل على جهاز واحد المشاكل التي واجهتها ليس للبرنامج دخل فيها .. وها انت ذكرت الاسباب نعم كنت انتظر مثل هذه الملاحظات .. التي هي أساسية وفي صلب الموضوع والسبب بارك الله فيك هو المعيار ( Date ) الذي يحدد أو بمعنى أدق يهيئ السجل للتوقيع فالسجل تم اعداده بحيث يكون : اما يكون فارغا وإما يحتوي على توقيع حضور اليوم وفي المسألة التي عرضتها : تم توقيع الحضور ولكن بتاريخ الأمس هنا أكسس يتجاهل الانصراف الفارغ ويسجل حضور جديد .. لماذا ؟ لأن السجل فارغ بسبب المعيار ...................... سأعالج الأمر وآمل ان يكون التعديل سلسا يسيرا بحيث لا يؤثر على منظومة الضوابط داخل الكود
    1 point
  17. 1 point
  18. السلام عليكم ورحمة الله لست أدري إن كنت قد فهمت المطلوب. ألق نظرة على الملف المرفق عبدالحي توزيع نسب (1).xlsx
    1 point
  19. استاذ @moho58 برفق اليك مرفق من أعمال استاذنا @ابو جودي انا شخصياً بستعمله . ملاءمة عناصر النموذج حسب حجم النموذج.rar
    1 point
  20. رغم عدم اتفاقي معك على ما تم تلوينه ، لأنه لا يتصور حدوثه اعتقد كان قصدك ان يتم ادخال البيانات من نماذج اخرى غير نموذج التحديث الا ان فكرتك الأساسية صحيحة لا غبار عليه . انا ضد تحديث الجداول بأي صورة من الصور .. الا بحالات خاصة .. مثل مربع اختيار تم وضعه كشرط لتنفيذ اجراء .. ونحو ذلك .. وغالبا هذا التحديث بكون على جداول محدودة السجلات اما الجداول الرئيسية التي تشتمل على بيانات متجددة تاريخية فيمنع منعا باتا تحديث اي حقل فيها . الحقول المحسوبة والنتائج الأخرى مكانها الصحيح هو الاستعلام او التقرير
    1 point
  21. وهل عرفت السبب ؟؟؟؟؟؟؟ هو هذا حلي الجديد !!!! هههههههه وايضا هناك حل ثالث ؟؟؟ تفضل اولا الحل الثالث باستخدام Private Sub Form_Open(Cancel As Integer) Dim SQL As String SQL = "SELECT Nom_Menha, Menha_ID, ID FROM Qry_menha " & _ "WHERE Menha_ID = '" & Forms!FrmMenah!Etar.Column(1) & "' " & _ "ORDER BY Menha_ID;" Me.Menha_Name.RowSource = SQL End Sub اما الحل الثاني والذي اكتشفته انت اريدك ان تعرفة بنفسك !!! تغير المصدر3.mdb
    1 point
  22. اخي طاهر ايضا هناك طريقة اخرى وبدون ادراج مربع النص اذا تريدها ارفقها لك ابشر
    1 point
  23. لماذا الاعتذار أخي @kkhalifa1960 بالعكس فإثراء الموضوع بالافكار هي الغاية من المنتدى بحيث تكون الصورة كاملة امام السائل وهو من يقرر اي الإجابات التي تناسب عمله
    1 point
  24. قريباً .. التحدي الصعب بتطبيق لعبة الدومينو بواسطة آكسيس بأسلوب السحب والإفلات وتطبيق اللعبة الحقيقية على أرض آكسيس 😅 لمحة مصورة من اللعبة :-
    1 point
  25. جميل جدا تحدي الذات والتنافس معها .. 😊👌 أحييك على هذي الروح المثابرة 😊🌹
    1 point
  26. استاذنا الكبير @منتصر الانسي لم تفوتني لأن صاحب الطلب لم يحدد . .... ولم يتفاعل للاسف . تحياتي لك .
    1 point
  27. اخي العزيز نعم يمكن ذلك ولكن بالنسبة لى بواسطة كود اما بالمعادلات حاولت ولم اتمكن ربما الزملاء الافاضل بالمنتدى لديهم ما يقدمونه لحل الامر بالمعادلات ECOODD (1) (1) (1).xlsb لك وافر التقدير والاحترام
    1 point
  28. شكرا استاذ فوكش لحضرتك
    1 point
  29. وعليكم السلام ورحمة الله وبركاته .. استخدم خاصية البحص أخي الكريم في المنتدى ، وستجد بعض المواضيع التي تحدثت عن طلبك . أذكر منها موضوع للأستاذ موسى الكلباني @Moosak في هذا الموضوع . أو هذه الفكرة للأستاذ محمد عصام @ابو جودي في هذا الموضوع .. وهذه المشاركة فيها الكثير من الإجابات الجميلة ..
    1 point
  30. بالغ التحية والتقدير مجهود رائع جزيل الشكر سيدي
    1 point
  31. مشكور ابو عبد الله المشكله اتحلت فعلا بس ده حصل ازاي والارتباط تم ازاي اللي اشتغل ع الملف معملش ارتباط
    1 point
  32. السلام عليكم الملف مرتبط بملف اخر اسمه TABLE5 من الشريط العلوي للعناوين انقر على صيغ ثم ادارة الاسماء ستجد TABLE5 احذفها ثم وافق وتنتهى المشكلة
    1 point
  33. اهااا المشكلة هذه هي بسبب قياسات الصفحة والهوامش قم بتصغير عرض التقرير إلى 27 سم وستنتهي المشكلة تحياتي
    1 point
  34. الأسماء مرتبة أبجديا ومن السهل الوصول لأي إسم بسهولة ولكن إذا قمنا بعمل مربع بحث يقوم بتصفية مربع القائمة فسيتم تجاهل أي إختيارات تم تحديدها سابقاً هذا لايعني أنه ليس بالإمكان عمل حل ولكنه يحتاج بعض الوقت وقد يكون بإستطاعة أحد الأخوة الأعضاء مساعدتك فيه تحياتي
    1 point
  35. جزيت خيرا أ / عبد الله زادك الله علما و نفع بعلمك وعلمك ما ينفع 💐
    1 point
  36. بارك الله فيك وزادك من فضله استادي واعتذر عن التأخير في الرد لأسباب قاهرة تحياتي
    1 point
  37. جرب المرفق بعد التعديل لعله المطلوب OK3 الكشوف.xlsb
    1 point
  38. وعليكم السلام ورخمة الله وبركاته اليك الكود Sub ترتيب_الصفخات() Application.ScreenUpdating = False Application.DisplayAlerts = False On Error GoTo ErrorHandler Dim ws As Worksheet Dim dict As Object Dim key As Variant Dim sortedKeys() As Variant Dim i As Long, j As Long Dim temp As Variant Dim excludedSheets As Collection Dim mainSheet As String mainSheet = "الرييييسية" Set excludedSheets = New Collection excludedSheets.Add mainSheet excludedSheets.Add "تجميع" Set dict = CreateObject("Scripting.Dictionary") For Each ws In ThisWorkbook.Worksheets If Not IsInCollection(excludedSheets, ws.Name) Then If IsNumeric(ws.Name) Then dict.Add CLng(ws.Name), ws.Name End If End If Next ws sortedKeys = dict.Keys For i = LBound(sortedKeys) To UBound(sortedKeys) - 1 For j = i + 1 To UBound(sortedKeys) If sortedKeys(i) > sortedKeys(j) Then temp = sortedKeys(i) sortedKeys(i) = sortedKeys(j) sortedKeys(j) = temp End If Next j Next i For i = LBound(sortedKeys) To UBound(sortedKeys) Worksheets(dict(sortedKeys(i))).Move After:=Worksheets(Worksheets.Count) Next i Worksheets(mainSheet).Activate Application.ScreenUpdating = True Application.DisplayAlerts = True ' MsgBox "تم ترتيب " & dict.Count & " ورقة رقمية بنجاح! ", vbInformation Exit Sub ErrorHandler: Application.ScreenUpdating = True Application.DisplayAlerts = True MsgBox "حدث خطأ: " & Err.Description, vbCritical End Sub Function IsInCollection(col As Collection, item As String) As Boolean Dim obj As Variant On Error GoTo NotInCollection IsInCollection = True obj = col(item) Exit Function NotInCollection: IsInCollection = False End Function ترتيب الصفحات.xlsm
    1 point
  39. بعد اذن استاذي @Moosak وهذا تصوري للتعامل مع الجداول المرتبطة . القاعدة الرئيسية :- الجدول المطلوبة اساسياً :- (tbl_DesignerPassword) والنموذج المطلوب (frm_DesignerPassword) بالاضافة الي جداول نظامك التي تريدها بالقاعدة الخلفية . ونماذج نظامك كما تريد القاعدة الخلفية :- استيراد بلنك كل الجداول بالقاعد الاساسية التي تدير بها القاعدة الخلفية ولا تنسي الجدول (tbl_DesignerPassword) . استيراد النماذج التي تريدها وتشغيلها من النموذج (frmSwitchBoard) فهو اساسي بالنظام مع النموذجان (Shift) و (FormKeys) . بعد الاستيراد لاتنسي غلق الجداول وعدم تفعيل الشيفت . ملحوظة :- استخدم القاعدة الخلفية بالمرفق وغير اسمها كما تحب لأن بها اعدادات أخرى مخفية خاصة باعدادات ال__ (Ribbon). عند فتح القاعدة الخلفية سيفتح على النموذج :- عند الضغط على الزر (S) سيفتح النموذج (Shift) كما بالجدول اذا ادخلت الباس (1001) ويمكن تغيير بالجدول سيمكنك من تفعيل الشفت اذا خطأ أو خالي عدم تفعيل الشفت . عند الضغط على الزر (HideUnHideTables) اذا ادخلت الباس (tariq1991) ويمكن تغيير بالجدول سيمكنك من اظهار الجداول والاستعلامات اذا خطأ أو خالي عدم اظهرها. اليك المرفق للتجريب وانا حاضر لاي استفسار . Khalifa Test.rar
    1 point
  40. وعليكم السلام ورحمة الله وبركاتة لم امر بهذه التجربة سابقا فوجهت السؤال الى chatgpt فكانت الاجابة الرابط الذي أرسلته 👇 🔗 https://www.microsoft.com/fr-fr/download/details.aspx?id=10019 هو الرابط الرسمي والآمن من موقع Microsoft لتحميل: Microsoft Visual Basic 6.0 Common Controls (SP6) ويحتوي على ملفات: MSCOMCTL.OCX COMCTL32.OCX وهما المسؤولان عن أدوات مثل ListView، TreeView، ImageList، ProgressBar …إلخ 🧩 الخطوات بالتفصيل (بالفرنسية + توضيح بالعربية) 🪄 1. Télécharger le fichier بعد تحميل الملف من الرابط الرسمي: سيكون اسمه تقريبًا: VisualBasic6-KB896559-v1-FRA.exe 📂 2. Créer un dossier de travail أنشئ مجلدًا مؤقتًا لتضع فيه الملفات المستخرجة من الملف السابق، ⚙️ 3. Extraire le contenu sans installation افتح موجه الاوامر Invite de commandes كمسؤول (Démarrer → cmd → clic droit → Exécuter en tant qu’administrateur) ثم اكتب الأمر التالي (كلّه في سطر واحد 👇): VB6.0-KB896559-v6.1.98.46-FRA.exe /T:C:\VB6Controls /C 📁 4. Vérifier le contenu du dossier اذهب إلى المجلد الذي أنشأته: ستجد بداخله عدة ملفات من بينها: MSCOMCTL.OCX COMCTL32.OCX 🚀 5. Copier les fichiers vers le dossier système حسب نوع نظامك: نوع النظام المجلد الذي تنسخ إليه Windows 32 bits C:\Windows\System32\ Windows 64 bits C:\Windows\SysWOW64\ انسخ الملفين MSCOMCTL.OCX و COMCTL32.OCX إلى المجلد المناسب. 🔧 6. Enregistrer les contrôles (Regsvr32) افتح Invite de commandes كمسؤول مجددًا، ثم نفّذ الأوامر التالية: 👉 على Windows 64 bits: regsvr32 C:\Windows\SysWOW64\MSCOMCTL.OCX regsvr32 C:\Windows\SysWOW64\COMCTL32.OCX 👉 على Windows 32 bits: regsvr32 C:\Windows\System32\MSCOMCTL.OCX regsvr32 C:\Windows\System32\COMCTL32.OCX ستظهر رسالة: DllRegisterServer dans MSCOMCTL.OCX réussi. وهذا يعني أن التثبيت تم بنجاح ✅ 🧰 7. Vérifier dans Excel 2013 افتح Excel اضغط Alt + F11 لفتح محرر VBA اختر Outils → Contrôles supplémentaires... فعّل الخيار: ✅ Microsoft Windows Common Controls 6.0 (SP6) اضغط OK الآن يمكنك استخدام ListView, TreeView, ImageList, إلخ.
    1 point
  41. هذا مثالي : لن يتم الحذف الا من خلال الزر فقط حتى لو صنعت زرا جديدا للحذف فلن تتمكن FMK2.rar
    1 point
×
×
  • اضف...

Important Information