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

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

  1. abouelhassan

    abouelhassan

    05 عضو ذهبي


    • نقاط

      11

    • Posts

      2,902


  2. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      8

    • Posts

      12,157


  3. محمد احمد لطفى

    • نقاط

      3

    • Posts

      1,912


  4. kkhalifa1960

    kkhalifa1960

    الخبراء


    • نقاط

      2

    • Posts

      1,688


Popular Content

Showing content with the highest reputation on 10 فبر, 2024 in all areas

  1. عليكم السلام اهلا اخي يونس توافقت معي في الوقت الذي انا الآن اعمل فيه حول هذه الجزئية من المشروع طبعا المرجع عند حدوث التغيير هو النموذج الذي تم عليه التعديل او التغيير وليس الجدول .. رغم انه هو المصدر ، والمثل يقول رجل الديك تجيب الديك توقفت عند مربعات التحرير .. التي تظهر قيم نصية بينما قيمتها الفعلية رقمية .. وعلى وشك الانتهاء من هذا الجزء فقط انتظرني سوف اطرح موضوعا متكاملا بهذا الخصوص ان شاء الله
    3 points
  2. الاصل اخى أن نقوم بتقديم البسيط وإليك المطلوب جرب Dim PreviousValue As Variant Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Me.UsedRange) Is Nothing Then Application.EnableEvents = False If PreviousValue <> Target.Value Then Call LogChanges(Target.Address, PreviousValue, Target.Value) PreviousValue = Target.Value End If Application.EnableEvents = True End If End Sub Sub LogChanges(ByVal TargetAddress As String, ByVal OldValue As Variant, ByVal NewValue As Variant) Dim wsLog As Worksheet Set wsLog = ThisWorkbook.Sheets("Log") With wsLog .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).Value = Now .Cells(.Rows.Count, 2).End(xlUp).Offset(1, 0).Value = TargetAddress .Cells(.Rows.Count, 3).End(xlUp).Offset(1, 0).Value = OldValue .Cells(.Rows.Count, 4).End(xlUp).Offset(1, 0).Value = NewValue End With End Sub الآن، قم بإضافة ورقة جديدة في ملف Excel واسمها "Log"، وهذه الورقة ستحتوي على تفاصيل التغييرات. عند كل مرة يتم فيها تغيير قيمة في ورقة العمل، سيتم تسجيل الوقت وعنوان الخلية والقيمة القديمة والجديدة في ورقة "Log". يرجى ملاحظة أنه يمكنك تعديل اسم ورقة العمل التي تحتوي على سجل التغييرات بحسب احتياجاتك.
    3 points
  3. تفضلى من صفحة كتابة الأكواد من الوحدة النمطية او النموذج
    2 points
  4. تلك الصيغة تستخدم في جداول البيانات في ، وتهدف إلى حساب مجموع لأرقام معينة استناداً إلى مجموعة من الشروط. في هذه الحالة، يتم تحديد المجموعة التي تريد جمع أرقامها في "range". ثم يحدد "criteria1" الشرط الذي يجب أن تلبيه الأرقام لتُضاف إلى المجموع، في هذا المثال هو ">100" لاستبعاد الأرقام من 1 إلى 100. وأما "criteria2" فهو الشرط الآخر الذي يجب أن تلبيه الأرقام لتُضاف إلى المجموع، في هذا المثال هو "<=100" لاستبعاد الأرقام من 1 إلى 100.
    2 points
  5. عدل جميع الخصائص في النماذج الى : سجل محرر كما في الصورة يوجد لديك اخطاء برمجية في المشروع .. تتبع الاخطاء في محرر الفيجوال بواسطة : debug / compile
    2 points
  6. السلام عليكم ورحمة الله وبركاته من خلال البحث عثرت على هذا البرنامج الذي يراقب التغيرات التي تطراء على البيانات . ادعو الله لمن صممه بان يجعل ذلك في ميزان حسناته السؤال / هل يمكن الحصول على التغيرات وفق الجدول المقترح . وجزاكم الله خير التغيرات.rar
    1 point
  7. حصلت عندي مثال يكن ينفعك... استدعاء الجدول من القاعدة الخلفية المحمية بكلمة مرور . 1-حالة للقراءة فقط (Pass : 1001) . يفتح الجدول للقراءة فقط . 2- حالة الفتح للتحرير (Pass : Admin) . يفتح الجدول لتحرير البيانات ........ 3 عند غلق الجداول المفتوحة وغلق النموذج يزيل الجدول . .اليك الشرح والمرفق . Pass.rar
    1 point
  8. سلمت يداك يا غالى والله الذى لا إله إلا هو : كانت دعوتى منذ دقائق : ((اللهم سخر لى عبدك من عبادك الصالحين يذلل لى هذه المشكلة )) فدخلت المنتدى فوجدت ردك الرائع والجميل ... عموما الكود يعمل بشكل رائع طبعا فلك الشكر على تعبك واهتمامك ... ويوجد أمر إن شاء الله سيسره الله عز وجل على يديك وهو (( عندما أفتح النموذج تكون البيانات قابلة للتعديل والحذف والإضافة )) (( لكن عندما أضيف مستند جديد يتم تفعيل منع التعديل والحذف والإضافة على النموذج كله )) وتأتى هذه الرسالة فطلبى منك تكرما أن يكون منع التعديل والحذف والإضافة يسرى على النموذج بأكمله قبل إضافة مستند :: كما هو الحال بعد إضافة المستند .. وجزاك الله وحده على خير ما قدمت يداك ...
    1 point
  9. يبدو ان الطلب مدرسي على كل حال انت من يرفع المرفق هنا اعمل مرفقا يشتمل على جدول ونموذج ادخال ونموذج دخول .. وادرج فيه بعض البيانات للاستئناس ثم ارفعه هنا وستجد المساعدة من اخوانك هنا ان شاء الله
    1 point
  10. مشكور على الشرح
    1 point
  11. مشاركة مع الاستاذ @SAROOK جزاه الله خيرا Private Sub document_name_AfterUpdate() Dim Msg, Style, Title, Response Dim XX As Variant XX = [document name] If (Eval("dlookup(""[document name]"",""[input]"",""[nomber] =form![document name]"") Is Not Null")) Then Msg = "الكتاب رقم" & " " & XX & " " & vbCrLf & _ "قد تم ادخاله سابقا " & vbCrLf & vbCrLf & _ "Yes : نعم اذهب الى ذلك السجل" & vbCrLf & _ "No : فقط الغي هذا السجل" Style = vbYesNo + vbCritical + vbDefaultButton2 + vbMsgBoxRight Title = "تحذير الرقم مكرر !! " Response = MsgBox(Msg, Style, Title) If Response = vbYes Then ' DoCmd.GoToControl "document name" DoCmd.FindRecord XX, , , , , acAll, True End If Me.Undo End If End Sub وهذا الملف بعد التعديل بالتوقيق abcd.rar
    1 point
  12. السلام عليكم في الجدول tbbook احتاج حذف النص في كافة الحقول الموجود بعد العلامة / مثلا book3 and f / كتاب1 يصبح book3 and f ملاحظة ارجو ان يكون الحذف مع العلامة library.accdb
    1 point
  13. كل الاحترام على مروروك الرائع
    1 point
  14. الفائده أن تعمل بيدك اخى وتتعلم الف مبروك نحن فى الخدمة اى وقت احترامى
    1 point
  15. الاستاذ المحترم محمد ألف شكر على مرورك، المعادلة أيضاً لم تعمل اكتشفت أن الخطأ كان في التالي: بدلاً من استخدام (;) استخدمت (,) اوفيس 2010 هل هذا سيؤثر على المعادلة؟ مع التقدير والشكر لجهودك الرائعة
    1 point
  16. تفضل وأنصحك بالابتعاد عن تسمية رؤوس العواميد بالعربى IIf([نوع الحركة]="سند قبض مورد";[نوع الحركة];0) سند.mdb
    1 point
  17. اشكرك جزيل الشكر اخي @Moosak بارك الله بك وبارك الله في رزقك وزادك علما 🌷
    1 point
  18. شكراً اسناذ @سامي الحداد وفقك الله تعالى
    1 point
  19. السلام عليكم هذا البرنامج عملته من سنين ، حين كنت اعمل في مكتبة المدرسة برنامج مكتبة مدرسية شامل 1- تسجيل الكتب وتوصيفها 2- تسجيل الطلاب 3- شاشة احترافية لإعارة الكتب واسترجاعها باستخدام قارىء الباركود ، أو باستخدام ادخال رقم الكتاب ورقم الطالب 4 - تقارير متنوعة شاملة 5- محاولة لتفعيل جهاز البصمة للزوار لم تكتمل بعد وميزات اخرى تجدونها عند تجربة البرنامج ارجوا ممن يستفيد منه الا ينساني من دعوة في ظهر الغيب . mktbah.rar
    1 point
  20. انا جاوبتك على سؤالك سدده بالضغط على أفضل بالضغط على أفضل اجابة . ثم افتح موضوع جديد بطلبك الجيد. حتى لا يغلق الموضوع من قبل الادارة.
    1 point
  21. السلام عليكم ورحمة الله وبركاته اليك التعديل اخي وهو يفيد رسالة انه هناك تكرار abcd.rar
    1 point
  22. تم عمل اللازم حفظ البيانات في الجدول والتطبيق على الحقل في النموذج الآن يمكنك التطوير كما تحب color3.accdb
    1 point
  23. يمكن تبسيط الكود قليلاً لتحقيق التسهيل. فيما يلي نسخة مبسطة من الكود: Sub OpenExcelFileWithPermissions() Dim filePath As String Dim permissionType As Integer ' تحديد مسار الملف filePath = "C:\مسار\الملف.xlsx" ' اختيار نوع الصلاحية: 1 - للقراءة فقط، 2 - كل الصلاحيات متاحة، 3 - تعيين admin permissionType = 2 ' فتح الملف بناء على الصلاحية المحددة Select Case permissionType Case 1 Workbooks.Open filePath, ReadOnly:=True Case 3 Workbooks.Open filePath SetAttr filePath, vbReadOnly Case Else Workbooks.Open filePath End Select End Sub ``` هذا الكود يقوم بفتح الملف بناءً على الصلاحية المحددة دون الحاجة إلى إعادة فتح الملف مرتين للحالات 2 و 3. يجب على المستخدمين تعديل المسار المحدد في المتغير `filePath` ليناسب مسار الملف الخاص بهم. إذا كان الكود لا يعمل، فمن المحتمل أن هناك مشكلة تحتاج إلى التحقق منها. هنا بعض النقاط التي يجب التحقق منها: 1. **المسار الصحيح للملف**: تأكد من أن المسار الذي تم تحديده في المتغير `filePath` يشير بالفعل إلى الملف Excel الذي تريد تطبيق الصلاحيات عليه. يجب أن يكون المسار مكتوب بشكل صحيح مع تحديد امتداد الملف (مثل .xlsx). 2. **رسائل الخطأ**: هل تظهر أي رسائل خطأ عند تشغيل الكود؟ إذا كان الأمر كذلك، فما هي هذه الرسائل؟ قد توفر رسائل الخطأ معلومات مفيدة حول سبب عدم عمل الكود. 3. **صلاحيات الملفات**: تحقق من أنك تمتلك الصلاحيات الكافية لفتح وتعديل الملف. قد تواجه مشكلة إذا كان الملف محميًا بكلمة مرور أو إذا كان لديك صلاحيات محدودة على المجلد الذي يحتوي على الملف. 4. **إصدار VBA**: تأكد من أن الإصدار الخاص بـ VBA مفعل ويعمل بشكل صحيح على جهاز الكمبيوتر الخاص بك. 5. **تعطيل الأمان**: قد تحتاج إلى التحقق مما إذا كانت إعدادات الأمان في Excel تمنع تشغيل الكود. قد تحتاج إلى تمكين الماكروهات والـ VBA في Excel. وانا موجود اخى بالخدمة
    1 point
  24. يمكنك نسخ الكود المذكور في إجابتي السابقة ولصقه في وحدة VBA في ملف Excel الخاص بك. بعد ذلك، يمكنك تعديل المسار المحدد إلى مسار ملف Excel الذي ترغب في تطبيق الصلاحيات عليه بالطبع، يُحقق الكود الصلاحيات المحددة عن طريق استخدام وظيفة `Workbooks.Open` في VBA، التي تسمح بفتح ملف Excel بصلاحيات معينة. 1. في البداية، يتم تعريف مسار الملف باستخدام متغير `filePath`. 2. ثم يتم تحديد نوع الصلاحية المطلوبة باستخدام متغير `permissionType`. 3. يتم استخدام بنية التحكم `Select Case` لتحديد الصلاحية المطلوبة وفتح الملف بناءً على ذلك. 4. إذا كانت الصلاحية محددة كـ "للقراءة فقط" (permissionType = 1)، يتم فتح الملف مع الخاصية `ReadOnly:=True`، مما يعني أنه لا يمكن تعديل الملف. 5. إذا كانت الصلاحية محددة كـ "كل الصلاحيات متاحة" (permissionType = 2)، يتم فتح الملف دون أي قيود. 6. إذا كانت الصلاحية محددة كـ "تعيين admin" (permissionType = 3)، يتم فتح الملف ثم تعيين خاصية القراءة فقط للملف باستخدام `SetAttr`، مما يجعله لا يمكن تعديله إلا بإلغاء هذه الخاصية. هذا الكود يتيح لك التحكم في صلاحيات فتح الملف بشكل دقيق وفقًا للمتطلبات التي تحددها.
    1 point
  25. Sub SetPermissions() Dim filePath As String Dim permissionType As Integer ' تحديد مسار الملف filePath = "C:\مسار\الملف.xlsx" ' اختيار نوع الصلاحية: 1 - للقراءة فقط، 2 - كل الصلاحيات متاحة، 3 - تعيين admin permissionType = 2 ' فتح الملف بناء على الصلاحية المحددة Select Case permissionType Case 1 ' فتح الملف للقراءة فقط Workbooks.Open filePath, ReadOnly:=True Case 2 ' فتح الملف بكل الصلاحيات Workbooks.Open filePath Case 3 ' فتح الملف كمسؤول (admin) Workbooks.Open filePath SetAttr filePath, vbReadOnly End Select End Sub يرجى استبدال "C:\مسار\الملف.xlsx" بالمسار الفعلي لملف Excel الذي ترغب في تعيين الصلاحيات له. هذا الكود يفتح الملف بناءً على نوع الصلاحية المحددة وفقًا للخيارات التي قمت بتحديدها (للقراءة فقط، كل الصلاحيات متاحة، تعيين admin). احترامي وتقديري
    1 point
  26. جرب Sub UpdateReport() Dim wsAllData As Worksheet Dim wsReport As Worksheet Dim lastRowAllData As Long Dim lastRowReport As Long Dim i As Long, j As Long ' تعيين الأوراق Set wsAllData = ThisWorkbook.Sheets("AllData") Set wsReport = ThisWorkbook.Sheets("Report") ' العثور على آخر صف في كل ورقة lastRowAllData = wsAllData.Cells(wsAllData.Rows.Count, "A").End(xlUp).Row lastRowReport = wsReport.Cells(wsReport.Rows.Count, "A").End(xlUp).Row ' مسح بيانات الورقة الثانية If lastRowReport > 1 Then wsReport.Range("A2:D" & lastRowReport).ClearContents End If ' البحث وتحديث بيانات الورقة الثانية For i = 2 To lastRowAllData For j = 2 To lastRowReport If wsAllData.Cells(i, 1).Value = wsReport.Cells(j, 1).Value Then wsReport.Cells(j, 2).Value = wsAllData.Cells(i, 3).Value ' بداية التاريخ wsReport.Cells(j, 3).Value = wsAllData.Cells(i, 4).Value ' نهاية التاريخ wsReport.Cells(j, 4).Value = wsAllData.Cells(i, 5).Value ' نوع الاجازة End If Next j Next i End Sub
    1 point
  27. جرب =SUMIF(range, ">50") حيث "range" تمثل نطاق الخلايا التي تحتوي على الأرقام التي تريد جمعها.
    1 point
×
×
  • اضف...

Important Information