بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
4990 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
237
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Foksh
-
شريط الريبون ⭐ هدية ~ صانع أشرطة الريبون 2026 ⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
بارك الله فيكم أخي أبو الحسن .. شكراً لكم مروركم الكريم -
أخواني وأساتذتي ومعلمينا ( دون استثناء ) .. بعد البحث في المنتدى عن مواضيع تتحدث عن أداة تقوم بإنشاء شريط ريبون خاص بالمستخدم ، لم أجد سوى موضوع واحد ، ولكن بطريقة إلى حد ما تحتاج المهارة والتدخل اليدوي في إنشاء الشريط . لذا وبفضل الله تعالى وكرمه توصلت الى فكرة تفاعلية ومرنة إلى أبعد حد يخطر ببال المستخدم . 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 الملف المستخدم للتجربة هو من أحد المشاريع في المنتدى ، من باب التجربة ليس إلا ..
-
قوائم مختصرة ⭐ هدية ~ صانع القوائم المختصرة 2026 ⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
بهذا النجاح و وصول عدد المشاهدات لـِ 6 آلاف قراءة ، كونوا الليلة على موعد بإطلاق المفاجأة الجديدة 😇 .- 53 replies
-
- 1
-
-
أضف إلى ذلك أيضاً حرف "ئ ، ى ، ؤ ، ء" الألف المكسورة وغيرها أو حتى التاء المربوطة أو الهاء المربوطة .. فمثلاً ، كم حرف لم يأت ذكره في الآية الكريمة :- وعلى الله فليتوكل المؤمنون
-
استطلاع 📍 دعوة لإبداء الرأي في شريط الاوامر - الريبون - Ribbon
Foksh replied to Foksh's topic in قسم الأكسيس Access
اقترب موعد إطلاق النسخة الأولى من أداة صانع شريط الريبون 😎 كونوا على الموعد .. قريباً ⏳ -
طلب مساعدة _ اظهار النص بدلا من المعرف في التقرير
Foksh replied to The best's topic in قسم الأكسيس Access
أرجو إلغاء اختيار من المشرفين أو صاحب الموضوع ، لحين حصول صاحب الموضوع على إجابة شافية ، بعد تصويب أوضاعه .. متابع -
طلب مساعدة _ اظهار النص بدلا من المعرف في التقرير
Foksh replied to The best's topic in قسم الأكسيس Access
هذا لأنك تستعمل الاستعلام مصدر للسجلات في النموذج Frm_Data ، والتقرير Query_Data .. ما اقترحه عليك ، امسح مصدر سجلات التقرير ولا تجعله يعتمد على الاستعلام Query_Data مباشرة .. بل على استعلام الـ SQL السابق ، وجرب بعدها التنقل بين السجلات !! -
أخي أحمد ، انت تفكر في شيء جميل قد يساعدك على تقليل عدد المكونات من التقارير لديك .. ولكن إن جئت لعدد الجداول في ملفك المرفق ، هنا عدنا لفكرة الجدول الواحد مع إضافة حقل الصف له لتميز الطلاب بصفوفهم .. في الصورة المرفقة لا أعلم آلية عملك وطريقة بنائك للتقارير ، فإن كانت كما في مثالك المرفق السابق تستند الى حقول ثابتة ، فأعتقد انني تقدمت لك بحل يتوافق مع مرفقك وليس مع مشروعك لأنني لا اعلم شكل ولا بنية مشروعك ... في فكرتي اعتمدت على تمرير معامل الصف ومصدر بيانات التقرير عند فتح التقرير الوحيد لـ 3 صفوف ( كل صف في جدول مختلف ) .
-
مداخلة بسيطة مع الأستاذ موسى .. بما انك أخي أحمد متمسك بهذا الطريق ، فلم لا تمرر اسم الصف من خلال الوسيط 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
-
للتوضيح ، حيث ما تم تعديله أنه عند القيام بعملية بيع ، تقوم المعادلة حالياً بإعادة إضافة الكمية المكتوبة حالياً إلى الرصيد المحسوب في ورقة المخزن ، فيسترجع التحقق من الصحة الرصيد الفعلي المتوفر قبل إدخال الحركة الحالية وتكتمل العملية بنجاح عند إدخال 5 أو 4 أو أي رقم ضمن حدود الرصيد المتوفر . عذراً على التأخر في اكتشاف الخلل .. والشكر موصول للأستاذ @عبدالله بشير عبدالله على مشاركته وملاحظاته معنا .
-
طيب ، شو رأيك نغير الخطة شوي ؟؟ رح نحتاج إلى إعادة إضافة الكمية الحالية E3 إلى نتيجة الـ VLOOKUP لكي نتمكن من المقارنة مع الرصيد المتاح قبل الحركة الحالية . يعني استبدل معادلة Data Validation في العمود E بالمعادلة التالية :- =AND($B3<>"", $D3<>"", OR($D3="شراء", $E3 <= IFERROR(VLOOKUP($B3, المخزن!$B$3:$I$800, 8, FALSE), 0) + IF($D3="بيع", $E3, 0))) جربها وأعطيني النتيجة اذا سمحت ..
-
التفاته جيدة أستاذ عبدالله ، لم اقم بتجربتها فعلاً ، حيث ان خبرتي حديثة العهد في مجتمع اكسل . ونتعلم منكم فعلاً بعض الأمور التي أجهلها ، فشكراً لكم من القلب 🤗 . وهنا أرجح أجابتكم إن كانت ترضي صاحب الموضوع أخي @كمال على طارق .
-
ما الفائدة من نشر البرنامج هنا إذا !!! وكما ان رقم الجوال مخالف لسياسة المنتدى.
-
طلب مساعدة _ اظهار النص بدلا من المعرف في التقرير
Foksh replied to The best's topic in قسم الأكسيس Access
جرب استعمال الاستعلام التالي كمصدر للتقرير :- SELECT Tb_personal_data.rkm_mlf, Tb_personal_data.cod_mothaf, Tb_personal_data.student_name, Tb_personal_data.kwmy, Tb_personal_data.tr_milad, Tb_personal_data.mkan_milad, Tb_personal_data.mkan_scan, Tb_personal_data.gns, Tb_Dyana.Dyana AS dyana, Tb_Gnsya.Gnsya AS gnsya, Tb_Hala_Egtmaia.Hala_Egtmaia AS Hala_Egtmaia, Tb_personal_data.rkm_hatef, Tb_personal_data.rkm_tamin, Tb_Mrhla.Empo_Mrhla AS Mrhla, Tb_Gob.The_Gob AS Gha_Aml, Tb_Functional_data.noa_taeen, Tb_Functional_data.tr_taeen, Tb_Functional_data.tr_estlam_aml, Tb_Functional_data.mokf_aml, Tb_Functional_data.mgmoa_taleem, Tb_Functional_data.wathifa, Tb_Functional_data.rkm_krar, Tb_Functional_data.tr_krar, Tb_Functional_data.kader, Tb_Functional_data.mada_tdrees, Tb_Qualification_data.noa_moahel, Tb_Qualification_data.drga_elmia, Tb_Qualification_data.moahel, Tb_Qualification_data.gha_hslo, Tb_Qualification_data.tr_hsol, Tb_Qualification_data.tkdeer, Tb_Additional_data.mkr_aml, Tb_Additional_data.rkm_nekba, Tb_Additional_data.rkm_seha, Tb_Additional_data.tr_maash, Tb_Additional_data.mokf_tgneed, Tb_Additional_data.emil, IIf(Mid([kwmy],1,1)=2,19,20) & "" & Mid([kwmy],2,2) & "/" & Mid([kwmy],4,2) & "/" & Mid([kwmy],6,2) AS Tarik_Milad FROM (((((((Tb_personal_data LEFT JOIN Tb_Dyana ON Tb_personal_data.dyana = Tb_Dyana.Dyana_ID) LEFT JOIN Tb_Gnsya ON Tb_personal_data.gnsya = Tb_Gnsya.Gnsya_ID) LEFT JOIN Tb_Hala_Egtmaia ON Tb_personal_data.Hala_Egtmaia = Tb_Hala_Egtmaia.Egtmaia_ID) LEFT JOIN Tb_Functional_data ON Tb_personal_data.rkm_mlf = Tb_Functional_data.rkm_mlf_Func) LEFT JOIN Tb_Mrhla ON Tb_Functional_data.Mrhla = Tb_Mrhla.Mrhla_ID) LEFT JOIN Tb_Gob ON CStr(Tb_Functional_data.Gha_Aml) = CStr(Tb_Gob.Gob_ID)) LEFT JOIN Tb_Additional_data ON Tb_personal_data.rkm_mlf = Tb_Additional_data.rkm_mlf_Addi) LEFT JOIN Tb_Qualification_data ON Tb_personal_data.rkm_mlf = Tb_Qualification_data.rkm_mlf_Qual; -
عمل جميل تُشكر على طرحه .. وحبذا لو كان مصحوباً بشرح كافي عن طريقة استخدامه اخي الكريم
-
طلب مساعدة _ اظهار النص بدلا من المعرف في التقرير
Foksh replied to The best's topic in قسم الأكسيس Access
هذا لأنك تستعمل الكومبوبوكس داخل الجداول ، والأصل ان يكون حقل الجنسية = رقمي ، وبالتالي العلاقات بين الجداول ستكون كفيلة بحل هذه المشكلة وجلب قيمة 1 من جدول الديانة نفسه ( كما ذكرت سابقاً حتى لو تغيرت معك التسميات ، فسيتم تغييرها في جميع السجلات في جميع الجداول التي يوجد بها هذا الحقل ) . -
طلب مساعدة _ اظهار النص بدلا من المعرف في التقرير
Foksh replied to The best's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته .. أرى أنه من الأفضل والأدق برمجياً ، هو ربط الجداول باستخدام المفتاحين . فالأفضل هو تعديل حقل Educa_Stag في جدول Tb_School ليخزن رقم المرحلة Mrhla_ID بدلاً من النص . فالأصل فعلاً هو أن تكون القيم في الجداول هي معرف الحقل من جدول آخر ، وليس قيمته النصية ، فهذا أضمن وأسلم عند التعديل على المسميات . فمثلاً لو كانت القيمة في أحد الجداول = اعدادى ، وقمت يوماً ما بتصحيح الإسم ليصبح إعدادى أو اعدادي فستجد الكثير من المشاكل قد بدأت بالظهور عندما يكون الشرط نصي مثل اعدادى القديمة ... إلخ . ولكن وبما أنني لا أريد أن أعبث بتصميمك . فإليك الحل ببقاء تصميمك وفكرتك كما هي بحيث . كومبوبوكس جهة العمل Gha_Aml تم تعديله ليصبح :- SELECT Tb_School.School_ID, Tb_School.School, Tb_School.Educa_Stag FROM Tb_School INNER JOIN Tb_Mrhla ON Tb_School.Educa_Stag = Tb_Mrhla.Empo_Mrhla WHERE (((Tb_Mrhla.Mrhla_ID)=[Forms]![Frm_Data]![Form1].[Form]![mrhla])) ORDER BY Tb_School.School_ID; وفي كومبوبوكس نوع المرحلة ، استخدم الحدث التالي بعد التحديث له :- Private Sub mrhla_AfterUpdate() Me.Gha_Aml = Null Me.Gha_Aml.Requery End Sub ملفك بعد التعديلات أعلاه :- Personnel_affairs.zip -
يمكننا الإنتظار مشاركات جديدة .. فلا تستعجل بإغلاق الموضوع باختيار الإجابة 🙂
-
طيب .. رغم أن الطلب تم تحقيقه من خلال 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
-
لم أفهم المشكلة في المطلوب والتنفيذ .. فلو أدخلت قيمة أكبر من المتاح في رصيد الصنف في المخزن ، سيظهر لك رسالة التنبيه وستمنع ادخال الكمية 🤔 إلا إذا كان لك طلب آخر ولم توضحه جيداً أخي الكريم . علك توضح بشكل أكثر تفسيراً لمطلبك حتى لو كان شرحك بـ 100 سطر 😇 أو قد نجد مداخلة من أحد الأساتذة والأخوة بالتوضيح والحل دون استخدام الأكواد !!!