نجوم المشاركات
Popular Content
Showing content with the highest reputation on 02/10/24 in all areas
-
عليكم السلام اهلا اخي يونس توافقت معي في الوقت الذي انا الآن اعمل فيه حول هذه الجزئية من المشروع طبعا المرجع عند حدوث التغيير هو النموذج الذي تم عليه التعديل او التغيير وليس الجدول .. رغم انه هو المصدر ، والمثل يقول رجل الديك تجيب الديك توقفت عند مربعات التحرير .. التي تظهر قيم نصية بينما قيمتها الفعلية رقمية .. وعلى وشك الانتهاء من هذا الجزء فقط انتظرني سوف اطرح موضوعا متكاملا بهذا الخصوص ان شاء الله3 points
-
الاصل اخى أن نقوم بتقديم البسيط وإليك المطلوب جرب 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
-
2 points
-
تلك الصيغة تستخدم في جداول البيانات في ، وتهدف إلى حساب مجموع لأرقام معينة استناداً إلى مجموعة من الشروط. في هذه الحالة، يتم تحديد المجموعة التي تريد جمع أرقامها في "range". ثم يحدد "criteria1" الشرط الذي يجب أن تلبيه الأرقام لتُضاف إلى المجموع، في هذا المثال هو ">100" لاستبعاد الأرقام من 1 إلى 100. وأما "criteria2" فهو الشرط الآخر الذي يجب أن تلبيه الأرقام لتُضاف إلى المجموع، في هذا المثال هو "<=100" لاستبعاد الأرقام من 1 إلى 100.2 points
-
2 points
-
السلام عليكم ورحمة الله وبركاته من خلال البحث عثرت على هذا البرنامج الذي يراقب التغيرات التي تطراء على البيانات . ادعو الله لمن صممه بان يجعل ذلك في ميزان حسناته السؤال / هل يمكن الحصول على التغيرات وفق الجدول المقترح . وجزاكم الله خير التغيرات.rar1 point
-
1 point
-
حصلت عندي مثال يكن ينفعك... استدعاء الجدول من القاعدة الخلفية المحمية بكلمة مرور . 1-حالة للقراءة فقط (Pass : 1001) . يفتح الجدول للقراءة فقط . 2- حالة الفتح للتحرير (Pass : Admin) . يفتح الجدول لتحرير البيانات ........ 3 عند غلق الجداول المفتوحة وغلق النموذج يزيل الجدول . .اليك الشرح والمرفق . Pass.rar1 point
-
سلمت يداك يا غالى والله الذى لا إله إلا هو : كانت دعوتى منذ دقائق : ((اللهم سخر لى عبدك من عبادك الصالحين يذلل لى هذه المشكلة )) فدخلت المنتدى فوجدت ردك الرائع والجميل ... عموما الكود يعمل بشكل رائع طبعا فلك الشكر على تعبك واهتمامك ... ويوجد أمر إن شاء الله سيسره الله عز وجل على يديك وهو (( عندما أفتح النموذج تكون البيانات قابلة للتعديل والحذف والإضافة )) (( لكن عندما أضيف مستند جديد يتم تفعيل منع التعديل والحذف والإضافة على النموذج كله )) وتأتى هذه الرسالة فطلبى منك تكرما أن يكون منع التعديل والحذف والإضافة يسرى على النموذج بأكمله قبل إضافة مستند :: كما هو الحال بعد إضافة المستند .. وجزاك الله وحده على خير ما قدمت يداك ...1 point
-
يبدو ان الطلب مدرسي على كل حال انت من يرفع المرفق هنا اعمل مرفقا يشتمل على جدول ونموذج ادخال ونموذج دخول .. وادرج فيه بعض البيانات للاستئناس ثم ارفعه هنا وستجد المساعدة من اخوانك هنا ان شاء الله1 point
-
1 point
-
مشاركة مع الاستاذ @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.rar1 point
-
السلام عليكم في الجدول tbbook احتاج حذف النص في كافة الحقول الموجود بعد العلامة / مثلا book3 and f / كتاب1 يصبح book3 and f ملاحظة ارجو ان يكون الحذف مع العلامة library.accdb1 point
-
1 point
-
1 point
-
الاستاذ المحترم محمد ألف شكر على مرورك، المعادلة أيضاً لم تعمل اكتشفت أن الخطأ كان في التالي: بدلاً من استخدام (;) استخدمت (,) اوفيس 2010 هل هذا سيؤثر على المعادلة؟ مع التقدير والشكر لجهودك الرائعة1 point
-
تفضل وأنصحك بالابتعاد عن تسمية رؤوس العواميد بالعربى IIf([نوع الحركة]="سند قبض مورد";[نوع الحركة];0) سند.mdb1 point
-
1 point
-
1 point
-
السلام عليكم هذا البرنامج عملته من سنين ، حين كنت اعمل في مكتبة المدرسة برنامج مكتبة مدرسية شامل 1- تسجيل الكتب وتوصيفها 2- تسجيل الطلاب 3- شاشة احترافية لإعارة الكتب واسترجاعها باستخدام قارىء الباركود ، أو باستخدام ادخال رقم الكتاب ورقم الطالب 4 - تقارير متنوعة شاملة 5- محاولة لتفعيل جهاز البصمة للزوار لم تكتمل بعد وميزات اخرى تجدونها عند تجربة البرنامج ارجوا ممن يستفيد منه الا ينساني من دعوة في ظهر الغيب . mktbah.rar1 point
-
انا جاوبتك على سؤالك سدده بالضغط على أفضل بالضغط على أفضل اجابة . ثم افتح موضوع جديد بطلبك الجيد. حتى لا يغلق الموضوع من قبل الادارة.1 point
-
السلام عليكم ورحمة الله وبركاته اليك التعديل اخي وهو يفيد رسالة انه هناك تكرار abcd.rar1 point
-
تم عمل اللازم حفظ البيانات في الجدول والتطبيق على الحقل في النموذج الآن يمكنك التطوير كما تحب color3.accdb1 point
-
1 point
-
يمكن تبسيط الكود قليلاً لتحقيق التسهيل. فيما يلي نسخة مبسطة من الكود: 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
-
يمكنك نسخ الكود المذكور في إجابتي السابقة ولصقه في وحدة 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
-
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
-
جرب 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 Sub1 point
-
جرب =SUMIF(range, ">50") حيث "range" تمثل نطاق الخلايا التي تحتوي على الأرقام التي تريد جمعها.1 point