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

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

  1. Foksh

    Foksh

    الخبراء


    • نقاط

      48

    • Posts

      4990


  2. عبدالله بشير عبدالله
  3. Ali Mohamed Ali

    Ali Mohamed Ali

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


    • نقاط

      15

    • Posts

      11651


  4. Moosak

    Moosak

    أوفيسنا


    • نقاط

      13

    • Posts

      2382


Popular Content

Showing content with the highest reputation since 07/13/26 in all areas

  1. أخواني وأساتذتي ومعلمينا ( دون استثناء ) تشجيعاً للمتابعة والتقدم باستكمال الفكرة المعروضة في الفيديو التالي ، أرجو منكم مشاركتي أفكاركم وتعليقاتكم حول الفكرة الجديدة التي أقوم بتطويرها .. وأعلم أن هناك موضوع واحد على الأغلب قد تحدث عن الفكرة ولكن بطريقة مختلفة تماماً عن ما سترونه في :-
    6 points
  2. بعد تجربة كل الواجهات مع سيكوال من سى شارب الى فيجول بيسك نت الى واجهات البايثون كلهم متجمعين لايساووا مرونة اكسس فى الاتصال والاستعلامات التمريرية وكنت لو اتمنى ان تسعى مايكروسوفت لتطوير اكسس كلغة ليناسب الويب بدلا من دعمها الدائم ل power apps
    6 points
  3. تفضل Public Function GetMissingArabicLetters(ByVal InputText As String) As String Dim strAlphabet As String Dim strOutput As String Dim i As Integer Dim char As String Dim inputLetters As Collection Dim missingCount As Integer ' الحروف العربية الأبجدية (الألف إلى الياء) strAlphabet = "ابتثجحخدذرزسشصضطظعغفقكلمنهوي" ' إنشاء مجموعة لتخزين الحروف الموجودة Set inputLetters = New Collection ' إضافة كل حرف عربي موجود في النص إلى المجموعة (منع التكرار) For i = 1 To Len(InputText) char = Mid(InputText, i, 1) If InStr(1, strAlphabet, char, vbBinaryCompare) > 0 Then On Error Resume Next inputLetters.Add char, char On Error GoTo 0 End If Next i ' بناء النتيجة بالشكل المطلوب (حرف، حرف، حرف) strOutput = "" missingCount = 0 For i = 1 To Len(strAlphabet) char = Mid(strAlphabet, i, 1) On Error Resume Next inputLetters.Item (char) ' محاولة الوصول إلى الحرف If Err.Number <> 0 Then ' إذا حدث خطأ فهذا يعني أن الحرف غير موجود If missingCount > 0 Then strOutput = strOutput & "، " ' فاصلة عربية + مسافة End If strOutput = strOutput & char missingCount = missingCount + 1 End If On Error GoTo 0 Next i ' النتيجة النهائية If missingCount = 0 Then GetMissingArabicLetters = "لا توجد حروف مفقودة" Else GetMissingArabicLetters = strOutput End If ' تنظيف الذاكرة Set inputLetters = Nothing End Function استدعيه بهذا الشكل Private Sub cmdExtract_Click() Me.txtOutput.Value = GetMissingArabicLetters(Me.txtInput.Value) End Sub
    5 points
  4. تم تعديله الكود بالاستعانة ب AI تفقيط معدل.xlsm
    4 points
  5. طيب .. رغم أن الطلب تم تحقيقه من خلال Data Validation ، ولكن هذا لا يمنع من تجربة الفكرة التالية من خلال الأكواد . حيث تم دمج الحدث عند التغيير للورقة من :- If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("B3:B3000")) Is Nothing Then With Target(1, 5) .Value = Date & " " & Time .EntireColumn.AutoFit End With End If ليصبح :- Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Or Target.Row < 3 Then Exit Sub If Target.Column = 2 And Target.Value <> "" Then Target.Offset(0, 4).Value = Now If (Target.Column = 4 Or Target.Column = 5) And Trim(Me.Cells(Target.Row, "D").Value) = "بيع" Then Dim r As Long: r = Target.Row Dim itemCode As Variant: itemCode = Me.Cells(r, "B").Value Dim qty As Double: qty = Val(Me.Cells(r, "E").Value) If Not IsEmpty(itemCode) And qty > 0 Then Dim stockSheet As Worksheet: Set stockSheet = Worksheets("المخزن") Dim findCell As Range Set findCell = stockSheet.Range("B3:B800").Find(What:=itemCode, LookIn:=xlValues, LookAt:=xlWhole) If Not findCell Is Nothing Then Dim realAvailableStock As Double realAvailableStock = Val(stockSheet.Range("I" & findCell.Row).Value) + qty If qty > realAvailableStock Then MsgBox "• لا يمكنك إتمام عملية البيع هذه" & vbCrLf & vbCrLf & _ "• الصنــف: " & Me.Cells(r, "C").Value & vbCrLf & _ "• الرصيد المتاح حالياً: " & realAvailableStock & " قطعة" & vbCrLf & _ "• الكمية المطلوبة: " & qty & " قطعة", _ vbCritical + vbMsgBoxRight + vbMsgBoxRtlReading, "تجاوز الرصيد" Application.EnableEvents = False Me.Cells(r, "E").ClearContents Me.Cells(r, "E").Select Application.EnableEvents = True End If End If End If End If End Sub ملفك بعد التطبيق :- مخزن 1.xlsb
    4 points
  6. السلام عليكم ورحمة الله وبركاتة مرفق لكم لقد صممت برنامج مخازن يحتوى على دخول مستخدمين اجبارى كلمة المستخدم admin كلمة السر 123 اختيارى دخول بريد الكترونى رجاء كتابة البريد ضرورى دخول رقم الهاتف رجاء كتابة رقم الواتس ضرورى ويبدأ من 201 لانة سيربط نسيان كلمة المرور مستقبليا اما بخصوص نسيان كلمة السر فهى جارى العمل عليها لانها تحت التطوير وايضا عند الدخول يعطى شاشة ترحيب جميلة جدا كأنة يقوم بالدخول الى النظام وايضا عند الدخول الى النظام يدخل الى شاشة به محتويات اساسيات تحتوى على 1 - تكويدات ( مخازن وموردين واصناف وعملاء ومندوبين ) 2 - حركة الاصناف 3 - حركة المشتريات والمبيعات والمرتجعات وتسوية مخزون 4 - تقريرات 5 - صلاحيات دخول المستخدمين 6 - عمل نسخة احتياضية بمجرد ان تقوم بتحديد كلا من الخيارات يظهر تلقائى البنود الخاصة بكل خيار تم عمل حركة تحويل بين المخازن مبدئيا ويتم عمل جميع الحركات من شراء وبيع والخ ارجو ان ينال اعجابكم وشكرا لكم TransferSystem 2027.xlsm
    4 points
  7. اشكر اخى عبدالله بشير عبدالله على هذه الملاحظة وتم التعديل عليها دليل ميزات للمستخدمين والإدارة: وثيقة التحديثات الأمنية ومميزات واجهة تسجيل الدخول المحدثة تم تطوير وتحديث واجهة تسجيل الدخول البرمجية (Login Form) وتزويدها بحزمة من المزايا الذكية التي تضمن أعلى مستويات الأمان، الخصوصية، وسلاسة تجربة المستخدم (UI/UX). تلخص هذه الوثيقة أهم الإضافات البرمجية وفوائدها التقنية والتشغيلية: 1. الفحص الذكي للاتصال بالإنترنت (Active Connectivity Verification) الوصف الفني: يعتمد النظام على استدعاء دوال ويندوز السيادية (WinINet API) للتحقق الفعلي واللحظي من وجود اتصال إنترنت نشط بجهاز المستخدم قبل البدء في معالجة طلب استرجاع البيانات. فوائد العمل: منع الأخطاء البرمجية: يمنع تجمد أو توقف (Freeze) برنامج إكسيل عند محاولة فتح روابط خارجية في غياب الشبكة. توجيه ذكي للمستخدم: يظهر رسالة تنبيهية فورية وواضحة للمستخدم تفيد بأن "الإنترنت غير فعال" مع إيقاف الإجراء فوراً لتوفير الوقت والجهد. 2. التشفير والتخفي البصري للبيانات (Advanced Visual Masking) الوصف الفني: استخدام خاصية الحجب التلقائي PasswordChar لحقول البريد الإلكتروني ورقم الواتساب بمجرد استدعائها وعرضها على الشاشة لتظهر على هيئة رموز نجوم (***). فوائد العمل: حماية الخصوصية: يمنع المتطفلين أو المحيطين بالمستخدم من رؤية بيانات الأمان الحساسة المعروضة على الشاشة. كفاءة برمجية: التشفير بصري فقط على الواجهة؛ مما يعني أن النظام يقرأ ويكتب البيانات الحقيقية من وإلى قاعدة البيانات (شيت إكسيل) بسلاسة تامة ودون أي تعارض. 3. حماية البيانات ضد التعديل والتلاعب (Write-Protection & Locking) الوصف الفني: تطبيق خاصية القفل التام Locked = True على حقول الاسترجاع (البريد والواتساب) فور ظهورها على الشاشة. فوائد العمل: سلامة البيانات: منع المستخدم من الكتابة داخل هذه الحقول أو تعديلها أو مسحها بالخطأ، مما يضمن دقة البيانات المسترجعة. وضوح الرؤية: تضمن هذه الخاصية بقاء النصوص واضحة ومقروءة للمستخدم، على عكس خاصية الإلغاء الكامل (Enabled = False) التي تجعل الحقول باهتة وصعبة القراءة. 4. التنسيق البصري والديناميكي للواجهة (Dynamic UI Alignment) الوصف الفني: إعادة برمجة إحداثيات عناصر الشاشة (الخاصية .Top و .Height) لتتفاعل وتتمدد أوتوماتيكياً عند طلب استرجاع الحساب. فوائد العمل: مظهر احترافي ومتناسق: تم ترحيل زر اختيار لغة البرنامج chkLanguage وزر التذكر وزر الدخول إلى الأسفل بدقة متناهية فور تمدد الحقول، مما يمنع تماماً تداخل العناصر بصرياً ويحافظ على جمالية الواجهة. 5. دعم ثنائية اللغة الفورية (Instant Bilingual Support) الوصف الفني: نظام ترجمة مدمج يتفاعل لحظياً مع اختيار المستخدم للغة (العربية أو الإنجليزية). فوائد العمل: مرونة التشغيل: تترجم جميع العناوين، الحقول، الرسائل التنبيهية، وحتى نوافذ التأكيد فوراً بمجرد الضغط على خيار اللغة دون الحاجة لإعادة تشغيل البرنامج أو إغلاقه. 6. تدوين ومراقبة سجلات الدخول (Automated Security Logging) الوصف الفني: تفعيل نظام تدوين خلفي (سري) يقوم بتسجيل كل حركة دخول ناجحة أو خاطئة في شيتات مخصصة (Log_Success و Log_Failed). فوائد العمل: الرقابة والأمن: تتبع تفصيلي لعمليات الدخول يشمل (التاريخ، الوقت، اسم المستخدم، وعدد المحاولات)، مع حظر المنظومة وإغلاق الملف بالكامل تلقائياً عند تجاوز 3 محاولات خاطئة لحماية أرصدة وبيانات المنشأة. ملحوظة تم اضافة تسجيل المستخدمين سواء كان ادارة او موظفين مع تحديد مستوى المشاهدة والصلاحيات والرجاء من يريد المساهمة فى عمل المشروع لوجة الله تعالى يتفضل مشكورا لتعم الفائدة على الجميع هنا تم عمل شاشة دخول و تسجيل مستخدمين و تحويل يبن المخازن و جارى عمل فاتورة شراء TransferSystem 2027 - Copy - Copy.xlsm
    4 points
  8. حبايب قلبي عشاق برنامج الاكسس تم تحديث نظام lab الطبي نظام متكامل ونظراً لحجمه عملته لكم في رابط ما عليك الا تنزله وفك الضغط في قرص d كلمة المرور ١ حال عدم السماح بالدخول يرجع السبب الى اعدادات الماكرو لديك قم بالدخول الى خيارات من اي ملف اكسس مفتوح ثم إعداد الماكرو واعمل سماح بالتوفيق https://drive.google.com/file/d/1YDRRLchNAfArPzdS129nnpQlqJLHfL8M/view?usp=drivesdk
    3 points
  9. كررت التجربة والملف يعمل ولا يسمح باظافة اي كمية تتجاوز الموحود بالمخزن ولكن هناك سبب يجغل الرصيد في المخزن بالسالب عندما تكتب الكمية اولا ثم تختار توع الحركة بعدها هنا يتم قبول الكمية ولو كان الصنف انتهى من المخزن وهذه حلها الغاء خاصية تجاهل الفراغ حينها لا يقبل اي كمية سواء اخترت نوع الحركة اولا او اخر جرب الغاء الخاصية في ملف الاستاذ Foksh واليك ملف اخر بنفس فكرة Data Validation باستخذام عمود مساعد في العمود o بالرغم انني لا احبذ استخذم الاعمدة المساعدة وله نفس نتائج ملف معلمنا Foksh مخزن 1.xlsb
    3 points
  10. تم التعديل الكود حاليا يقوم بحذف اي صور من النطاق a2:v2 قبل ادراج الصورة الجديدة حتى لا تتراكم الصور فوق بعضها كذلك تم تعديل اسم الصورة ومكانها على الجهاز بحيث يمكنك احتيار اي صورة وباي اسم وباي امتداد من الجهاز ويمكنك اضافة اي امتداد اخر غير مدرج بالكود .Filters.Add "جميع الصور", "*.jpg; *.jpeg; *.png; *.bmp; *.gif; *.tiff" تم استتناء ورقة3-ورقة6 من ادراج الصور ويمكنك استتناء المزيد وذلك باظافة اسم الورقة بالكود من الجزء For Each ws In Worksheets If ws.Name <> "ورقة3" And ws.Name <> "ورقة6" Then ادراج صورة (2).xlsm
    3 points
  11. سيكون الحل بطريقتين حسب استخدامك للملف إذا كنت تقوم بفلترة العمود الأول (عمود1) يدوياً ليظهر فقط التواريخ من 8 إلى 11: استخدم المعادلة =SUMPRODUCT(SUBTOTAL(109; OFFSET(I8:I100; ROW(I8:I100)-ROW(I8); 0; 1)); --(H8:H100=E4)) وإذا أردت حصر الجمع تلقائياً بين تاريخين دون الاعتماد على الفلترة اليدوية استخدم المعادلة =SUMIFS(I8:I100; H8:H100; E4; G8:G100; ">=08-يوليه"; G8:G100; "<=11-يوليه") واليك المعادلتان في ملف واحد واختر ما يناسب طلبك جمع القيم لشخص مع الفلترة.xlsx
    3 points
  12. وعليكم السلام ورحمه الله وبركاته اتفضل لعله يكون المطلوب جدول ورديات.xlsm
    3 points
  13. اعرض الملف 🏆🌟 نتائج تحدي المبدعين 13 🌟🏆 :: إضافة وتحرير سجلات في جدول من خلال عنصر ويب :: 📟🌟 السلام عليكم ورحمة الله وبركاته يطيب لي أن أطرح بين أيديكم نتائج : 🙂 🌟 تحدي المبدعين 13 🌟 :: أدخال البيانات في جدول من عنصر ويب :: 🌟 هذا التحدي هو عبارة عن تحدي يطرح بين فترة وأخرى على جروب الواتسأب مجتمع اكسس جروب وكان هذا التحدي هو التحدي رقم 13 وكان موضوع التحدي هو إدخال وتعديل البيانات في الجداول عن طريق عنصر ويب داخل نموذج . 🤗 المشاركين : لدينا 4 مشاركات رائعة من 4 مشاركين متميزين : - الأستاذ/ أبو إلين (مشاركة). - المهندس/ موسى الكلباني (مشاركة). - أخوكم/ فادي - Foksh (مشاركة). - الأستاذ/ أبو ناصر - AbuNassir (مشاركة). :: صور المشاركات :: :: الأستاذ أبو إلين :: :: المهندس موسى الكلباني :: :: أخوكم فادي - Foksh :: :: أبو ناصر - AbuNassir :: ⭐ رابط الانضمام لمجموعة الواتسأب : https://drive.google.com/drive/folders/1Ku3j_1TBQ03M199RBAO86DqDcFKcgAk3?usp=drive_link ⭐ رابط جميع ملفات التحديات السابقة 🌟 : https://drive.google.com/drive/folders/1xOqWpWiLqKacPTG2MQDrohJp5DKDRTY2?usp=drive_link 🌸😊 كل التوفيق للجميع 😊🌸 صاحب الملف Foksh تمت الاضافه 07/14/26 الاقسام قسم الأكسيس  
    3 points
  14. أخواني وأساتذتي ومعلمينا ( دون استثناء ) .. بعد البحث في المنتدى عن مواضيع تتحدث عن أداة تقوم بإنشاء شريط ريبون خاص بالمستخدم ، لم أجد سوى موضوع واحد ، ولكن بطريقة إلى حد ما تحتاج المهارة والتدخل اليدوي في إنشاء الشريط . لذا وبفضل الله تعالى وكرمه توصلت الى فكرة تفاعلية ومرنة إلى أبعد حد يخطر ببال المستخدم . 1️⃣ التعامل باللغتين العربية والإنجليزية كلغة واجهة الأداة . 2️⃣ إنشاء شريط تفاعلي يدعم المعاينة الفورية لشكل الشريط . 3️⃣ إمكانية استيراد ( فتح ) مشروع شريط ريبون محفوظ مسبقاً . 4️⃣ إمكانية تعيين وظائف عامة من آكسيس أو خاصة باستدعاء دوال خاصة بمشروعك . 5️⃣ التحكم التام والكامل والمرن بأيقونات الأزرار ومسمياتها . 6️⃣ التحكم بعرض / إخفاء تبويبات آكسيس الأفتراضية . 7️⃣ التحكم بالقوائم المختصرة الإفتراضية لآكسيس . 8️⃣ عرض كود XML للشريط الذي يتم انشاؤه . 9️⃣ إمكانية دمج الأداة كوظيفة أساسية في آكسيس Add-ins . 🔟 إمكانية تصدير الشريط عند تصميمه إلى قاعدة بيانات أخرى ، أو القاعدة الحالية لمشروعك . 1️⃣1️⃣ دعم عرض الشريط بالإتجاهين من اليمين لليسار - من اليسار لليمين . دعم نسخ آكسيس العربية الواجهة . 1️⃣2️⃣ إضافة المكونات الخاصة بالشريط من خلال قائمة منسدلة . حيث المكونات هي ( تبويب ، مجموعة ، فاصل داخل المجموعة نفسها ، زر ، مربع تسمية ) وسيتم شرحها لاحقاً . 1️⃣3️⃣ إمكانية نقل وتحريك المكونات داخل الشريط من خلال السحب والافلات . 1️⃣4️⃣ إمكانية تحديد مفتاح اختصار للتنقل بين المكونات ، من خلال النقر على مفتاح Alt + الحرف الذي تم تحديده للعنصر . 1️⃣5️⃣ إمكانية إعادة تسمية أي عنصر أثناء تصميم الشريط بسهولة من خلال قائمة مختصرة سريعة ، أو من خلال مربعات نص الخصائص . 1️⃣6️⃣ إمكانية حذف أي عنصر أثناء التصميم بسهولة أيضاً من خلال قائمة مختصرة سريعة ، أو من خلال مربعات نص الخصائص . 1️⃣7️⃣ دمج سليم وبرمجي للأيقونات التي تم تخصيصها للأزرار داخل قاعدة البيانات بحيث تعمل معك في أي جهاز دون أي مشاكل . 1️⃣8️⃣ إمكانية إضافة تلميح لوظيفة أي عنصر داخل الشريط . 1️⃣9️⃣ إمكانية حذف شريط الريبون من قاعدة بياناتك بسهولة وسلاسة . 2️⃣0️⃣ إمكانية حذف مشروع شريط ريبون كامل من سجلات الأداة ، لتلافي التراكم والفلترة . والمزيد من الخصائص والوظائف المدمجة في الأداة ، التي ستتمتع باكتشافها بنفسك عزيزي القارئ . 📸 صور من واجهة الأداة باللغتين العربية والإنجليزية :- ♻ كيف تعمل الأداة ؟ أنشئ مشروع جديد ، وحدد اسمه كما ترغب . قم بالنقر مرتين على اسم المشروع الذي تم ادراجه في قائمة المشاريع المحفوظة . من القائمة المنسدلة "إضافة عنصر جديد الى الشريط" ، اختر تبويب لإضافة تبويب جديد . ثم غير اسم التبويب كما تريد . كمثال "Home" - "الرئيسية" ... إلخ . انقر على التبويب بعد تغيير اسمه لتحدده ، ثم قم بإضافة "مجموعة" . وأيضاً حرر اسم المجموعة كما تريد . مثال "التقارير" . وحدد الخصائص التي تريدها لها . انقر على اسم المجموعة الجديدة التي أضفتها ، ثم قم بإضافة زر جديد داخل المجموعة . وأيضاً حدد خصائصه كما تريد . مثل اسمه وأيقونته ، أو حتى مفتاح اختصاره السريع ، أو حتى الحدث المخصص له ... وهكذا لبقية العناصر . وفيما يلي شرح مصور بسيط لآلية العمل بشكل كامل من الألف إلى الياء . فيديو توضيحي لطريقة الاستخدام بشكل سريع .. ملف الأداة للتحميل للإصدار 64 :- Ribbon Builder.zip ملف الأداة للتحميل للإصدار 32 :- Ribbon Builder - 32.zip الملف المستخدم للتجربة هو من أحد المشاريع في المنتدى ، من باب التجربة ليس إلا ..
    2 points
  15. الذي فهمته من ردك الاخير انك تريد حماية A2&C2 فقط من التعديل وترك B2 قابل للتعديل والعمل سيكون على هذا الصف فقط المعادلة تنض غلى اذا كان تاريخ العمولة (B2) اقل من التاريخ الثابت (A2) تكون النسبة 50% وان كانت اكبر 100% اذا كان العكس غير علامة < الى > الخليتان محميتان بدون كلمة مرور تحياتي حساب النسبة المئوية.xlsx
    2 points
  16. أضف إلى ذلك أيضاً حرف "ئ ، ى ، ؤ ، ء" الألف المكسورة وغيرها أو حتى التاء المربوطة أو الهاء المربوطة .. فمثلاً ، كم حرف لم يأت ذكره في الآية الكريمة :- وعلى الله فليتوكل المؤمنون
    2 points
  17. سؤال ولو فيه نوع من التطفل اخي @zozzz بارك الله فيكم ماذا عن هذه الحروف "أ", "إ", "آ" اليس المفروض احتسابها على انها ا ام ماذا ؟ اشكرك على سعة صدرك ... لاني لا اعلم بطبيعة عمل برنامجك ولكن من باب الفائدة فقط
    2 points
  18. وعليكم السلام ورحمة الله وبركاته اهلا بك جرب هذا Private Sub cmdExtract_Click() Dim strInput As String Dim strAlphabet As String Dim strOutput As String Dim i As Integer Dim char As String Dim inputLetters As Collection Dim missingCount As Integer strAlphabet = "ابتثجحخدذرزسشصضطظعغفقكلمنهوي" strInput = Me.txtInput.Value Set inputLetters = New Collection For i = 1 To Len(strInput) char = Mid(strInput, i, 1) If InStr(1, strAlphabet, char, vbBinaryCompare) > 0 Then On Error Resume Next inputLetters.Add char, char On Error GoTo 0 End If Next i strOutput = "" missingCount = 0 For i = 1 To Len(strAlphabet) char = Mid(strAlphabet, i, 1) On Error Resume Next inputLetters.Item (char) If Err.Number <> 0 Then If missingCount > 0 Then strOutput = strOutput & "'، '" End If strOutput = strOutput & "'" & char & "'" missingCount = missingCount + 1 End If On Error GoTo 0 Next i If missingCount = 0 Then Me.txtOutput.Value = "لا توجد حروف مفقودة" Else Me.txtOutput.Value = strOutput End If Set inputLetters = Nothing End Sub
    2 points
  19. اقترب موعد إطلاق النسخة الأولى من أداة صانع شريط الريبون 😎 كونوا على الموعد .. قريباً ⏳
    2 points
  20. هذا هو الحل المنطقي ولكن ولأن الأخ أحمد في ظل الأمر الواقع فلماذا لا نصل لهذه النتيجة بطريقة أخرى؟ قمت بإرفاق المثال بعد إنشاء إستعلام توحيدي يضم الثلاثة الجداول مع إضافة حقل (داخل الإستعلام) بإسم ClassNo يتم فيه إضافة رقم الصف لكل جدول وجعلت هذا الإستعلام هو مصدر بيانات التقرير ثانيا من زر أمر فتح التقرير لكل نموذج قمت بإضافة معيار رقم الصف لتصفية بيانات التقرير مثلاً في النموذج الأول سيصبح معيار التصفية كالتالي ClassNo=1 And onlyyou=true ثالثاً بإستخدام دالة Choose قمت بكتابة رقم الصف في التقرير لا أعلم إذا كان هذا الحل سيناسب أخونا @أحمد العيسى أم أن هناك مشاكل أخرى ستظهر عنده؟ ملاحظة أخيرة : جدول الصف الثالث لم يحتوي على الحقول (Address + Work_father + Telephone) لذلك قمت بإضافتها في الإستعلام مع تعيين قيم فارغة لها تحياتي db.mdb
    2 points
  21. للتوضيح ، حيث ما تم تعديله أنه عند القيام بعملية بيع ، تقوم المعادلة حالياً بإعادة إضافة الكمية المكتوبة حالياً إلى الرصيد المحسوب في ورقة المخزن ، فيسترجع التحقق من الصحة الرصيد الفعلي المتوفر قبل إدخال الحركة الحالية وتكتمل العملية بنجاح عند إدخال 5 أو 4 أو أي رقم ضمن حدود الرصيد المتوفر . عذراً على التأخر في اكتشاف الخلل .. والشكر موصول للأستاذ @عبدالله بشير عبدالله على مشاركته وملاحظاته معنا .
    2 points
  22. وعليكم السلام جرب الكود المعدل بالملف تغيير لون الخلايا المحدده بالماوس من خلال اليوزر فورم_085825.xlsm
    2 points
  23. وعليكم السلام ورحمة الله وبركاته الكود المرفق يقوم :- بالغاء حماية الشيتات المستهدفة 123 ثم يتم اظهار الصفوف 1-2 ثم يمسح الصور السابقة بعد ادراج الصور يتم اخفاء الصفوف1-2 ثم حماية الصفحات من جديد 123 استبدل الكود السابق بهذا تم تجربة الكود على 28 صفحة في حدود 3 الى 4 ثانية Private Sub CommandButton13_Click() Dim ws As Worksheet Dim Pic As Shape Dim shp As Shape Dim rng As Range Dim fd As FileDialog Dim imgPath As String Dim i As Long Set fd = Application.FileDialog(msoFileDialogFilePicker) With fd .Title = "اختر الصورة المراد إدراجها" .Filters.Clear .Filters.Add "جميع الصور", "*.jpg; *.jpeg; *.png; *.bmp; *.gif; *.tiff" .AllowMultiSelect = False If .Show = -1 Then imgPath = .SelectedItems(1) Else Exit Sub End If End With Application.ScreenUpdating = False On Error Resume Next Application.CommandBars.FindControl(ID:=549).Execute On Error GoTo 0 For Each ws In Worksheets If ws.Name <> "قائمة" And ws.Name <> "مخزن" Then On Error Resume Next ws.Unprotect Password:="123" On Error GoTo 0 ws.Rows("1:2").Hidden = False Set rng = ws.Range("A2:V2") For i = ws.Shapes.Count To 1 Step -1 Set shp = ws.Shapes(i) If shp.Type = msoPicture Or shp.Type = msoLinkedPicture Then On Error Resume Next If Not Intersect(shp.TopLeftCell, rng) Is Nothing Then shp.Delete End If On Error GoTo 0 End If Next i Set Pic = ws.Shapes.AddPicture( _ Filename:=imgPath, _ LinkToFile:=msoFalse, _ SaveWithDocument:=msoTrue, _ Left:=rng.Left, _ Top:=rng.Top, _ Width:=rng.Width, _ Height:=rng.Height) With Pic .LockAspectRatio = msoFalse .Placement = xlMoveAndSize End With ws.Rows("1:2").Hidden = True ws.Protect Password:="123" End If Next ws Application.ScreenUpdating = True MsgBox "تم إدراج الصورة بنجاح!", vbInformation, "تم بنجاح" End Sub كما يمكنك الغاء اكوادالحماية وغيرها من ملفك لانها اصبحث من صمن الكود السابق
    2 points
  24. السلام عليكم ورحمة الله وبركاته من خلال التجربة لملف Data Validation الاول - طلب السائل الكريم يتحقق مع تعديل النمط الى ايقاف كما تصحته في مشاركة لاحقة ولا اعتقد انه يمكن اظافة اي جديد اكثر مما تم عمله هذا حسب اعتقادي والله اعلم تحياتي لكما
    2 points
  25. و عليكم السلام ورحمة الله و بركاته تفضل الملف. ملحوظة تم تعديل الاسماء و أرقام الاقامة لان من غير المنطقي أن تكون كل البيانات متشابهة تماما ماعدا رقم اللوحة مما يفقد البحث بالاسم أو رقم الاقامة فائدته فواز_معدل_للبحث_محدث (2).xlsx
    2 points
  26. يمكننا الإنتظار مشاركات جديدة .. فلا تستعجل بإغلاق الموضوع باختيار الإجابة 🙂
    2 points
  27. وعليكم السلام ورحمه الله وبركاته
    2 points
  28. 2 points
  29. السلام عليكم ورحمة الله وبركاته تحياتي لك ولاستاذنا Foksh مشكلة الملف به امتددان ادراج صورة.xlsm.xlsx بحذف الامتداد xlsx يعمل الملف لاظافة الخاصية المطلوبة اولا يجب حذف كلمة Private ليصبح اسم الكود Sub Comm() ثانيا يجب أن تكون الصورة موجودة بالفعل داخل القرص D بهذا الاسم بالضبط (عنوان.jpg) ثالتا امتداد الملف هو jpg وليس png أو jpeg؛ لأن عدم تطابق الامتداد سيتسبب في ظهور خطأ عند تشغيل الكود. في حال تغير مكان الضورة او امتدداها قم بالتعديل بالكود اليك الكود بعد اظافة الخاصية xlMoveAndSize نقل الخلايا وتغيير حجمها Sub Comm() Dim ws As Worksheet Dim pic As Object For Each ws In Worksheets Set pic = ws.Pictures.Insert("D:\عنوان.jpg") pic.Placement = xlMoveAndSize Next ws End Sub ادراج صورة.xlsm
    2 points
  30. أخواني وأساتذتي ومعلمينا ( دون استثناء ) أشارككم في هذا الموضوع أداة بسيطة وفعالة قمت بتطويرها لأغراض إنشاء واستعادة نسخ احتياطية من قواعد بيانات اكسيس . ✔️ الهدف الأساسي من الأداة هو توفير طريقة مرنة وآمنة لأخذ نسخ احتياطية من الجداول المهمة بشكل دوري أو عند الحاجة ، وتسهيل استعادتها لاحقاً بنفس البنية والبيانات . صورة من واجهة الأداة :- الواضح من الواجهة ، أن الأداة ستمكنك من :- أولاً :- إنشاء نسخة احتياطية ضمن الإعدادات التي تحددها في زر "خيارات الحفظ" . عند النقر عليه ستجد هذه الإعدادات في الصورة .. مسار الحفظ للنسخ الإحتياطية سيكون فقط في المجلد Backup في المجلد الرئيسي Data الموجود بجانب قاعدة البيانات . نوع الملحق سيكون MDB و DAT . وهما النوعين الأكثر شمولاً واستخداماً في جميع الأفكار التي لها نفس الوظيفة . عدد النسخ التي ستحتفظ بها هو فقط ما تحدده . وسيتم حذف النسخ الأقدم تباعاً . بإمكانك تحديد كلمة مرور لحماية قاعدة بيانات الجداول . ولا ننصح بتغييرها لكل نسخة كي لا تتوه وتفقد بياناتك . إمكانية النسخ التلقائي حسب عدد الأيام أو الساعات الي تريد أخذ نسخة تلقائية فيه . ثانياً :- إنشاء نسخة احتياطية لجداول تقوم بتحديدها - ولك حرية اختيار الجداول في كل نسخة - حيث أنها لن تؤثر على سير عملية الإسترجاع لاحقاً . انظر الصورة للتوضيح :- على اليمين تظهر أسماء الجداول في القاعدة الحالية ( مرتبطة أو محلية ) . ولك الحرية باختيار جداول محددة بالنقر المزدوج على الجدول ، أو تحديد الكل / إلغاء الكل . حسب حاجتك . ثالثاً :- الأزرار كما هي في صورة واجهة الأداة ، تشير إلى :- زر "حفظ نسخة إحتياطية جديدة" :- لإنشاء نسخة إحتياطية حسب الإعدادات اتي تم تحديدها . زر "تحديث بيانات النُسخ الإحتياطية" :- لإعادة ترتيب السجلات في الجدول حسب النسخ الموجودة في مجلد انسخ الإحتياطي . زرا "نُسخ محددة" و "كافة النُسخ" :- لحذف محدد أو لجميع النسخ الإحتياطية . زر "إنشاء" في قسم "نسخة خاصة" :- مخصص لإنشاء نسخة خاصة في مكان يقوم المستخدم بتحديده وليس ضمن المسار المحدد في الإعدادات ، وبإسم متغير كيفما يريد . زر "استرجاع" في قسم "نسخة خاصة" :- مخصص لإسترجاع نسخة يقوم المستخدم بتحديدها بشكل يدوي من خلال مربع حوار اختيار ملف . زر "استرجاع" في قسم "استرجاع النسخة رقم" :- مخصص لاختيار نسخة محددة برقمها . حيث تظهر النسخ التي تم أخذها إحتياطياً ، في أعلى جزء النموذج والتنقل بينها من خلال الزرين < > . رابعاً :- في هذا الإصدار ( V1.0 ) من الأداة على عدم الإعتماد على أي مكتبات خارجية أو من مكتبات أكسيس . حيث تمت التجربة على إصدارات اكسيس ( 2010 فما فوق ) . Backup 2025 - V1.0.accdb.zip :- دائماً يسعدني إبدائكم الرأي والملاحظات حول الأخطاء والمشاكل التي يمكن مواجهتها في أي مشروع يتم تأسيسه في آكسيس أو غيره من لغات البرمجة . أولاً تأكد من وجود جدولي الأداة ( USysMyCopies و USysOptCopies ) عند نسخها الى مشروعك . مع العلم أنها مخفية كجداول نظام ، ويمكنك إظهارها كما في الصورة التالية :- ثانياً ، قم بالدخول الى خيارات الحفظ ، والنقر على زر "انقر لضبط مسار مجلد الحفظ بشكل آلي" لضبط وتحديد مسار مجلد الحفظ الرئيسي . فقط لأول مرة .
    2 points
  31. و عليكم السلام و رحمة الله و بركاته دالة الترحيل كانت موجودة لكن فيها خطأ برمجي (كانت تجلب دائمًا نفس الصنف الأول لكل الصفوف)، بالإضافة لخطأين آخرين: اسم الزبون والتاريخ كانا يسحبان من أعمدة خاطئة. كما أن دالة tafket() المستخدمة للتفقيط غير موجودة أصلاً في الملف (دالة خارجية غير معرفة، لذلك كانت تظهر كخطأ). جرب الملف المرفق الفاتورة(2).xlsx
    2 points
  32. و عليكم السلام ورحمة الله و بركاته هذا الملف من روائع العلامة خبور و هو ملف تعليمي فارغ و لذلك مذكور كلمة السر صراحة و هي 1 و به امكانية حذف الحماية أيضا
    2 points
  33. وعليكم السلام ورحمة الله 🙂 بل التحدي على المتصفح القديم .. وكان التحدي الأكبر هو كيف تجعل المتصفح القديم يفتح الصفحات المصممة بالتقنيات الحديثة Html, Js , Css وأنت تعلم بإن المتصفح القديم لا يدعم ذلك !! ولكن بفضل الله تم كسر هذا القيد (بمساعدة أبو الشباب AI طبعا )
    2 points
  34. وعليكم السلام اخي فادي فكرة جميلة وتوجد الحاجة اليها ، ولكني لم افهم ابداء الرأي المطلوب !! بالنسبة لي هي ادوات للمبرمج ولا يحتاجها المستخدم ، لهذا السبب اخفيها ، واعوض عنها بطريقة اخرى (سواء ازرار او قائمة مختصرة او ...) ، ولكن دائما هناك المسؤول والذي لديه صلاحيات اكثر من المستخدمين ، فقد يحتاج الى ادوات معينة من هذا الشريط ، ولكني سافتحه له في نموذج معين فقط وليس لكامل البرنامج
    2 points
  35. الملف الحالي يفحص الاتصال عند تشغيل البرنامج .. وفي حال غياب القاعدة الخلفية أو وجود انفصال في الشبكة يظهر نموذج الاتصال .. ولكن لو كانت الشبكة عندك تنفصل من حين لآخر .. فهذا يحتاج تقنية مختلفة .. تحتاج لنموذج يفحص الاتصال بالشبكة كل دقيقة مثلا .. وإذا حصل انقطاع يظهر نموذج للمستخدم يخبره بانقطاع الشبكة .. ولكن ما بيحتاج أنه يربط القاعدة الأمامية بالخلفية في هذي الحالة .. 🙂
    2 points
  36. Version 1.1

    46 تنزيل

    السلام عليكم ورحمة الله وبركاته لكسر الروتين وعموم الفائدة 😎👌 أقدم لكم أداة جديدة بفكرة جديدة 🙂 :: أداة إزالة خلفيات الصور :: الهدف من الأداة واضح >> وهو ببساطة إزالة خلفيات الصور >> والناتج صورة بخلفية شفافة بصيغة png . ولها استخدامات كثيرة في الاحتياجات العامة أو لتشذيب الصور قبل إدراجها في برنامج الأكسس مثلا .. أو .. أو .. أو .. عدد ما شئت أنا شخصيا أحتجتها في برنامجي (صانع الشهادات) لإزالة خلفيات التواقيع 🖋️📜 ثم إضافتها للبرنامج كمرفق. الأداة فكرتها بسيطة >> الإتصال بموقع remove.bg المشهور عن طريق ال API والعودة بالناتج بدون الحاجة لفتح الموقع. مفتاح الـAPI الحالي هو خاص بي ويمكنكم استخدامه مباشرة ولكنه محدود ب 50 تحويل لليوم .. في حال رغبتك بوضع مفتاحك الخاص ( وهي خدمة مجانية بالمناسبة ) يمكن تغييره في أول صفحة الكود وقد وضحت الطريقة هناك . 🙂 الملف مفتوح المصدر :: ودعواتكم الطيبة 🙂
    2 points
  37. بارك الله فيكم أخي أبو الحسن .. شكراً لكم مروركم الكريم
    1 point
  38. بعد إذن أخي @Foksh كنت قد قمت بالرد على الطلب في المرة السابقة (يبدو أنه تم حذف الموضوع السابق وأعيد نشره هنا) عموماً كان ردي على النحو التالي : يجب علينا معرفة أنه عند إجراء عملية حسابية بين حقلين لكلا منها نوع بيانات مختلف فإن أكسس يقوم بإعطاء الناتج النوع الأقوى بين الإثنين أو نوع أقوى من الإثنين ومن خلال المثال المرفق سابقاً فإن نوع الحقل Quantity كان (صحيح طويل أو Long Integer) وحقل Price كان (فردي أو Single) لذلك فقد قام الأكسس بجعل ناتج ضرب الحقلين من النوع (مزدوج أو Double) ولتوضيح معنى كلامي قمت بإرفاق المثال بعد أن أضفت إليه نموذج جديد أضفت فيه أربعة مربعات نص يتم فيها ضرب الحقل Quantity في الحقل Price أول مربع نص Auto يوضح ناتج الضرب كما هو الحال في مثالك (وفيه سيتم تحويل نوع البيانات آلياً من قبل أكسس) ومربع النص الثاني قمت فيه بتحويل الناتج إلى نوع البيانات مزدوج وفي الثالث حولته إلى صحيح طويل والرابع إلى فردي وسنلاحظ أن مربع النص المحول إلى مزدوج سيطابق ماتم تحويله آلياً وهذا يعني أن أكسس هو من قام بتحويله إلى مزدوج والذي بعده ولأني حولته إلى عدد صحيح فقد قرب الكسور إلى أقرب رقم صحيح وآخر مربع نص والذي حولناه إلى فردي فقد طابق النتيجة التي تريد الوصول لها إذا في الأخير فإن أمامك حل من إثنين - إما أن تقوم بتحويل النتيجة إلى نوع رقم فردي كما هو موضح في النموذج الذي قمت بإضافته في الثال المرفق - أو أن تقوم بتغيير نوع الحقل Quantity إلى (فردي أو Single) تحياتي برنامج الفواتير سيرفس الجديد 2026 02-08-2026 (1).accdb
    1 point
  39. مداخلة بسيطة مع الأستاذ موسى .. بما انك أخي أحمد متمسك بهذا الطريق ، فلم لا تمرر اسم الصف من خلال الوسيط OpenArgs عند فتح التقرير في الزر btnViewer !! انشئ ليبل وسمه Lbl_Class في التقرير ، واضبط تنسيقه وموضعه كما تريد . وفي حدث عند الفتح في التقرير يصبح :- Private Sub Report_Open(Cancel As Integer) DoCmd.Maximize If Not IsNull(Me.OpenArgs) Then Me.Lbl_Class.Caption = Me.OpenArgs End If End Sub وفي حدث النقر في الزر btnViewer سنعدل إجراء بسيط على جملة فتح التقرير لتصبح مثلاً للصف الأول في النموذج frm_OnlyYou1 :- DoCmd.OpenReport myrep, acPreview, , "onlyyou=true", , "الأول" وهكذا لباقي نماذجك المنفصلة لكل صف .. وهذا ملفك بعد التطبيق أما بخصوص استخدام تقرير واحد ، فالأمر بسيط .. حيث يمكن تمرير اسم الجدول كمتغير داخل استعلام ثابت لجميع الجداول ( على اعتبار ان الحقول لها أسماء ثابتة داخل الجداول كافة ) db.mdb
    1 point
  40. عاشت ايدك استاذ عبدالله مشكوره جهودك الله يحفظك ويبارك بيك تحياتي لحضرتك
    1 point
  41. جاري تعديل الملف ليشمل تحديث البيع والشراء وتحديث كمية الرصيد .... إلخ
    1 point
  42. Version 1.0.0

    29 تنزيل

    السلام عليكم ورحمة الله وبركاته يطيب لي أن أطرح بين أيديكم نتائج : 🙂 🌟 تحدي المبدعين 13 🌟 :: أدخال البيانات في جدول من عنصر ويب :: 🌟 هذا التحدي هو عبارة عن تحدي يطرح بين فترة وأخرى على جروب الواتسأب مجتمع اكسس جروب وكان هذا التحدي هو التحدي رقم 13 وكان موضوع التحدي هو إدخال وتعديل البيانات في الجداول عن طريق عنصر ويب داخل نموذج . 🤗 المشاركين : لدينا 4 مشاركات رائعة من 4 مشاركين متميزين : - الأستاذ/ أبو إلين (مشاركة). - المهندس/ موسى الكلباني (مشاركة). - أخوكم/ فادي موسى - Foksh (مشاركة). - الأستاذ/ أبو ناصر - AbuNassir (مشاركة). :: صور المشاركات :: :: الأستاذ أبو إلين :: :: المهندس موسى الكلباني :: :: أخوكم فادي - Foksh :: :: أبو ناصر - AbuNassir :: ⭐ رابط الانضمام لمجموعة الواتسأب : https://drive.google.com/drive/folders/1Ku3j_1TBQ03M199RBAO86DqDcFKcgAk3?usp=drive_link ⭐ رابط جميع ملفات التحديات السابقة 🌟 : https://drive.google.com/drive/folders/1xOqWpWiLqKacPTG2MQDrohJp5DKDRTY2?usp=drive_link 🌸😊 كل التوفيق للجميع 😊🌸
    1 point
  43. اعرض الملف هدية لمنتدى اوفيسنا { بسم الله الرحمن الرحيم } اخواني واساتذتي واعضاء منتدى اوفيسنا .... لاحظت ان هنالك الكثير من الأخوة يريدون يومية مبيعات ومصاريف و ان يكون هنالك ترحيل يومي حسب التاريخ وطباعة للصفحه احببت ان اضيف البرنامج ويوجد بداخله علم فلسطين وبداخل العلم يوجد ترحيل لمجموع المبيعات و ترحيل لمجموع المصاريف وترحيل لصفحة حسب التاريخ وزر مسح البيانات بعد الترحيل وزر طباعة الصفحه لمن اراد ان يستفيد وهو مفتوح وجاهز لكل من احب ان يعدل عليه .... واي استفسار احبتي انا جاهز .... لا تنسوني من صالح دعائكم بظهر الغيب هدية لمنتدى اوفيسنا.rar صاحب الملف ابو صلاح برهومه تمت الاضافه 04 ديس, 2016 الاقسام قسم الإكسيل
    1 point
  44. 1 point
  45. وعليكم السلام ورحمة الله وبركاته اولا جزاك الله خيرا على ما قدمت وجعله الله في ميزان حسناتك ثانيا ملاحظة بسيطة في واجهة الدخول - قم بتعطيل علامة × من الواجهة لانه حاليا يمكن الدخول الى الملف بدون كتابة الاسم ولا كلمة المرور ولا الايميل ولا الواتس استخذام فكرة القوائم في الفورم حقيقة رائعة جدا واستفاذة جيدة من خصائص الاكسل باقي الملف يحتاج الى وقت للاطلاع لعل في وقت لاحق ان شاء الله ومن خلال الملاحظة السريعة واضح ان هناك جهذ كبير مبذول به تحياتي
    1 point
  46. وعليكم السلام بارك الله فيك وزادك الله من فضله
    1 point
×
×
  • اضف...

Important Information