اذهب الي المحتوي
أوفيسنا

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

  1. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      79

    • Posts

      13447


  2. Foksh

    Foksh

    أوفيسنا


    • نقاط

      55

    • Posts

      4267


  3. Ali Mohamed Ali

    Ali Mohamed Ali

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


    • نقاط

      48

    • Posts

      11645


  4. عبدالله بشير عبدالله

Popular Content

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

  1. اولا شكرا لدعاؤك لي ثانيا الكود في الملف السابق يقوم بترتيب الصفحات ذات الارقام وبالتالي ستجد الصفحات الاخرى ذات الحروف وليس الارقام مستثناة وتجدها بجانب بعضها ولكن هناك احتمال الرغبة في استثناء صفخة او صفحات رقمية مثلا تريد استثناء صفخة 4 من الترتيب . هنا سيتم التعديل على الكود باظافة مصفوفة لتجميع الصفخات المستثناة كل ما عليك فعلة هو التعديل في هذا الجزء من الكود حيث اضفت لك صفحات افتراضية في الكود وليس في المصتف مثل "ملخص", "إعدادات", "تعليمات يمكنك تعديلها باي اسم او اظافة صفحات اخرى باي عدد تشاء excludedSheets = Array("الرييييسية", "تجميع", "ملخص", "إعدادات", "تعليمات") اليك الملف بالتعديل ترتيب الصفحات1.xlsm تحياتي
    6 points
  2. ما باقي بالعمر الكثير ...... وانا بدعبس بملفاتي حصلت مجموعة برمجيات كنت سويتها سابقاً منها هذا المرفق وهو يعمل لدي أحد أصدقائي وللحين مابه مشاكل .. باسوورد تحديث الجداول (1001) وباسوورد الوحدات النمطية أو الشفت (tariq1991) .... أنا برفق الفولدر كامل . القاعدة (WaitingMain 2010) بحجرة التسجيل . القاعدة (Role_CheckUp) بحجرة الكشف العام . القاعدة (Role_Consultation) بحجرة الاستشارات . القاعدة (Role_MedicalAnalytics) بحجرة العلاج الطبيعي . القاعدة (Role_Pharmacy) بالصيدلية . القاعدة (Role_Physiotherapy) بمعمل التحاليل . القاعدة (Role_Radiology) بحجرة الاشعة . .القاعدة (Role_Surgery) بحجرة العمليات . ولابد كل القواعد على شبكة واحده لأن الكل مرتبط بحجرة التسجيل . . واي استفسار أو طلب أنا حاضر . Khalifa Hospital.rar
    6 points
  3. وعليكم السلام تفضل هذا الملف ربما يفيدك ويكون به المطلوب ان شاء الله وبالتوفيق المحطة.xlsm
    6 points
  4. السلام عليكم ورحمة الله إليك هذا الحل باستعمال "الذكاء الاصطناعي" (بالمعادلات وبالأكواد -بتصرف-) أرجو أن يفي الغرض المطلوب... ملف العمل.xlsm
    5 points
  5. السلام عليكم خسب المثال المرفق يبدو أنك تريد دالة للتقريب إلى أقرب 0.1 (أعشار)، وليس معادلة باقي القسمة (mod) التي تعمل عادة مع الأعداد الصحيحة. =CEILING(A2; 0.1) =ROUNDUP(A2*10;0)/10 تقريب.xlsx
    5 points
  6. وعليكم السلام ورخمة الله وبركاته اليك الكود Sub ترتيب_الصفخات() Application.ScreenUpdating = False Application.DisplayAlerts = False On Error GoTo ErrorHandler Dim ws As Worksheet Dim dict As Object Dim key As Variant Dim sortedKeys() As Variant Dim i As Long, j As Long Dim temp As Variant Dim excludedSheets As Collection Dim mainSheet As String mainSheet = "الرييييسية" Set excludedSheets = New Collection excludedSheets.Add mainSheet excludedSheets.Add "تجميع" Set dict = CreateObject("Scripting.Dictionary") For Each ws In ThisWorkbook.Worksheets If Not IsInCollection(excludedSheets, ws.Name) Then If IsNumeric(ws.Name) Then dict.Add CLng(ws.Name), ws.Name End If End If Next ws sortedKeys = dict.Keys For i = LBound(sortedKeys) To UBound(sortedKeys) - 1 For j = i + 1 To UBound(sortedKeys) If sortedKeys(i) > sortedKeys(j) Then temp = sortedKeys(i) sortedKeys(i) = sortedKeys(j) sortedKeys(j) = temp End If Next j Next i For i = LBound(sortedKeys) To UBound(sortedKeys) Worksheets(dict(sortedKeys(i))).Move After:=Worksheets(Worksheets.Count) Next i Worksheets(mainSheet).Activate Application.ScreenUpdating = True Application.DisplayAlerts = True ' MsgBox "تم ترتيب " & dict.Count & " ورقة رقمية بنجاح! ", vbInformation Exit Sub ErrorHandler: Application.ScreenUpdating = True Application.DisplayAlerts = True MsgBox "حدث خطأ: " & Err.Description, vbCritical End Sub Function IsInCollection(col As Collection, item As String) As Boolean Dim obj As Variant On Error GoTo NotInCollection IsInCollection = True obj = col(item) Exit Function NotInCollection: IsInCollection = False End Function ترتيب الصفحات.xlsm
    4 points
  7. وعليكم السلام ورحمة الله وبركاته =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.xlsb
    4 points
  8. وعليكم السلام ورحمة الله وبركاته الكود به مشكلتان الاولى اسم الشيت بدل Sheet30 يكون Sheets("Sheet30") الثانية اسم الليبل بدل Label3 يكون Label4 اليك الملف وبه التعديل MAM2.xlsm
    4 points
  9. وعليكم السلام ورحمة الله راجع الملف المرفق لعل فيه ما تريد Example.xlsm
    4 points
  10. السلام عليكم بفضل الله تمكنت من ايجاد طريقة ممتازة ومحكمة للتعامل مع توقيع الحضور والانصراف للفترة المسائية الممتدة الى ما بعد منتصف الليل ودخول يوم جديد انتظروني بعض الوقت كي اجري تجاربي النهائية على العمليات وعلى المخرجات .
    3 points
  11. السلام عليكم ورحمة الله وبركاته هذه دعوة كريمة لتجربة الأداة الجديدة والفريدة من نوعها : دكتور ال VBA وضائف الأداة : 1- تحويل الكود إلى صيغة متوافقة مع النواتين 32 و 64 بت. 2- تصحيح الأخطاء البرمجية في الكود. 3- تنسيق وترتيب الكود شكليا. 4- كتابة التعليقات وشرح للكود باللغتين العربية والإنجليزية. 5- إضافة صائد الأخطاء للكود وذلك لتعقب الأخطاء البرمجية. 6- إضافة ترقيم لأسطر الكود. يمكنك اختيار واحد من هذه الوظائف أو تختار من بينها ما تريده. الأداة مخصصة لأكواد ال VBA وتعتمد على قدرات الذكاء الاصطناعي لإعطاء نتائج دقيقة ومبهرة .. 😁✌🏻 اختصر على نفسك الوقت والجهد واعمل بذكاء 😉👌🏻 رابط الأداة : https://vba-code-doctor-471932697586.us-west1.run.app/ يمكنك فتحها في الهاتف أو الحاسوب على راحتك 😎🌷 جربوها وعطوني رأيكم 😇✌🏻
    3 points
  12. وعليكم السلام ورحمة الله وبركاته الى جانب الحلول التي ارفقها استاذنا الفاضل hegazee اليك حل اخر بالكود في حدث الورقة Private Sub Worksheet_Change(ByVal Target As Range) Dim rngF As Range, rngG As Range Dim rngB As Range, rngC As Range Dim pos As Variant Set rngF = Me.Range("F2") ' Set rngG = Me.Range("G2") Set rngB = Me.Range("B2:B1000") Set rngC = Me.Range("C2:C1000") If Not Intersect(Target, rngF) Is Nothing Then Application.EnableEvents = False pos = Application.Match(rngF.Value, rngB, 0) If Not IsError(pos) Then rngG.Value = Application.Index(rngC, pos) Else rngG.Value = "" End If Application.EnableEvents = True End If rngG.Select End Sub data.xlsb
    3 points
  13. عذرا لم انتبه ان قي طلبك طباعة متعددة الطريقة الاولى زر print all اكتب كود الشركة بداية الطباعة في الخلية P2 ونهاية الطباعة في Q2 الطريقة السابقة لطباعة الارقام المتسلسلة وراء بعضها الطريقة الثانية عن طريق فورم زر طباعة خسب الاختيار وهي تغنيك عن كل الازرار وعن الطريقة الاولى حيث يمكن الطباعة لموظف واخد او الطباعة للكل او الطباعة المتعددة خسب الاختيار سواء الارقام متصلة ام منفصلة اختر ما تراه متاسب لطلبك مرتبات شركة نقل البضائع فنيين عن شهر نوفمبر 2025 (1).xlsm
    3 points
  14. اعجني الموضوع من اول انشغالي بالاكسيس تيقنت ان الاكسيس من اضغف الحمايات لكني قكرة بان اسال الذكاء الصناعي سالت CHATGPT عن فكرة مجنونة لم يفكر بها احد لحماية الجداول ادعوا اخواني لتجربة الفكر المقترحة وانا ساجربها معكم مع توفر الوقت لدي سارفق الاجابة والسؤال الذي سالته انقر هنا
    3 points
  15. Version 1.0.0

    46 تنزيل

    أقدم لكم اليوم أداة تلوين خلفية النماذج بألوان متدرجة والتي تقوم بمنح النماذج خلفية ملونة بطريقة جميلة حيث تقوم فيها بإختيار لونين ليتم دمجهما والحصول على خلفية تتكون من ألوان متدرجة بين هذين اللونين ويمكن تحديد إتجاه التدرج (أفقياً - عمودياً - قطرياً) إستخدام الأداة سهل للغاية ولن يتطلب أي مهارات حيث أن الأداة تقوم بكل العمل تقريباً ما عليكم سوى تحديد الألوان والإتجاه وستقوم الأداة بتعميم التنسيق على بقية النماذج ضمن التطبيق. مرفق لكم مجلد يحتوي على نسخة توضيحية لتجربتها ومعرفة طريقة عملها ونسخة الفالب وتحتوي على الكائنات المطلوب إستيرادها لإستخدامها في تطبيقاتكم أرجو أن تنال هذه الأداة إعجابكم تحياتي
    3 points
  16. السلام عليكم ورحمة الله راجع المعادلات في الأعمدة المخفية من العمود B إلى العمود K من شيت "دفتر اليومية" لأن منها ظهر المشكل، وقمت بتصحيح هذه المعادلات بالسحب إلى الأسفل حسب ما فهمت في الملف المرفق. اليومية_034849.rar
    3 points
  17. السلام عليكم ورحمة الله لست أدري إن كنت قد فهمت المطلوب. ألق نظرة على الملف المرفق عبدالحي توزيع نسب (1).xlsx
    3 points
  18. نعم الفكرة واضحة .. وجميلة .. وجديدة على كاتب هذه الكلمات .. جزيت خيرا
    3 points
  19. 3 points
  20. بعد اذن استاذي @Moosak وهذا تصوري للتعامل مع الجداول المرتبطة . القاعدة الرئيسية :- الجدول المطلوبة اساسياً :- (tbl_DesignerPassword) والنموذج المطلوب (frm_DesignerPassword) بالاضافة الي جداول نظامك التي تريدها بالقاعدة الخلفية . ونماذج نظامك كما تريد القاعدة الخلفية :- استيراد بلنك كل الجداول بالقاعد الاساسية التي تدير بها القاعدة الخلفية ولا تنسي الجدول (tbl_DesignerPassword) . استيراد النماذج التي تريدها وتشغيلها من النموذج (frmSwitchBoard) فهو اساسي بالنظام مع النموذجان (Shift) و (FormKeys) . بعد الاستيراد لاتنسي غلق الجداول وعدم تفعيل الشيفت . ملحوظة :- استخدم القاعدة الخلفية بالمرفق وغير اسمها كما تحب لأن بها اعدادات أخرى مخفية خاصة باعدادات ال__ (Ribbon). عند فتح القاعدة الخلفية سيفتح على النموذج :- عند الضغط على الزر (S) سيفتح النموذج (Shift) كما بالجدول اذا ادخلت الباس (1001) ويمكن تغيير بالجدول سيمكنك من تفعيل الشفت اذا خطأ أو خالي عدم تفعيل الشفت . عند الضغط على الزر (HideUnHideTables) اذا ادخلت الباس (tariq1991) ويمكن تغيير بالجدول سيمكنك من اظهار الجداول والاستعلامات اذا خطأ أو خالي عدم اظهرها. اليك المرفق للتجريب وانا حاضر لاي استفسار . Khalifa Test.rar
    3 points
  21. وعليكم السلام ورحمة الله وبركاته 🙂 جرب طريقتي في حماية قاعدة البيانات .. أنقل جميع مكونات القاعدة لبرنامجك وشغله .. 🙂 وهذي طريقة ضبط الإعدادات .. لفتح البرنامج في وضع التصميم : كلمة المرور لفتح الإعدادات : 123 ( قم بتغييرها لاحقا ) الحماية تشمل : 1- إخفاء الجداول وجميع مكونات البرنامج . 2- منع الفتح بزر الشفت Shift . 2- منع إضهار لوحة التحكم عند الضغط على F11 . وهذا يعتبر الحد الأدنى والأشهر في حماية قاعدة البيانات .. ويمكنك التعمق للوسائل الأكثر احترافية مثل حماية صفحة الأكواد بكلمة مرور وحفظ الملف بصيغة accde وحماية الملف بكلمة مرور وغيرها .. دمتم سالمين 🙂 Database Security Template.accdb
    3 points
  22. هذا مثالي : لن يتم الحذف الا من خلال الزر فقط حتى لو صنعت زرا جديدا للحذف فلن تتمكن FMK2.rar
    3 points
  23. مع اني لست من مناصري استخدام الاكسس خارج اطار قواعد البيانات ولكن الإبداع الذي اراه في هذا العمل يستحق الإعجاب والتقدير فعلاً الأخت @hanan_ms مبدعة وتستحق ان تكون ضمن خبراء الموقع لانها دائما تثبت أن بالإمكان استخدام الاكسس لوظائف اخرى الى جانب قواعد البيانات وعندما أرى مثل هذا التمكن في البرمجة كما في هذا الموضوع او مواضيع الاخوة @Foksh و @jjafferr و @Moosak و @ابوخليل وبقية الاخوة الذين لايسع المجال هنا لذكرهم فلسان حالي كما يقول المثل (كلما قلنا عساها تنجلي .. قالت الايام هذا مبتداها 🫣) وان طريق التعلم مازال طويلاً شكرا لمبدعي المنتدى لكل ماتقدموه تحياتي
    3 points
  24. رداً على هذه النقطة ، وحيث أنه سبق تنفيذها سابقاً .. جرب المرفق نفسه بعد التعديل بحيث سيتم فقط عرض الخطوط العربية ( أو التي تتعامل مع الكاركتر العربي ) في الكومبوبوكس . مع إضافة الفرز التصاعدي للأسماء :- Db3.zip
    2 points
  25. مشاركة مع تنفيذ فكرة أستاذنا @kkhalifa1960 ، وبدلاً من الإعتماد على نموذج فرعي للقائمة الفرعية ، هذا تعديل على الفكرة التي تم طرحها سابقاً ، بحيث تم تطبيقها وكأنها Navigation Form .. الملف المرفق :- Menu Navigations.zip
    2 points
  26. انا طريقتي تختلف عن الاخوان حيث قمت بإظهار الجدول نفسه كما بالصورة وللقيام بذلك قم بتنفيذ الخطوات كالتالي 1- إنسخ الملف تحت القرص D مباشرة (يمكن نسخه إلى أي مكان ولكن هكذا سيكون المسار قصير) 2- إفتح الملف وقم بإنشاء الاستعلام التالي (هذه الخطوة غير مهمة لكم لإني سبق واستخرجت قيمة العمود المطلوب ووضعتها في الكود ولكني ذكرتها للتعرف على الخطوات) SELECT MSysObjects.Flags, MSysObjects.Name, MSysObjects.Type FROM MSysObjects WHERE ( ((MSysObjects.Name) NOT LIKE "MSys*") AND ((MSysObjects.Type) = 1) ); من خلال هذا الاستعلام سنتعرف على أي جدول Type=1 ولايبدأ بالأحرف MSys لتظهر لنا النتيجة كما بالصورة مايهمنا هنا هي قيمة العمود الأول Flags بعد ذلك قم بإغلاق التطبيق بدون حفظ اي شيء 3- إفتح أي قاعدة بيانات أخرى (سواء قاعدة بيانات فارغة أو مستخدمة لايهم) وفي أي وحدة نمطية (جديدة أو فيها اكواد لايهم) والصق فيها الإجراء التالي Sub sbUnHideTables() Dim app As Access.Application Dim wks As Workspace Dim db As dao.Database Dim rst As dao.Recordset Dim tdf As TableDef Set app = New Access.Application Set wks = app.DBEngine(0) 'الإصدار 64 Set db = wks.OpenDatabase("D:\HideTBL V1-64.accde") 'مسار الملف 'الإصدار 32 'Set db = wks.OpenDatabase("D:\HideTBL V1-32.accde") 'مسار الملف For Each tdf In db.TableDefs If tdf.Attributes = -2147483645 Then tdf.Attributes = 0 'تغيير قيمة العمود Flags Next tdf Set db = Nothing End Sub 4- انقر الزر F5 لتشغيل الإجراء حيث سيقوم بتغيير قيمة العمود Flags إلى القيمة صفر 5- اغلق قاعدة البيانات التي قمنا بتنفيذ الكود فيها (حفظ الكود من عدمه راجع لك) 6- الان إذهب إلى القرص D وقم بفتح الملف (HideTBL V1-64.accde او HideTBL V1-32.accde وفقاً لإصدار أوفيس لديك) لتجد أن الجدول قد ظهر في جزء التنقل تحياتي
    2 points
  27. السلام عليكم 🙂 ولو اني مشغول لقمة رأسي ومسافر غدا ان شاء الله ، ولكني اردت المشاركة تفاعلا مع اخي ابوخليل 🙂 . وطريقتي: بالاشارة الى موضوعي ، الجزء الاول: واليك الجزء الثاني من الموضوع: 1. عملت ملف اكسس فارغ، وعملت فيه الاستعلام التالي لقراءة جدول MSysObjects برنامجك ، والذي يحتوي على جميع جداول البرنامج : SELECT MSysObjects.* FROM [D:\temp\1642.HideTBL V1-32.accde].MSysObjects ORDER BY MSysObjects.DateUpdate DESC; . والسبب في الفرز التنازلي ، هو لحقل تاريخ تحديث الجداول ، يعني اخر جداول عملت عليها التحديث (فقط علشان سهولة الوصول للجدول المطلوب). وحتى لو ما عملت الفرز ، فكان بإمكاني عمل كود لفحص الجداول فردا فردا 🙂 وحصلت على الجداول التالية: . ومنها جربت الجدول AccessTbl : SELECT AccessTbl.* FROM [D:\temp\1642.HideTBL V1-32.accde].AccessTbl . وحصلت على النتيجة 🙂 جعفر
    2 points
  28. بعد التفكير في سؤالك اخي @Moosak أعتقد أنه بالإمكان الحصول على نفس النتيجة بطريقة غير مباشرة فإذا ماجعلنا خلفية مربعات التسمية ومربعات النص شفافة وبسطرين برمجيين لزر الأمر يمكننا الحصول على نفس النتيجة كما بالصورة فهل هذا هو ماكنت تقصده في سؤالك ؟
    2 points
  29. هو الآن كذلك لا يتقيد بشفت معين .. فقط سنجري بعض التعديلات مدير الموقع عليه الاعلان للموظفين فقط ان الحضور الساعة كذا والانصراف الساعة كذا ... ومهم جدا ان يدخل في فورم التحكم وقت الدخول ووقت الخروج و عدد ساعات العمل فقط هذا كل شيء ساعات العمل تحتسب من وقت الدخول الرسمي وليس من وقت توقيع الموظف أسعدني مرورك قبل المحدد ( فترة العمل ) متاح له الخروج والدخول أكثر من مرة اما بعد فلا يمكنه التوقيع مطلقا ... والبرنامج يطبق عليه لائحة النظام المتبعة اما بالنسبة لما قبل وقت الدخول فهذا يرجع لصاحب العمل ان اراد تقييده .. فهذا ممكن
    2 points
  30. السلام عليكم ورحمة الله تم التعديل على معادلاتك (معادلات الصفيف) في الملف لتتماشى مع طلبك دون استخدام الفلترة أو ماكرو... ألق نظرة على الملف المرفق. ID.xlsx
    2 points
  31. شكرا على المجاملة اللطيفة عملك هو البحر ,, ويلزم امتلاك الادوات اللازمة لمن اراد خوض غماره . اما فكرتي فهي تقليدية .. الطريقة القديمة المعتادة .. رقم النسخة ورقم التسجيل
    2 points
  32. قريباً .. التحدي الصعب بتطبيق لعبة الدومينو بواسطة آكسيس بأسلوب السحب والإفلات وتطبيق اللعبة الحقيقية على أرض آكسيس 😅 لمحة مصورة من اللعبة :-
    2 points
  33. جميل جدا تحدي الذات والتنافس معها .. 😊👌 أحييك على هذي الروح المثابرة 😊🌹
    2 points
  34. نظراَ لوجود أسماء متشابهة فإننا نقوم بتمييز كل إسم بفاصلة منقوطة في بدايته واخره وذلك حتى لايتم ظهور أسماء اخرى يكون الاسم المطلوب جزءاً منها فمثلا لو تلاحظ يوجد شركة بإسم فيجن واخرى بإسم دوت فيجن فإذا كان المطلوب هي الشركة فيجن فقط فلو كان المعيار هكذا Like "*فيجن*" فستظهر شركة دوت فيجن لإنها مستوفية للمعيار ولكن عندما يكون المعيار هكذا Like "*;فيجن;*" فهذا معناه أننا تجاهلنا ظهور سجلات غير مطلوبة ارجو أن أكون قد وضحت الفكرة
    2 points
  35. جرب المرفق لعله المطلوب OK الكشوف.xlsb
    2 points
  36. السلام عليكم اليك التعديل المصنف2.xlsm
    2 points
  37. Version 1.0.0

    55 تنزيل

    تواصلاً لهذه السلسلة أقدم لكم اليوم أداة رائعة تقوم بإضافة التعليمات المساعدة لتطبيقات الأكسس لتظهر بمظهر البرامج الإحترافية حيث تسمح لكم الأداة بإنشاء ملف تعليمات مقسم إلى عناوين رئيسية تحتوي على مواضيع فرعية بحيث يكون لكل موضوع فرعي التعليمات الخاصة به مرفق لكم مجلد يحتوي على ثلاثة ملفات 1 - القالب وهو نسخة فارغة تحتوي على الكائنات الضرورية والتي يتم إستيرادها إلى التطبيق الخاص بكم (ويمكن إستخدامه في إنشاء التعليمات لأي تطبيق وإستيراد الكائنات المطلوبة بعد الإنتهاء كتابة كل التعليمات الخاصة بالتطبيق حيث يوجد هناك ثلاثة نماذج لن تحتاجونها إلى في نسخة التطوير ويمكن الإستغناء عنها في الإصدار المخصص للمستخدم النهائي) 2 - عرض توضيحي يوضح لكم طريقة العمل بالأداة والذي أرجو أن يتم التركيز على الخطوات الموضحة فيه 3 - مثال عملي قمت فيه بتوضيح الطرق المختلفة للإستفادة من الأداة في مثال مشابه للواقع أرجو أن تكون هذه الأداة إضافة مفيدة لكل الإعضاء تحياتي
    2 points
  38. و عليكم السلام ورحمة الله و بركاته تفضل الحل بطريقتين الأول خاصة بنسخ الأوفيس الحديثة و الثانية بالنسخ القديمة Base des donnes (2).xlsx
    2 points
  39. الاخ الفاضل / عبدالله بشير عبدالله جزاك الله خيرا ... هذا ما كنت اريد معرفته لك مني كل التحية والتقدير . ولكل من شارك معك ا/ عبدللرحيم و ا/ أبوعيد
    2 points
  40. لدي نظرة خاصة قد توافقوني عليها وهي من غير المنطق تحويل الارقام والتواريخ الى حقول نصية .. ونظرتي هي ان التشفير يتم على الحقول المهمة التي قد يستدل بها على بيانات حساسة والتاريخ والارقام لا تعطي بيانات او مدلولا صريحا مؤكدا . الحقول المهمة التي قد تستخدم كأرقام مثل رقم الفاتورة او السند او رقم العميل او المستخدم هذه يؤخذ بالاحتياط وتجعل حقول نصية
    2 points
  41. الكود يعمل بشكل صحيح فبحسب الشرط اذا كان رقم الاداه لايساوي صفر (بدون تحديد ما اذا كان اكبر او اصغر من صفر) واسم الحقل هو Cridi او Elec فسيتم إرجاع قيمة التجميع لهذين الحقلين عبارة Else ستعني أنه إذا كان رقم الأداة يساوي صفر واسم الحقل هو Inkhirat او ErrVerment فسيتم إرجاع قيمة التجميع لهذين الحقلين اذا اردت ان يتم النعامل مع جميع الحقول بنفس الشروط قم بحذف عبارة Else وستنحل المشكلة تحياتي
    2 points
  42. هههههه نفس المبدأ تقريباً ، ولكن هنا عند التحميل يفرض القيمة دائماً وهي أسلم وأأمن .. المهم اطلاق سراحه بدون قيود 😅
    2 points
  43. صحيح .. تسلم كل مشكلة ولها حل .. المهم الفكرة تتم بشكل محكم وضعت هذا السطر عند تحميل النموذج الفرعي .. يعني اطلقنا سراحه حتى اشعار آخر ههههههه @Foksh ما رأيك الآن WIL7.rar
    2 points
  44. في الكومبوبوكس "Wil_Miled" قمت كتجربة بتغيير الحدث بعد التحديث من :- Me.Com_Miled.Requery ليصبح في النموذج الفرعي F2_Sub كالتالي ( كتجربة ) :- Private Sub Wil_Miled_AfterUpdate() If Not IsNull(Me.Wil_Miled) Then Me.Com_Miled.RowSource = _ "SELECT TblWsub.ID, TblWsub.N_C, TblWsub.Code_W " & _ "FROM TblWsub " & _ "WHERE TblWsub.Code_W = " & Me.Wil_Miled & " " & _ "ORDER BY TblWsub.N_C;" End If End Sub وكانت النتيجة كالتالي :- إلا أنني غير راضٍ عن الفكرة 😢 . رغم أن أحد التقويض في الحلول هو أن النماذج الفرعية = نماذج مستمرة !!!!
    2 points
  45. بما أن أفكار معلمي أبو خليل لا تنتهي ( مشكوراً على جهوده التي نتعلم منها ) . وددت المشاركة على الهامش في ملف المشاركة الأصلية كالتالي .. في مربع النص "مكان الميلاد" الحدث نفسه عند الخروج ( كما هي رغبة أخي طاهر ) :- 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.zip
    2 points
  46. 💣 تحميل اللعبة للنواتين :- Minesweeper v 4.0 - 64.accde.zip Minesweeper v 4.0 - 32.zip
    2 points
  47. وعليكم السلام ورحمة الله وبركاته المشكلة الرئيسية هي في منطق البحث البحث عن الأعمدة يتم من الصف 3 (G3:U3) ولكن البيانات تبدأ من الصف 4 الإزاحة (offset) غير صحيحة عند استخراج القيم اليك التعديل تنسيق ترتيب الجداول الكمية مع اسم الصنف مع التاريخ التابع له - Copy - Copy.xlsm
    2 points
  48. المطلوب الأول هو من جنس المطلوب الثاني ولا داعي لتكرار الجداول المعادلات المستخدمة هي من نوع الصفيف وليست معادلات عادية تفضل example1.xlsx
    2 points
×
×
  • اضف...

Important Information