نجوم المشاركات
Popular Content
Showing content with the highest reputation since 10/23/25 in all areas
-
ما باقي بالعمر الكثير ...... وانا بدعبس بملفاتي حصلت مجموعة برمجيات كنت سويتها سابقاً منها هذا المرفق وهو يعمل لدي أحد أصدقائي وللحين مابه مشاكل .. باسوورد تحديث الجداول (1001) وباسوورد الوحدات النمطية أو الشفت (tariq1991) .... أنا برفق الفولدر كامل . القاعدة (WaitingMain 2010) بحجرة التسجيل . القاعدة (Role_CheckUp) بحجرة الكشف العام . القاعدة (Role_Consultation) بحجرة الاستشارات . القاعدة (Role_MedicalAnalytics) بحجرة العلاج الطبيعي . القاعدة (Role_Pharmacy) بالصيدلية . القاعدة (Role_Physiotherapy) بمعمل التحاليل . القاعدة (Role_Radiology) بحجرة الاشعة . .القاعدة (Role_Surgery) بحجرة العمليات . ولابد كل القواعد على شبكة واحده لأن الكل مرتبط بحجرة التسجيل . . واي استفسار أو طلب أنا حاضر . Khalifa Hospital.rar6 points
-
اولا شكرا لدعاؤك لي ثانيا الكود في الملف السابق يقوم بترتيب الصفحات ذات الارقام وبالتالي ستجد الصفحات الاخرى ذات الحروف وليس الارقام مستثناة وتجدها بجانب بعضها ولكن هناك احتمال الرغبة في استثناء صفخة او صفحات رقمية مثلا تريد استثناء صفخة 4 من الترتيب . هنا سيتم التعديل على الكود باظافة مصفوفة لتجميع الصفخات المستثناة كل ما عليك فعلة هو التعديل في هذا الجزء من الكود حيث اضفت لك صفحات افتراضية في الكود وليس في المصتف مثل "ملخص", "إعدادات", "تعليمات يمكنك تعديلها باي اسم او اظافة صفحات اخرى باي عدد تشاء excludedSheets = Array("الرييييسية", "تجميع", "ملخص", "إعدادات", "تعليمات") اليك الملف بالتعديل ترتيب الصفحات1.xlsm تحياتي5 points
-
السلام عليكم خسب المثال المرفق يبدو أنك تريد دالة للتقريب إلى أقرب 0.1 (أعشار)، وليس معادلة باقي القسمة (mod) التي تعمل عادة مع الأعداد الصحيحة. =CEILING(A2; 0.1) =ROUNDUP(A2*10;0)/10 تقريب.xlsx5 points
-
وعليكم السلام ورحمة الله وبركاته المشكلة الرئيسية هي في منطق البحث البحث عن الأعمدة يتم من الصف 3 (G3:U3) ولكن البيانات تبدأ من الصف 4 الإزاحة (offset) غير صحيحة عند استخراج القيم اليك التعديل تنسيق ترتيب الجداول الكمية مع اسم الصنف مع التاريخ التابع له - Copy - Copy.xlsm5 points
-
السلام عليكم ورحمة الله إليك هذا الحل باستعمال "الذكاء الاصطناعي" (بالمعادلات وبالأكواد -بتصرف-) أرجو أن يفي الغرض المطلوب... ملف العمل.xlsm4 points
-
وعليكم السلام ورخمة الله وبركاته اليك الكود 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 ترتيب الصفحات.xlsm4 points
-
وعليكم السلام ورحمة الله وبركاته =IFERROR(AGGREGATE(15;6;A4:A30;ROW($A$1));"") السبب الرئيسي هو أن ROW($A$1) ثابت دائماً وكذلك النطاق يجب ثتبيته بحيث لا يتغير عند السحب ليصبح A$4:A$30 بدل A4:A30 ولحل المشكلة اختر احدى المعادلات =IFERROR(AGGREGATE(15;6;A$4:A$30;ROW(A1)-ROW(A$1)+1);"") =IFERROR(AGGREGATE(15;6;$A$4:$A$30;ROW(A1));"") =IFERROR(AGGREGATE(15;6;$A$4:$A$30;ROW(A1:A1));"") =IFERROR(AGGREGATE(15;6;$A$4:$A$30;ROW(A4)-ROW($A$4)+1);"") اليك الملف وبه تطبيق المعادلات الاربعة السابقة ntega_elec_new.xlsb4 points
-
وعليكم السلام ورحمة الله وبركاته الكود به مشكلتان الاولى اسم الشيت بدل Sheet30 يكون Sheets("Sheet30") الثانية اسم الليبل بدل Label3 يكون Label4 اليك الملف وبه التعديل MAM2.xlsm4 points
-
وعليكم السلام تفضل هذا الملف ربما يفيدك ويكون به المطلوب ان شاء الله وبالتوفيق المحطة.xlsm4 points
-
وعليكم السلام ورحمة الله راجع الملف المرفق لعل فيه ما تريد Example.xlsm4 points
-
جرب الصيغة التالية =IF(AND(ISNUMBER(E2);ISNUMBER(F2));IF((F2-E2)<(-59/86400);"مبكر";IF((F2-E2)=0;"في الوقت";IF(AND((F2-E2)>0;(F2-E2)<(10/1440));"ليس على الوقت""متأخر")));"-") TRIP_01 (3).xlsx4 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
-
السلام عليكم بريمج صغير في حجمه وادواته .. ولكنه محكم ويفي بمتطلبات عملية الحضور والانصراف واحتساب ساعات ودقائق العمل . ومع ذلك هو قابل للتطوير واضافة خدمات اخرى مثل الغيابات والاجازات والعطل والاستئذان ونحوها ومثل جعل شاشة الحضور منفصلة عن البرنامج الاساسي واشياء اخرى كثيرة لا يمكن حصرها المهم ان العمل هذا يفي بالحاجات الأساسية والضرورية ....................... عملية التحضير تتم اما بادخال المعرف يدويا ثم النقر على انتر وإما استخدام قارىء الباركود كل ذلك تم تهيئته في البرنامج .. بطاقات وكشوف الباركود المطلوب قبل العمل على البرنامج هو نسخ ملف اداة الباركود barcodex.ocx الى نظام وندوز وتسجيلها تم العمل على وندوز 64 وأوفيس 32 بت الملف موجود ضمن المرفقات ، وتم اضافة المرفق المطور ChkInNetUp ايضا .. وهو خلاصة الملاحظات والطلبات في المشاركات اللاحقة ChkInOut.rar ChkInNetUp1.rar3 points
-
Version 1.0.0
31 تنزيل
أقدم لكم اليوم أداة تلوين خلفية النماذج بألوان متدرجة والتي تقوم بمنح النماذج خلفية ملونة بطريقة جميلة حيث تقوم فيها بإختيار لونين ليتم دمجهما والحصول على خلفية تتكون من ألوان متدرجة بين هذين اللونين ويمكن تحديد إتجاه التدرج (أفقياً - عمودياً - قطرياً) إستخدام الأداة سهل للغاية ولن يتطلب أي مهارات حيث أن الأداة تقوم بكل العمل تقريباً ما عليكم سوى تحديد الألوان والإتجاه وستقوم الأداة بتعميم التنسيق على بقية النماذج ضمن التطبيق. مرفق لكم مجلد يحتوي على نسخة توضيحية لتجربتها ومعرفة طريقة عملها ونسخة الفالب وتحتوي على الكائنات المطلوب إستيرادها لإستخدامها في تطبيقاتكم أرجو أن تنال هذه الأداة إعجابكم تحياتي3 points -
نعم الفكرة واضحة .. وجميلة .. وجديدة على كاتب هذه الكلمات .. جزيت خيرا3 points
-
3 points
-
بعد اذن استاذي @Moosak وهذا تصوري للتعامل مع الجداول المرتبطة . القاعدة الرئيسية :- الجدول المطلوبة اساسياً :- (tbl_DesignerPassword) والنموذج المطلوب (frm_DesignerPassword) بالاضافة الي جداول نظامك التي تريدها بالقاعدة الخلفية . ونماذج نظامك كما تريد القاعدة الخلفية :- استيراد بلنك كل الجداول بالقاعد الاساسية التي تدير بها القاعدة الخلفية ولا تنسي الجدول (tbl_DesignerPassword) . استيراد النماذج التي تريدها وتشغيلها من النموذج (frmSwitchBoard) فهو اساسي بالنظام مع النموذجان (Shift) و (FormKeys) . بعد الاستيراد لاتنسي غلق الجداول وعدم تفعيل الشيفت . ملحوظة :- استخدم القاعدة الخلفية بالمرفق وغير اسمها كما تحب لأن بها اعدادات أخرى مخفية خاصة باعدادات ال__ (Ribbon). عند فتح القاعدة الخلفية سيفتح على النموذج :- عند الضغط على الزر (S) سيفتح النموذج (Shift) كما بالجدول اذا ادخلت الباس (1001) ويمكن تغيير بالجدول سيمكنك من تفعيل الشفت اذا خطأ أو خالي عدم تفعيل الشفت . عند الضغط على الزر (HideUnHideTables) اذا ادخلت الباس (tariq1991) ويمكن تغيير بالجدول سيمكنك من اظهار الجداول والاستعلامات اذا خطأ أو خالي عدم اظهرها. اليك المرفق للتجريب وانا حاضر لاي استفسار . Khalifa Test.rar3 points
-
وعليكم السلام ورحمة الله وبركاته 🙂 جرب طريقتي في حماية قاعدة البيانات .. أنقل جميع مكونات القاعدة لبرنامجك وشغله .. 🙂 وهذي طريقة ضبط الإعدادات .. لفتح البرنامج في وضع التصميم : كلمة المرور لفتح الإعدادات : 123 ( قم بتغييرها لاحقا ) الحماية تشمل : 1- إخفاء الجداول وجميع مكونات البرنامج . 2- منع الفتح بزر الشفت Shift . 2- منع إضهار لوحة التحكم عند الضغط على F11 . وهذا يعتبر الحد الأدنى والأشهر في حماية قاعدة البيانات .. ويمكنك التعمق للوسائل الأكثر احترافية مثل حماية صفحة الأكواد بكلمة مرور وحفظ الملف بصيغة accde وحماية الملف بكلمة مرور وغيرها .. دمتم سالمين 🙂 Database Security Template.accdb3 points
-
هذا مثالي : لن يتم الحذف الا من خلال الزر فقط حتى لو صنعت زرا جديدا للحذف فلن تتمكن FMK2.rar3 points
-
مع اني لست من مناصري استخدام الاكسس خارج اطار قواعد البيانات ولكن الإبداع الذي اراه في هذا العمل يستحق الإعجاب والتقدير فعلاً الأخت @hanan_ms مبدعة وتستحق ان تكون ضمن خبراء الموقع لانها دائما تثبت أن بالإمكان استخدام الاكسس لوظائف اخرى الى جانب قواعد البيانات وعندما أرى مثل هذا التمكن في البرمجة كما في هذا الموضوع او مواضيع الاخوة @Foksh و @jjafferr و @Moosak و @ابوخليل وبقية الاخوة الذين لايسع المجال هنا لذكرهم فلسان حالي كما يقول المثل (كلما قلنا عساها تنجلي .. قالت الايام هذا مبتداها 🫣) وان طريق التعلم مازال طويلاً شكرا لمبدعي المنتدى لكل ماتقدموه تحياتي3 points
-
3 points
-
3 points
-
السلام عليكم ورحمة الله وبركاته اللست فيو عادة يكون من ضمن مكونات الاكسل ويتم تفعيلة فتح محرر VBA. من القائمة العليا اختر: Tools → References. ابحث عن المكتبة التالية: ✅ Microsoft Windows Common Controls 6.0 (SP6 إن لم تجدها في نافذة الـ UserForm، اضغط بزر الماوس الأيمن على صندوق الأدوات (Toolbox). اختر: Additional Controls... مرّر للأسفل حتى تجد: ✅ Microsoft ListView Control, version 6.0 (SP6) ضع ✔ بجانبها، ثم اضغط OK. الآن ستظهر الأداة ListView في صندوق الأدوات، ويمكنك سحبها إلى الـ UserForm. اليك ملف به الاداة اكسل 2016 لست فيو.xlsb3 points
-
محاولتي =IF(F2="","",IF(F2<E2,"-","")&TEXT(ABS(F2-E2),"hh:mm")) TRIP_01.xlsx3 points
-
السلام عليكم ورحمة الله تفضل أخي الكريم الملف مع بعض التعديلات التي أراها مساعدة في عمل هذا الملف. أرجو أن تفي الغرض المطلوب التقرير اليومي لمستشار التربية - ثانوي - 11.5.0 .xlsm3 points
-
🧹 أداة تنظيف الصور – الحل الذكي لمشكلة تضخم قواعد بيانات Access بسبب تراكم الصور في عالم تطبيقات Microsoft Access، تعتبر إضافة الصور إلى النماذج والتقارير أمرًا شائعًا جدًا، خصوصًا عندما يرغب المطور في تصميم واجهة جذّابة ومنظمة بصريًا. تُستخدم الصور عادةً في الأزرار، الشعارات، الرموز التوضيحية، الخلفيات، وحتى في عناصر التحكم الخاصة بالعروض البصرية. لكن مع مرور الوقت وتعدد عمليات التطوير والتحديث، تبدأ مشكلة خفية وخطيرة في الظهور… وهي تراكم الصور غير المستخدمة داخل قاعدة البيانات. 📸 كيف تبدأ المشكلة؟ خلال عملية تصميم وتعديل النماذج أو التقارير، يقوم المطور أحيانًا بتجربة أكثر من صورة أو شعار، أو ربما يستبدل صورة بأخرى جديدة لتحسين المظهر. لكن Access – بحكم طريقة تخزينه للموارد – لا يحذف الصور القديمة تلقائيًا من قاعدة البيانات. وبالتالي تظل تلك الصور غير المستخدمة محفوظة داخل جداول النظام، وتحديدًا في جدول MSysResources، حتى بعد حذف العنصر الذي كان يستخدمها. ومع مرور الوقت، تتراكم هذه الصور بشكل كبير جدًا، خصوصًا في المشاريع التي تشهد تحديثات مستمرة أو تتضمن عددًا كبيرًا من النماذج والتقارير. قد لا يلاحظ المستخدم أو المطور ذلك في البداية، لكن النتيجة تظهر لاحقًا بشكل واضح من خلال تضخم غير مبرر في حجم ملف القاعدة. ⚠️ ما هي آثار تراكم الصور على قاعدة البيانات؟ زيادة حجم الملف بشكل كبير: قد تتضاعف أحجام قواعد البيانات إلى أضعاف حجمها الطبيعي بسبب وجود صور غير مستخدمة. في بعض الحالات، يمكن أن يتجاوز حجم القاعدة الحد الأقصى المسموح به أو يؤدي إلى بطء في الأداء العام. بطء في الأداء عند الفتح أو الحفظ: كلما زاد حجم ملف القاعدة، أصبح فتحها أو حفظها أبطأ. العمليات التي كانت تستغرق ثوانٍ قد تبدأ في استهلاك وقت أطول بكثير. احتمال تلف القاعدة أو ظهور أخطاء: قواعد Access الكبيرة والمعقدة أكثر عرضة للأخطاء الداخلية، خصوصًا عند العمل في بيئة متعددة المستخدمين أو عبر الشبكة. الصور الزائدة تمثل عبئًا إضافيًا على الذاكرة الداخلية للملف (MDB أو ACCDB). صعوبة النسخ الاحتياطي أو النقل: القواعد الكبيرة تحتاج وقتًا أطول للنسخ والتحميل، وقد تواجه مشاكل أثناء النقل بين الأجهزة أو عبر البريد الإلكتروني. تأثير سلبي على تجربة المستخدم: في النظم التي تعتمد على سرعة الاستجابة وسلاسة التشغيل، أي تأخير أو ثقل في القاعدة يمكن أن يسبب انزعاجًا للمستخدمين أو العملاء النهائيين. 🔍 لماذا يصعب تنظيف هذه الصور يدويًا؟ رغم أن الصور المخزنة في MSysResources يمكن رؤيتها بطريقة غير مباشرة، إلا أن التعرف على الصور المستخدمة فعليًا في النماذج والتقارير عملية معقدة جدًا. فهي تتطلب المرور على عشرات وربما مئات العناصر داخل القاعدة، وفحص خصائص كل عنصر لمعرفة ما إذا كان يستخدم صورة معينة أم لا. وهذا العمل اليدوي غير عملي، ويحتاج وقتًا طويلًا وخبرة تقنية متقدمة جدًا في Access. كذلك، حذف الصور من جدول النظام يدويًا دون دراسة دقيقة قد يؤدي إلى كسر الروابط الداخلية، مما يتسبب في فقدان بعض الصور المستخدمة فعلاً داخل الواجهة أو التقارير. وبالتالي، لا توجد طريقة آمنة وسهلة لتنظيف هذه الملفات يدويًا. 💡 الحل: أداة تنظيف الصور هنا يأتي دور أداة تنظيف الصور التي تم تطويرها خصيصًا لحل هذه المشكلة بطريقة ذكية وآمنة. بدلاً من محاولة التعامل مع المشكلة يدويًا أو الاكتفاء بضغط القاعدة بشكل سطحي، تعمل الأداة على تحليل قاعدة البيانات المستهدفة بالكامل وتحديد الصور غير المستخدمة بدقة متناهية. تقوم الأداة بعملية فحص داخلية دقيقة لجميع النماذج، التقارير والعناصر، لاستخراج جميع الصور التي يتم استخدامها فعلاً داخل الواجهة. بعد ذلك، تجري مقارنة ذكية مع الصور المخزنة فعليًا داخل الجدول النظامي المسؤول عن الموارد، لتحديد الصور التي لم تعد مستخدمة. وبمجرد تحديد الصور الزائدة، تقوم الأداة بحذفها بطريقة فنية تضمن الحفاظ على سلامة باقي المرفقات والعناصر. بهذا الشكل، يتم تنظيف قاعدة البيانات من الملفات الزائدة دون أي تأثير على التصميم أو المحتوى. ⚙️ سهولة الاستخدام رغم أن العملية معقدة في الخلفية، إلا أن تجربة المستخدم في الأداة بسيطة للغاية. كل ما يحتاجه المستخدم هو اختيار القاعدة المستهدفة، ثم تترك الأداة لتقوم بعملها تلقائيًا. خلال دقائق معدودة، يتم فحص وتنظيف القاعدة بالكامل، لتخرج في النهاية بملف أخف وأسرع وأكثر استقرارًا. 🚀 النتائج والفوائد تقليل حجم القاعدة بشكل كبير: في أغلب الحالات، يتم خفض الحجم بنسبة تتراوح بين 20% إلى 60%. تحسين سرعة الفتح والحفظ: يصبح التعامل مع القاعدة أسرع وأكثر سلاسة. زيادة استقرار النظام: يقل احتمال ظهور أخطاء أو تلف في القاعدة بسبب البيانات الزائدة. تحسين أداء النسخ الاحتياطي والنقل: القاعدة الأصغر أسهل في التخزين والمشاركة. تنظيف احترافي بدون تدخل يدوي: كل شيء يتم بطريقة آلية وآمنة. 🔒 الأمان قبل كل شيء تم تصميم الأداة لتتعامل بحذر شديد مع موارد النظام، فهي لا تقوم بأي حذف عشوائي أو تجريبي. كل عملية حذف تتم بعد التأكد من أن الصورة غير مستخدمة فعليًا في أي عنصر داخل القاعدة. كما يمكن تشغيل الأداة على نسخة احتياطية من القاعدة لضمان أمان إضافي في بيئة الإنتاج. 🧠 خلاصة مع مرور الوقت، يمكن أن تتحول قواعد بيانات Access إلى بيئة مزدحمة بالصور غير الضرورية التي تبطئ الأداء وتزيد الحجم وتعرض النظام للخطر. لكن باستخدام أداة تنظيف الصور، يمكن التخلص من هذه المشكلة نهائيًا بطريقة احترافية وآمنة، دون الحاجة لأي تدخل يدوي أو مهارات تقنية متقدمة. إنها الأداة المثالية لكل مطور أو مستخدم يريد الحفاظ على قاعدة بياناته نظيفة، خفيفة وسريعة — تمامًا كما كانت في يومها الأول. الإصدار 64 :- CleanPhotoGallery.zip الإصدار 32 ( متوافق مع الإصدار 2016 وما فوق ) :- CleanPhotoGallery_32Bit.zip3 points
-
عذرا لم انتبه ان قي طلبك طباعة متعددة الطريقة الاولى زر print all اكتب كود الشركة بداية الطباعة في الخلية P2 ونهاية الطباعة في Q2 الطريقة السابقة لطباعة الارقام المتسلسلة وراء بعضها الطريقة الثانية عن طريق فورم زر طباعة خسب الاختيار وهي تغنيك عن كل الازرار وعن الطريقة الاولى حيث يمكن الطباعة لموظف واخد او الطباعة للكل او الطباعة المتعددة خسب الاختيار سواء الارقام متصلة ام منفصلة اختر ما تراه متاسب لطلبك مرتبات شركة نقل البضائع فنيين عن شهر نوفمبر 2025 (1).xlsm2 points
-
اعجني الموضوع من اول انشغالي بالاكسيس تيقنت ان الاكسيس من اضغف الحمايات لكني قكرة بان اسال الذكاء الصناعي سالت CHATGPT عن فكرة مجنونة لم يفكر بها احد لحماية الجداول ادعوا اخواني لتجربة الفكر المقترحة وانا ساجربها معكم مع توفر الوقت لدي سارفق الاجابة والسؤال الذي سالته انقر هنا2 points
-
2 points
-
السلام عليكم ورحمة الله تم التعديل على معادلاتك (معادلات الصفيف) في الملف لتتماشى مع طلبك دون استخدام الفلترة أو ماكرو... ألق نظرة على الملف المرفق. ID.xlsx2 points
-
2 points
-
السلام عليكم نعم الان اتضح المطلوب بارك الله فيك الحل تم حذف النطاق من ادارة الاسماء فصل شيفت'!$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.xlsm2 points
-
2 points
-
Version 1.0.0
49 تنزيل
تواصلاً لهذه السلسلة أقدم لكم اليوم أداة رائعة تقوم بإضافة التعليمات المساعدة لتطبيقات الأكسس لتظهر بمظهر البرامج الإحترافية حيث تسمح لكم الأداة بإنشاء ملف تعليمات مقسم إلى عناوين رئيسية تحتوي على مواضيع فرعية بحيث يكون لكل موضوع فرعي التعليمات الخاصة به مرفق لكم مجلد يحتوي على ثلاثة ملفات 1 - القالب وهو نسخة فارغة تحتوي على الكائنات الضرورية والتي يتم إستيرادها إلى التطبيق الخاص بكم (ويمكن إستخدامه في إنشاء التعليمات لأي تطبيق وإستيراد الكائنات المطلوبة بعد الإنتهاء كتابة كل التعليمات الخاصة بالتطبيق حيث يوجد هناك ثلاثة نماذج لن تحتاجونها إلى في نسخة التطوير ويمكن الإستغناء عنها في الإصدار المخصص للمستخدم النهائي) 2 - عرض توضيحي يوضح لكم طريقة العمل بالأداة والذي أرجو أن يتم التركيز على الخطوات الموضحة فيه 3 - مثال عملي قمت فيه بتوضيح الطرق المختلفة للإستفادة من الأداة في مثال مشابه للواقع أرجو أن تكون هذه الأداة إضافة مفيدة لكل الإعضاء تحياتي2 points -
وعليكم السلام ورحمة الله وبركاتة لم امر بهذه التجربة سابقا فوجهت السؤال الى 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, إلخ.2 points
-
2 points
-
لدي نظرة خاصة قد توافقوني عليها وهي من غير المنطق تحويل الارقام والتواريخ الى حقول نصية .. ونظرتي هي ان التشفير يتم على الحقول المهمة التي قد يستدل بها على بيانات حساسة والتاريخ والارقام لا تعطي بيانات او مدلولا صريحا مؤكدا . الحقول المهمة التي قد تستخدم كأرقام مثل رقم الفاتورة او السند او رقم العميل او المستخدم هذه يؤخذ بالاحتياط وتجعل حقول نصية2 points
-
السلام عليكم ورحمة الله وبركاته تحية لك ولاستاذنا ابو عيد اعتقد وحسب فهمى لطلبك انك تريد استدعاء البيانات من شيت mg_elec الى شيت ntega حسب الاختيار من W3 فاذا كان هذا طليك اليك الملف وان كان غير ذلك ارجو مزيد من التوضيح لكما ولاحبائنا بالمنتدى كل التقدير والاحترام ntega1_elec_new.xlsb2 points
-
2 points
-
السلام عليكم نهنىء انفسنا و حبيبنا محب العقيدة @محب العقيدة اهلا وسهلا بك ضمن مجموعة الخبراء زادك الله علما ورفعة ونفع بك2 points
-
2 points
-
هههههه نفس المبدأ تقريباً ، ولكن هنا عند التحميل يفرض القيمة دائماً وهي أسلم وأأمن .. المهم اطلاق سراحه بدون قيود 😅2 points
-
بما أن أفكار معلمي أبو خليل لا تنتهي ( مشكوراً على جهوده التي نتعلم منها ) . وددت المشاركة على الهامش في ملف المشاركة الأصلية كالتالي .. في مربع النص "مكان الميلاد" الحدث نفسه عند الخروج ( كما هي رغبة أخي طاهر ) :- Private Sub مكان_الميلاد_Exit(Cancel As Integer) Dim sourceInfo As String sourceInfo = Me.Name & "|" & Me.Parent.Name DoCmd.OpenForm "C1", , , , , , sourceInfo End Sub طبعاً هذا الكود سيمرر اسم النموذج الفرعي واسم النموذج الرئيسي مفصولين بإشارة "|" إلى النموذج "C1" الآن في النموذج "C1" قمت بحجز المتغيرين والحدث التالي عند تحميل النموذج :- Private sourceSubform As String Private sourceMainForm As String Private Sub Form_Load() If Not IsNull(Me.OpenArgs) Then Dim parts() As String parts = Split(Me.OpenArgs, "|") If UBound(parts) = 1 Then sourceSubform = parts(0) sourceMainForm = parts(1) End If End If End Sub وفي الكومبوبوكس Com_Miled ، قمت بتحديث الكود ليصبح :- Private Sub Com_Miled_AfterUpdate() If sourceSubform <> "" And sourceMainForm <> "" Then With Forms(sourceMainForm).Controls(sourceSubform).Form .Com_Miled = Me.Com_Miled .Wil_Miled = Me.Wil_Miled End With End If DoCmd.Close acForm, Me.Name End Sub وبالتالي النتيجة خرجت معي بهذا الشكل :- ملاحظة :- لم أقم بالإطلاع على أي ملف مرفق تمت مشاركته .. WIL.zip2 points
-
وعليكم السلام ورحمة الله وبركاته عمي جعفر @jjafferr 🙂 شكرا لك على الإطلالة اللي تبهج النفوس 🙂🌹 رديت على سؤال عمنا أبو خليل هنا 😊👇 فعلا وهذي هي طريقة الاستخدام اللي ذكرتها في الشرح .. وفعلا أنا مستخدمنها وضايفنها كجزء من برنامج متابعة المهام الخاص بي في جهة العمل 🙂 : والأفكار في تطوير هذا المشروع كثيييييييييييييرة ما شاء الله2 points
-
2 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
-
سبب هذه الأخطاء هو أن برنامج Excel 2007 لم يتمكن من العثور على عنصر تحكم ListViewData (أو ListViewControl) لأنه لم يتم تثبيته أو تفعيله بشكل صحيح على جهازك. ساعطيك خطوات ربما تحل المشكلة من محرر الاكواد -TOOLS)ادوات) -References... (المراجع...). القائمة التي تظهر، ابحث عن المكتبة المسؤولة عن ListView، والتي عادةً ما تكون إحدى هذه الخيارات: Microsoft Windows Common Controls 6.0 (SP6) Microsoft ListView Control, Version 6.0 (SP6) Microsoft Common Controls ضع علامة صح بجوار المكتبة التي تحمل اسم Microsoft ListView Control أو Microsoft Windows Common Controls. اضغط OK (موافق). إذا لم تجد المكتبة، فهذا يعني أنها غير مسجلة على جهازك قم بتحميل اصدار 2016 او 2019 للخروج من هذه الاشكاليات او يمكنك العمل على اول ملف باللستبوكس ووجود البيانات يمين او يسار لا يعنى شيئا ما دام طلبك الرئيسى وهو الفلترة يعمل بكفاءة او ربما الزملاء الافاضل لديهم ما يقدمونه لملفك2 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/file2 points