بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation since 09/27/25 in مشاركات
-
::: السلام عليكم ورحمة الله وبركاته ::: أسمحولي أن أقدم لكم هذه الهدية 🎁 البسيطة والمميزة والرائعة من مميزات هذا الإضافة: - عرض الملاحظات المهمة والتذكيرات مثل ( إجتماع ، اختبار ، تدوين أفكار ، كتابة مسودات، التذكير بالمواعيد ، .... الخ ) على واجهة برنامجك. - تتوائم مع البرامج ذوات المستخدمين المتعددين (كل مستخدم بملاحظاته الخاصة به). - تصميم رائع وألوان جميلة . - سهلة الاستخدام . رابط الشرح على اليوتيوب : تحميل الملف: Notes.accdb :: ولا تنسوني ووالدي من صالح دعواتكم 🙂 ::9 points
-
السلام عليكم بريمج صغير في حجمه وادواته .. ولكنه محكم ويفي بمتطلبات عملية الحضور والانصراف واحتساب ساعات ودقائق العمل . ومع ذلك هو قابل للتطوير واضافة خدمات اخرى مثل الغيابات والاجازات والعطل والاستئذان ونحوها ومثل جعل شاشة الحضور منفصلة عن البرنامج الاساسي واشياء اخرى كثيرة لا يمكن حصرها المهم ان العمل هذا يفي بالحاجات الأساسية والضرورية ....................... عملية التحضير تتم اما بادخال المعرف يدويا ثم النقر على انتر وإما استخدام قارىء الباركود كل ذلك تم تهيئته في البرنامج .. بطاقات وكشوف الباركود المطلوب قبل العمل على البرنامج هو نسخ ملف اداة الباركود barcodex.ocx الى نظام وندوز وتسجيلها تم العمل على وندوز 64 وأوفيس 32 بت الملف موجود ضمن المرفق ChkInOut.rar6 points
-
السلام عليكم و رحمة الله و بركاتة الزملاء الكرام وأعضاء المنتدى الموقرين، تحية طيبة وبعد، نتشرف بإبلاغكم، بفضل الله وتوفيقه، اكتمال المرحلة التطويرية النهائية لتطبيقنا المبارك: [القرآن الكريم]. نأمل أن يكون هذا العمل وقفاً رقمياً مستداماً، وأن يكتب أجره لمن ساهم في إنجازه مادياً وتقنياً. دعوة للمراجعة الفنية وضمان الجودة (Quality Assurance): قبل الإطلاق الرسمي والتعميم، ندعوكم، خاصةً من ذوي الخبرة التقنية والمستخدمين المتمرسين، لتحميل النسخة التجريبية والمشاركة في مراجعتها بدقة وعمق. إن الهدف الجوهري من هذه المرحلة هو: ضمان جودة الأداء: والتأكد من توافق التطبيق مع المعايير التقنية واحتياجات شرائح المستخدمين المتنوعة. تحديد نقاط التحسين: واكتشاف أي مواطن خلل أو قصور فني ووظيفي يتطلب تعديلاً. تحقيق التكاملية: للوصول إلى أفضل تجربة مستخدم ممكنة. نؤكد استعداد فريق العمل لدمج وتطبيق الملاحظات البنّاءة التي تصب في مصلحة الهدف العام للتطبيق، مع الالتزام التام بإعادة نشر النسخة المحسّنة والموثقة لجميع المساهمين والجمهور، تحقيقاً لمبدأ "الصدقة الجارية والمنفعة العامة". ختاماً، ندعو المولى عز وجل أن يتقبل هذا الجهد المشترك وأن يجعله في ميزان حسنات كل من شارك في بناء هذا العمل وفي تحسينه ونشره. مع خالص التقدير والامتنان، حسين الحمادي ابو يوسف القران الكريم.xlsm5 points
-
ساعة بعقارب كان طلبها استاذنا @الحلبي وأضفت عليها أصوات للثواني يعمل الاختيار الاول عند تشغيل الفورم ويمكن تغيير صوت الثواني من الليستبوكس .كذلك صوت الساعة(كوكو) يعمل مع ظهور صورة عصفور بعدد رنات تساوي عدد الساعة الصحيح مثلاً الساعة 01:00:00 رنة واحدة وظهور العصفور مرة واحدة ..... وهكذا الى الساعة 12:00:00 بعدد 12 رنة وظهور العصفور 12 مرة . اليكم المرفق كامل مفتوح المصدر . Cuckoo_Clock.rar5 points
-
السلام عليكم استبدل هذا Private Sub UserForm_Initialize() Call showinlistbox End Sub بهذا Private Sub UserForm_Initialize() TextBox25 = Val(Sheets("table").Cells(Rows.Count, 1).End(xlUp).Value) Call showinlistbox End Sub TextBox25 = Val(Sheets("table").Cells(Rows.Count, 1).End(xlUp).Value)4 points
-
و عليكم السلام ورحمة الله و بركاته انشيء ملف جديد و وأضبطه كما تريد من حيث الحجم و الهوامش و كل شيء بعدين احفظ الملف باسم مثلا A4 وبصيغة Excel Template (*.xltx) الحفظ يكون في المسار التالي C:\Users\[اسم المستخدم]\Documents\Custom Office Templates لما تنشئ ملف جديد اختار القالب اللي أنت عملته اللي هو A44 points
-
السلام عليكم ورحمة الله أعتقد أن المعادلة (وهي معادلة صفيف أي يجب تأكيدها بـ CTRL+SHIFT+ENTER) تكون بالشكل التالي: =IFERROR(INDEX('01'!C$7:C$1020; SMALL(IF(('01'!O$7:O$1020=TRANSPOSE({"محول إلى";"محولة إلى"})); ROW('01'!O$7:O$1020)-6); ROWS($A$1:A1))); "") أو =IFERROR(INDEX('01'!C$7:C$1020, SMALL(IF(('01'!O$7:O$1020=TRANSPOSE({"محول إلى","محولة إلى"})), ROW('01'!O$7:O$1020)-6), ROWS($A$1:A1))), "") والله أعلم4 points
-
السلام عليكم ورحمة الله وبركاته وبها نبدأ يمكنك استخدام خاصية "البحث والاستبدال" (Ctrl + H) مع تنسيق خاص لتحقيق ذلك. 1. اضغط Ctrl + H لفتح نافذة "استبدال". 2. أدخل القيمة التي تبحث عنها في حقل "البحث عن". 3. اترك حقل "استبدال بـ" فارغًا. 4. اضغط على زر "تنسيق" (Format) في قسم "استبدال بـ". 5. اختر لون التعبئة (Fill color) الذي تريده. 6. اضغط "موافق" (OK). 7. اضغط "استبدال الكل" (Replace All). سيتم تلوين جميع الخلايا التي تحتوي على القيمة التي تبحث عنها باللون الذي اخترته.4 points
-
مشاركة بعد اذن اساتذتي . تفضل استاذ @عالم الهندسة مرفق كامل ... اذا يلبي طلبك !!! .ووافني بالرد عالم الهندسة-1.rar4 points
-
4 points
-
وعليكم السلام ورحمة الله وبركاته جرب التعديل التالي الشرقية1.xlsm3 points
-
وعليكم السلام ورحمة الله وبركاته اذا اردت الاسنغناء عن الكمبوبكس ويتم الاختيار المتعدد بواسطة لستبوكس 2فلتر.xlsm3 points
-
3 points
-
إذا تطابق اللون والوصف والمقاس سيتم ألغاء الإضافة Private Sub CommandButton1_Click() Application.ScreenUpdating = False Application.EnableEvents = False Application.Calculation = xlCalculationManual Dim WS As Worksheet, rng As Range Dim lastRow As Long Set WS = Sheet1 If Me.TextBox4 = "" Then: Exit Sub '======= lastRow = WS.Cells(WS.Rows.Count, "A").End(xlUp).Row For i = 2 To lastRow ' äÈÏà ãä ÇáÕÝ 2 assuming ÇáÕÝ ÇáÃæá ÚäÇæíä If WS.Cells(i, 2).Value = Me.TextBox1.Value _ And WS.Cells(i, 3).Value = Me.TextBox7.Value _ And WS.Cells(i, 4).Value = Me.TextBox2.Value _ Then MsgBox "ÇáÈíÇäÇÊ ÇáÊí ÊÍÇæá ÃÖÇÝÊåÇ ãæÌæÏÉ ãä ÞÈá", vbOKOnly, "ÈíÇäÇÊ ãßÑÑÉ" Exit Sub End If Next i '======= Set rng = WS.Range("a2100").End(xlUp).Offset(1, 0) rng.Offset(0, 0).Value = Me.TextBox4.Value rng.Offset(0, 1).Value = Me.TextBox1.Value rng.Offset(0, 3).Value = Me.TextBox2.Value rng.Offset(0, 5).Value = Me.TextBox3.Value rng.Offset(0, 6).Value = Me.TextBox5.Value rng.Offset(0, 7).Value = Me.TextBox6.Value rng.Offset(0, 2).Value = Me.TextBox7.Value For i = 1 To 7 Controls("textbox" & i).Text = Empty Next i Application.ScreenUpdating = True Application.EnableEvents = True Application.Calculation = xlCalculationAutomatic End Sub3 points
-
Microsoft Access 2019 Programming by Example with VBA, XML, and ASP https://www.mediafire.com/file/ommdwpjia97lgrq/Microsoft+Access+2019+Programming+by+Example+with+VBA,+XML,+and+ASP.pdf/file3 points
-
وعليكم السلام ورحمة الله وبركاته الشرط '01'!O$7:O$1020="محول إلى" مكرر مرتين الشرط الاول اتركه كما هو ومحول الى الثانية غيرها الى محولة إلى =IFERROR(INDEX('01'!C$7:C$1020; SMALL(IF(('01'!O$7:O$1020="محول إلى")+('01'!O$7:O$1020="محولة إلى"); ROW('01'!O$7:O$1020)-ROW('01'!O$7)+1); ROWS($A$1:A1))); "") ويمكن تحسين المعادلة الى =IFERROR(INDEX('01'!C$7:C$1020; SMALL(IF(('01'!O$7:O$1020={"محول إلى","محولة إلى"}); ROW('01'!O$7:O$1020)-ROW('01'!O$7)+1); ROWS($A$1:A1))); "") اذا كان اصدار الاكسل 2021 او 365 استخدم المعادلة التالية =FILTER('01'!C$7:C$1020; ('01'!O$7:O$1020="محول إلى") + ('01'!O$7:O$1020="محولة إلى"); "") ان لم تؤدى المعادلة طلبك ارفق ملف به بعض البيانات3 points
-
3 points
-
وعليكم السلام ورحمة الله وبركاته .. بدايةً وأنت تعلم أنه كثيراً ومراراً وتكراراً ننصح بأن نبتعد عن التسميات العربية للعناصر والمكونات داخل قاعدة البيانات .. أيضاً بالنسبة لي شخصياً ( والأمر ليس ملزماً ) أن لا أجعل القوائم المنسدلة ( الكومبوبوكس ) داخل حقول الجداول ، بل داخل النماذج بحيث يكون بدلاً من اسم العميل داخل كل حقل في الجدول ، أن يكون رقمه المعرف به . وذلك سيعكس عليك عند انشاء الاستعلامات الإحصائية والتقارير السهولة في الحصول على المعلومة . ناهيك عن أن حجم السجل مع التكرار سيكون أكبر من القيمة الرقمية ( كمعرف رقم المعميل على سبيبل المثال ) . على العموم .. المهم في الموضوع هو أنني قمت بإنشاء استعلام لجمع الفواتير لكل عميل ، واستعلام آخر لجمع السندات لكل عميل ، واستعلام أخير يأتيك بالتفاصيل داخل التقرير ، في المرفق التالي ، حيث يتم اختيار اسم العميل ثم زر افتح تقرير العميل . date.zip3 points
-
لحضرتكم بعض الارقام للعمل لوحه المفاتيح مفاتيح الأسهم KeyCode = 37 ' السهم لليسار ← KeyCode = 38 ' السهم للأعلى ↑ KeyCode = 39 ' السهم لليمين → KeyCode = 40 ' السهم للأسفل ↓ مفاتيح الوظائف KeyCode = 112 ' F1 KeyCode = 113 ' F2 KeyCode = 114 ' F3 KeyCode = 115 ' F4 KeyCode = 116 ' F5 KeyCode = 117 ' F6 KeyCode = 118 ' F7 KeyCode = 119 ' F8 KeyCode = 120 ' F9 KeyCode = 121 ' F10 KeyCode = 122 ' F11 KeyCode = 123 ' F12 مفاتيح التحكم KeyCode = 27 ' ESC KeyCode = 13 ' Enter KeyCode = 32 ' Space KeyCode = 9 ' Tab KeyCode = 8 ' Backspace KeyCode = 46 ' Delete KeyCode = 36 ' Home KeyCode = 35 ' End KeyCode = 33 ' Page Up KeyCode = 34 ' Page Down KeyCode = 45 ' Insert مفاتيح الأرقام KeyCode = 48 ' 0 KeyCode = 49 ' 1 KeyCode = 50 ' 2 KeyCode = 51 ' 3 KeyCode = 52 ' 4 KeyCode = 53 ' 5 KeyCode = 54 ' 6 KeyCode = 55 ' 7 KeyCode = 56 ' 8 KeyCode = 57 ' 93 points
-
وعليكم السلام ورحمة الله وبركاته .. معلمنا الفاضل ، أسعد الله مسائك . قد مررت بهذا السؤال مسبقاً وكنت لا أعلم سببه ، ولكني اكتشفت السبب بالصدفة 😅 موضحاً في الصورة التالية :- وأعتقد أن السبب في هذا يعود الى أن الجداول مرتبطة بـ SQL Server أو قاعدة بيانات خارجية . والمرجح عندي سابقاً لأنني كنت أقوم بتثبيت نسختين من أوفيس ( 64 بلإصدار أعلى = 2019 ، و 32 بإصدار 2010 ) فقد يكون هو أحد الأسباب . مع أنني غير متأكد من الإحتمال الثاني حقيقةً . هذا والله أعلم3 points
-
وعليكم السلام ورحمة الله وبركاته .. بما أن الأستاذ @منتصر الانسي قد فتح باب المشاركات مع المعلم @ابوخليل ، اسمحولي أشارك بفكرة ثانية .. حيث أمكنت المستخدم من التوزيع العشوائي أو المتسلسل ED.zip3 points
-
🧹 أداة تنظيف الصور – الحل الذكي لمشكلة تضخم قواعد بيانات Access بسبب تراكم الصور في عالم تطبيقات Microsoft Access، تعتبر إضافة الصور إلى النماذج والتقارير أمرًا شائعًا جدًا، خصوصًا عندما يرغب المطور في تصميم واجهة جذّابة ومنظمة بصريًا. تُستخدم الصور عادةً في الأزرار، الشعارات، الرموز التوضيحية، الخلفيات، وحتى في عناصر التحكم الخاصة بالعروض البصرية. لكن مع مرور الوقت وتعدد عمليات التطوير والتحديث، تبدأ مشكلة خفية وخطيرة في الظهور… وهي تراكم الصور غير المستخدمة داخل قاعدة البيانات. 📸 كيف تبدأ المشكلة؟ خلال عملية تصميم وتعديل النماذج أو التقارير، يقوم المطور أحيانًا بتجربة أكثر من صورة أو شعار، أو ربما يستبدل صورة بأخرى جديدة لتحسين المظهر. لكن Access – بحكم طريقة تخزينه للموارد – لا يحذف الصور القديمة تلقائيًا من قاعدة البيانات. وبالتالي تظل تلك الصور غير المستخدمة محفوظة داخل جداول النظام، وتحديدًا في جدول MSysResources، حتى بعد حذف العنصر الذي كان يستخدمها. ومع مرور الوقت، تتراكم هذه الصور بشكل كبير جدًا، خصوصًا في المشاريع التي تشهد تحديثات مستمرة أو تتضمن عددًا كبيرًا من النماذج والتقارير. قد لا يلاحظ المستخدم أو المطور ذلك في البداية، لكن النتيجة تظهر لاحقًا بشكل واضح من خلال تضخم غير مبرر في حجم ملف القاعدة. ⚠️ ما هي آثار تراكم الصور على قاعدة البيانات؟ زيادة حجم الملف بشكل كبير: قد تتضاعف أحجام قواعد البيانات إلى أضعاف حجمها الطبيعي بسبب وجود صور غير مستخدمة. في بعض الحالات، يمكن أن يتجاوز حجم القاعدة الحد الأقصى المسموح به أو يؤدي إلى بطء في الأداء العام. بطء في الأداء عند الفتح أو الحفظ: كلما زاد حجم ملف القاعدة، أصبح فتحها أو حفظها أبطأ. العمليات التي كانت تستغرق ثوانٍ قد تبدأ في استهلاك وقت أطول بكثير. احتمال تلف القاعدة أو ظهور أخطاء: قواعد Access الكبيرة والمعقدة أكثر عرضة للأخطاء الداخلية، خصوصًا عند العمل في بيئة متعددة المستخدمين أو عبر الشبكة. الصور الزائدة تمثل عبئًا إضافيًا على الذاكرة الداخلية للملف (MDB أو ACCDB). صعوبة النسخ الاحتياطي أو النقل: القواعد الكبيرة تحتاج وقتًا أطول للنسخ والتحميل، وقد تواجه مشاكل أثناء النقل بين الأجهزة أو عبر البريد الإلكتروني. تأثير سلبي على تجربة المستخدم: في النظم التي تعتمد على سرعة الاستجابة وسلاسة التشغيل، أي تأخير أو ثقل في القاعدة يمكن أن يسبب انزعاجًا للمستخدمين أو العملاء النهائيين. 🔍 لماذا يصعب تنظيف هذه الصور يدويًا؟ رغم أن الصور المخزنة في MSysResources يمكن رؤيتها بطريقة غير مباشرة، إلا أن التعرف على الصور المستخدمة فعليًا في النماذج والتقارير عملية معقدة جدًا. فهي تتطلب المرور على عشرات وربما مئات العناصر داخل القاعدة، وفحص خصائص كل عنصر لمعرفة ما إذا كان يستخدم صورة معينة أم لا. وهذا العمل اليدوي غير عملي، ويحتاج وقتًا طويلًا وخبرة تقنية متقدمة جدًا في Access. كذلك، حذف الصور من جدول النظام يدويًا دون دراسة دقيقة قد يؤدي إلى كسر الروابط الداخلية، مما يتسبب في فقدان بعض الصور المستخدمة فعلاً داخل الواجهة أو التقارير. وبالتالي، لا توجد طريقة آمنة وسهلة لتنظيف هذه الملفات يدويًا. 💡 الحل: أداة تنظيف الصور هنا يأتي دور أداة تنظيف الصور التي تم تطويرها خصيصًا لحل هذه المشكلة بطريقة ذكية وآمنة. بدلاً من محاولة التعامل مع المشكلة يدويًا أو الاكتفاء بضغط القاعدة بشكل سطحي، تعمل الأداة على تحليل قاعدة البيانات المستهدفة بالكامل وتحديد الصور غير المستخدمة بدقة متناهية. تقوم الأداة بعملية فحص داخلية دقيقة لجميع النماذج، التقارير والعناصر، لاستخراج جميع الصور التي يتم استخدامها فعلاً داخل الواجهة. بعد ذلك، تجري مقارنة ذكية مع الصور المخزنة فعليًا داخل الجدول النظامي المسؤول عن الموارد، لتحديد الصور التي لم تعد مستخدمة. وبمجرد تحديد الصور الزائدة، تقوم الأداة بحذفها بطريقة فنية تضمن الحفاظ على سلامة باقي المرفقات والعناصر. بهذا الشكل، يتم تنظيف قاعدة البيانات من الملفات الزائدة دون أي تأثير على التصميم أو المحتوى. ⚙️ سهولة الاستخدام رغم أن العملية معقدة في الخلفية، إلا أن تجربة المستخدم في الأداة بسيطة للغاية. كل ما يحتاجه المستخدم هو اختيار القاعدة المستهدفة، ثم تترك الأداة لتقوم بعملها تلقائيًا. خلال دقائق معدودة، يتم فحص وتنظيف القاعدة بالكامل، لتخرج في النهاية بملف أخف وأسرع وأكثر استقرارًا. 🚀 النتائج والفوائد تقليل حجم القاعدة بشكل كبير: في أغلب الحالات، يتم خفض الحجم بنسبة تتراوح بين 20% إلى 60%. تحسين سرعة الفتح والحفظ: يصبح التعامل مع القاعدة أسرع وأكثر سلاسة. زيادة استقرار النظام: يقل احتمال ظهور أخطاء أو تلف في القاعدة بسبب البيانات الزائدة. تحسين أداء النسخ الاحتياطي والنقل: القاعدة الأصغر أسهل في التخزين والمشاركة. تنظيف احترافي بدون تدخل يدوي: كل شيء يتم بطريقة آلية وآمنة. 🔒 الأمان قبل كل شيء تم تصميم الأداة لتتعامل بحذر شديد مع موارد النظام، فهي لا تقوم بأي حذف عشوائي أو تجريبي. كل عملية حذف تتم بعد التأكد من أن الصورة غير مستخدمة فعليًا في أي عنصر داخل القاعدة. كما يمكن تشغيل الأداة على نسخة احتياطية من القاعدة لضمان أمان إضافي في بيئة الإنتاج. 🧠 خلاصة مع مرور الوقت، يمكن أن تتحول قواعد بيانات Access إلى بيئة مزدحمة بالصور غير الضرورية التي تبطئ الأداء وتزيد الحجم وتعرض النظام للخطر. لكن باستخدام أداة تنظيف الصور، يمكن التخلص من هذه المشكلة نهائيًا بطريقة احترافية وآمنة، دون الحاجة لأي تدخل يدوي أو مهارات تقنية متقدمة. إنها الأداة المثالية لكل مطور أو مستخدم يريد الحفاظ على قاعدة بياناته نظيفة، خفيفة وسريعة — تمامًا كما كانت في يومها الأول. CleanPhotoGallery.zip2 points
-
السلام عليكم نهنىء انفسنا و حبيبنا محب العقيدة @محب العقيدة اهلا وسهلا بك ضمن مجموعة الخبراء زادك الله علما ورفعة ونفع بك2 points
-
وعليكم السلام ورحمة الله وبركاته المشكلة الرئيسية هي في منطق البحث البحث عن الأعمدة يتم من الصف 3 (G3:U3) ولكن البيانات تبدأ من الصف 4 الإزاحة (offset) غير صحيحة عند استخراج القيم اليك التعديل تنسيق ترتيب الجداول الكمية مع اسم الصنف مع التاريخ التابع له - Copy - Copy.xlsm2 points
-
السلام عليكم ورخمة الله وبركانه " 🌟 نأمل في المرات القادمة إرفاق الملف بدون كلمة مرور للصفخات ومحرر الاكواد لتتمكن مشاركته بشكل أوسع من قبل الزملاء. شكراً لتفهمك! 🤝" المشكلة في ملفك في استدعاء رقم التسجيل صفحة قوائم التلاميذ - تم عملها بكود تلقائي وان اردت معادلة استخذم المعادلة التالية وهي نفس المعادلة تطبق على كل الشيتات والتغيير الوحيد فيها يتم في خلية اختيار القسم او الفوج =IFERROR(INDEX(Data!B:B;AGGREGATE(15;6;ROW(Data!$Z$4:$Z$1000)/(Data!$Z$4:$Z$1000=$C$6);ROW(A1)));"") الملف التقرير اليومي لمستشار التربية - ثانوي - 12.5.0.xlsm2 points
-
أخي طاهر ، هل هذا ما تريده ؟؟ إذا كان هو فعلاً ، فانظر ماذا سنفعل . أولاً انشاء مربع نص ولنفترض اسمه = txtRowNumber ، وسنجعل قيمته أو مصدر بياناته = "=1" ليقوم بعد السجلات الحالية في التقرير . ( الإضافات حتى لا نقوم بتعديل أي تركيبة في تقريرك وللتوضيح طبعاً ) ثانياً إنشاء مربع نص أيضاً للتاريخ ولنفترض اسمه = txtAutoDateDisplay . وسنجعل له قيمة مصدر بيانات بناءً على الاستعلام مصدر التقرير = =IIf([txtRowNumber]=Int(DCount("*","tbl_Loans","EmployeeID=" & [EmployeeID] & " AND Auto_Date=#" & [Auto_Date] & "#")/2)+1,[Auto_Date],"") حيث الهدف من فكرتي هو عدّ السجلات بناءً على مربع النص txtRowNumber وقسمتها على 2 للتوسيط وبالتقريب طبعاً حتى لة كان عدد السجلات 10 مثلاً فسيكون العرض في السجل 6 مثلاً . ثالثاً إنشاء مربع نص أيضاً للرقم وسأفترض اسمه = txtEmployeeIDDisplay . وسيكون له قيمة مصدر بيانات = =IIf([txtRowNumber]=Int(DCount("*","tbl_Loans","EmployeeID=" & [EmployeeID] & " AND Auto_Date=#" & [Auto_Date] & "#")/2)+1,[EmployeeID],"") وطبعاً قمت بإخفاء الحقول الأصلية . ولكن عليك تجربة الفكرة على سجلات كثيرة للتأكد من الفكرة . المرفق لتجربته :- Z1.zip2 points
-
لدي مشروع تكاليف سأقوم بنشره مفتوح المصدر واضعه في موضوع جديد حتى يتسنى للباحثين عن هكذا مواضيع لكن دعني ارتب اوراقي اولا ثم انشره كان هناك رابط لليوتيوب يبين طريقة عمله قمت بحذفها هههه2 points
-
المنتدى الجميل أرفع ملف يتم ربطه بقاعدة البيانات المرفقة وهو مفتوح المصدر وهو عباره عن برنامج لمتابعة حركة السيارات وصياناتها وقطع الغيار وصرف الوقود ومعدلات الصرف وحركة السيارت أرجو أن ينال إعجابكم ويجعله نافعا لمن يستخدمه أسألكم الدعاء بظهر الغيب CARV.7.5.rar CARV.7.5_be.rar2 points
-
وعليكم السلام ورحمة الله وبركاتة تقصد يحول اسم الشيت الى رقم اعتقد ان عدد حروف اسم الشيت يجب ان لا تتجاوز 31 حرف من ضمنها الفراغات الواضخة والمخفية بين الكلمات وهذا من ثوابت الاكسل يوجد حلان الحل الأول، والذي ربما لا تفضله كما ذكرت، هو الاختصار الرقمي. على سبيل المثال، استبدال 'أربعة وعشرون' بالرقم '24' ليصبح الوصف: 'مكيف سبليت جنرال 24 وحدة'. "الحل الثاني: على الرغم من أن أسماء بعض الأصناف تفي بمتطلبات الحد الأقصى لعدد الأحرف، إلا أن رفض النظام لها يحدث غالبًا بسبب وجود مسافات زائدة (ظاهرة أو مخفية). لاحظنا في ملفك وجود مسافات متكررة، مثل الفراغين بين 'سبليت جنرال'. لذلك، من الضروري تضمين دالة في الكود لمعالجة النص وإزالة جميع الفراغات الزائدة قبل حفظ البيانات." تفضل الملف، آمل أن يلبي هذا متطلباتك الاصناف1.xlsm لك وافر التقدير والاحترام2 points
-
السلام عليكم قم بانشاء مجلد في اي مكان بالجهاز لحفظ الملفات اليك التعديل الشرقية1 (1).xlsm2 points
-
هذه من ضمن قوائم استاذنا جعفر يمكنك الاطلاع والاستفاده من موضوعه هنا ويمكنك ايضا نقل هذه القائمة من ملف الى آخر بكل يسر وسهوله .. وهذا الذي افعله دوما ... كالتالي : افتح اي ملف اكسس من اعمالك .. على التصميم قم بعملية جلب ادوات وكائنات من ملف اكسس آخر اختر برنامجي هذا اختر اي كائن وليكن جدولا ... ( يمكنك حذفه لا حقا ) انظر الصورة .. يجب تحديد الخيار الذي تم احاطته بالمربع الاحمر وافق على العملية اذهب الى اي تقرير او نموذج ستجد انه تم اضافة القائمتين اليها في الخصائص/ حقل القائمة المختصرة2 points
-
هدية مقبولة وجميلة أستاذنا العزيز 🙂🌷 صدقت القائل عندما يقول الجمال في البساطة .. والبساطة هي الجمال 😊🌹2 points
-
وعليكم السلام ورحمة الله وبركاته قمت ياستبدال اللستبوكس بالورقة باخر في يوزرفورم فكرة العمل انقر على الخلية المراد وضع الوظيفة بها في العمود B يظهر الفورم قم بالاختيار ويختفى الفورم عند النقر في اي خلية اخرى لك وافر الاحترام والتقدير LISTBOX1.xlsm2 points
-
وعليكم السلام ورحمة الله وبركانه بعد اذن استاذنا الفاضل عبدللرحيم الاستاذ مستر أيسم ان اردت الحل بالمعادلات فالاستاذ عبدالرحيم حله وافي وكافي اذا اردت الامر بالكود بحيت يجلب المواد والفصول تلقائيا زادات ام تقصت فاليك الملف جمع بشرطين.xlsb2 points
-
ابشر العمل قيد التنفيذ إن شاء الله سأطرح عملا مختصرا احترافيا لفكرة الحضور والانصراف لك ولغيرك ممن يهمه الأمر2 points
-
خذ راحتك .. اسأل كما يحلو لك .. في الموضوع السابق رأيت انه تجاوز 3 صفحات .. لذا احببت البدء بموضوع وعنوان جديد .. فالعناوين الجديدة المختلفة مسألة ايجابية بالنسبة لطلبك هذا فالامر اسهل مما تتصور ولست بحاجة الى انشاء حقول واكواد بمتغيرات وانما هو سطر واحد بسيط : Private Sub C7_AfterUpdate() C8 = DateAdd("d", 30, C7) End Sub الرقم 30 هو عدد الايام (القيمة) التي ترغب باضافتها يمكنك وضع هذه القيمة في حقل في احد الجداول الموجودة ذات السجل الوحيد ويتم جلبها ( على اعتبار انها قد تتغير هذه المدة (القيمة) ) Database25.rar2 points
-
وعليكم السلام ورحمة الله وبركاته اليك الملف وبه كود فيه طلبك باذن الله مجموع1.xlsb لك تفديري واحترامي2 points
-
وعليكم السلام ورحمة الله وبركاته اعتقد تقضد العمود E فهو مخصص لايام الغياب خسب ملفك الكود يحسب جميع الأيام المتتالية السابقة بما في ذلك يوم التاريخ المحدد ولا يخسب الايام التالية بعد التاريخ المحدد اليك الملف test1.xlsb2 points
-
وعليكم السلام ورخمة الله وبركاته اليك التعديل وارجو ان يكون فيه طلبك غياب 1طلاب.xlsb تحياتي2 points
-
الآن انتبهت الأرملة هذه على قيد الحياة ههههههه المتوفى زوجها2 points
-
السلام عليكم ورحمكم الله جرب الكود كلمة السر 123 Sub AdvancedProtectFormulas() Dim ws As Worksheet Set ws = ActiveSheet On Error Resume Next ws.Unprotect "123" On Error GoTo 0 Application.ScreenUpdating = False ws.Cells.Locked = False Dim formulaCell As Range For Each formulaCell In ws.UsedRange.SpecialCells(xlCellTypeFormulas) formulaCell.Locked = True Next formulaCell ws.Protect Password:="123", _ AllowFiltering:=True, _ AllowSorting:=True, _ AllowFormattingCells:=False, _ AllowFormattingColumns:=False, _ AllowFormattingRows:=False, _ AllowInsertingColumns:=False, _ AllowInsertingRows:=False, _ AllowInsertingHyperlinks:=False, _ AllowDeletingColumns:=False, _ AllowDeletingRows:=False, _ AllowUsingPivotTables:=True, _ DrawingObjects:=False, _ Contents:=True, _ Scenarios:=False, _ UserInterfaceOnly:=True Application.ScreenUpdating = True End Sub كما يمكنك السماح ببعض الخصائص والشيت محمى من خلال التعديل في هذا الجزء TRUE او FALSE ' حماية ورقة العمل بكلمة المرور "123" ws.Protect Password:="123", _ ' السماح بتصفية البيانات AllowFiltering:=True, _ ' السماح بفرز البيانات AllowSorting:=True, _ ' عدم السماح بتنسيق الخلايا (مثل تغيير الألوان أو الخط) AllowFormattingCells:=False, _ ' عدم السماح بتنسيق الأعمدة (مثل تغيير العرض أو التنسيق) AllowFormattingColumns:=False, _ ' عدم السماح بتنسيق الصفوف (مثل تغيير الارتفاع أو التنسيق) AllowFormattingRows:=False, _ ' عدم السماح بإدراج أعمدة جديدة AllowInsertingColumns:=False, _ ' عدم السماح بإدراج صفوف جديدة AllowInsertingRows:=False, _ ' عدم السماح بإدراج روابط تشعبية (Hyperlinks) AllowInsertingHyperlinks:=False, _ ' عدم السماح بحذف الأعمدة AllowDeletingColumns:=False, _ ' عدم السماح بحذف الصفوف AllowDeletingRows:=False, _ ' السماح باستخدام الجداول المحورية (Pivot Tables) AllowUsingPivotTables:=True, _ ' عدم حماية الكائنات (مثل الأشكال أو المخططات) DrawingObjects:=False, _ ' حماية محتوى الخلايا (لا يمكن تعديل القيم مباشرة) Contents:=True, _ ' عدم حماية السيناريوهات (Scenarios) Scenarios:=False, _ ' السماح للأكواد البرمجية (VBA) بالتعديل على الشيت حتى مع الحماية UserInterfaceOnly:=True تحياني2 points
-
وعليكم السلام ورحمة الله وبركاته اليك التعديل حيث الكود يتعامل مع الخلايا المدمجة Private Sub CommandButton2_Click() On Error GoTo ErrorHandler Dim wsSource As Worksheet Set wsSource = ThisWorkbook.Sheets("Sheet4") Application.ScreenUpdating = False Application.Calculation = xlCalculationManual With wsSource .Range("B3:G3").ClearContents .Range("G4:G6").ClearContents .Range("D4:E6").ClearContents .Range("C11:G17").ClearContents .Range("C21:G27").ClearContents .Range("C31:G34").ClearContents .Range("B37:G43").ClearContents .Range("B47:G51").ClearContents .Range("C54:G54").ClearContents .Range("C57:G59").ClearContents .Range("B61:G68").ClearContents End With Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic Exit Sub ErrorHandler: Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic MsgBox "حدث خطأ: " & Err.Description End Sub2 points
-
السلام عليكم و رحمة الله و بركاتة اخواني تم حل المشكلة محضر الاجتماع.xlsm2 points
-
2 points
-
ما شاء الله فكرة جميلة جدا تنفع للتذكير بالرد على البريد في المدرسة حبذا لو يتم اضافة اخر تاريخ للرد يوم كذا بدل كتابته يدويا في الملاحظة بارك الله فيك وجُعلت في ميزان حسناتك ان شاء الله2 points
-
استاذ @احمد العدوى الرسالة التي تظهر في الصورة تقول: "يتبيّن عن التعبير عند الفتح الذي أدخلته كإعداد خاصية الحدث الخطأ التالي: Return without GoSub." المعنى: يوجد خطأ في كود VBA داخل أحد أحداث النموذج أو التقرير (غالبًا في حدث On Open أو On Close أو On Load)، حيث يحتوي الكود على عبارة Return بدون أن يكون هناك أمر GoSub قبلها. 1- في أحد أكواد الأحداث، هناك سطر مثل: Return لكنه غير تابع لأي كتلة GoSub ... Return. وهذا غير مسموح في VBA (يُستخدم GoSub وReturn فقط معًا داخل نفس الروتين). 2-أو قد يكون حدث النموذج (مثل On Close أو On Load) يشير إلى ماكرو أو دالة لم تعد موجودة أو تمت إعادة تسميتها. أحيانًا يظهر هذا الخطأ إذا تم كتابة اسم الماكرو أو الدالة في خاصية الحدث (Event Property) خطأ، مثل: =MyMacro() بينما الماكرو نفسه تم حذفه أو تغيّر اسمه. ✅ الحلول المقترحة خطوة بخطوة: افتح النموذج (أو التقرير) الذي يظهر عند إغلاق الملف أو فتحه (غالبًا Form_Main أو Form_Login). من طريقة العرض التصميم (Design View)، حدد النموذج واضغط F4 لفتح "ورقة الخصائص (Property Sheet)". راجع الخصائص التالية في تبويب حدث (Event): عند الفتح (On Open) عند التحميل (On Load) عند الإغلاق (On Close) عند إلغاء التحميل (On Unload) 🔧 مثال توضيحي: إذا وجدت أن هناك اسم دالة أو ماكرو مكتوب فيها (مثل =MyFunction() أو MyMacro😞 اضغط على الزر […] بجانبها، وافتح محرر الكود، وتأكد أن الكود موجود وسليم. إذا لم تكن تستخدم هذا الحدث، احذفه (اجعلها فارغة). ابحث في الكود داخل النموذج أو الماكرو عن أي سطر فيه Return بدون GoSub. إما احذفه أو استبدله بـ Exit Sub أو Exit Function حسب السياق. 🔧 مثال توضيحي: ❌ الكود الخطأ: Private Sub Form_Close() If Me.Dirty Then Me.Dirty = False End If Return End Sub ✅ التصحيح: Private Sub Form_Close() If Me.Dirty Then Me.Dirty = False End If Exit Sub End Sub إذا أردت، أرسل لي الكود الموجود في حدث Form_Close أو Form_Unload من النموذج الذي يظهر عند الإغلاق، وسأحدد لك السطر المسبب للخطأ بالضبط.2 points
-
بالعكس ، يسعدنا مشاركتكم وباقي الأساتذة والخبراء في أي موضوع . الساحة لكم لضيق الوقت ، وأنتم جديرين بالثقة دون أي شك أستاذ خليفة2 points
-
2 points
-
تفضل استاذ @RAIANESAMI المرفق بطلبك حسب مافهمت . مرة mdb. واخرى accdb. ووافني بالرد . RAIANESAMI.rar2 points
-
Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = vbKeyEscape Then Unload Me KeyCode = 0 End If End Sub عليكم السلام و رحمة الله و بركاتة جرب هذا الكود2 points