البحث في الموقع
Showing results for 'صلاحيات'.
-
أخواني وأساتذتي ومعلمينا ( دون استثناء ) الكثير من المواضيع التي قد تكون تطرقت الى هذا الموضوع ولكن بطرق وأشكال مختلفة . اليوم وفقط في أوفيسنا / آكسيس ، سأقدم لكم نظام كامل متكامل لإدارة الطابور والدور الذي يمكن استخدامه في أي منشئة تجارية تتعامل بهذا النظام . من المعروف أننا عندما ندخل مركز للصرافة على سبيل المثال ، فإن العميل يحصل على رقم دور مطبوع على شكل تذكرة يحتفظ بها لحين تفرغ موظف لتلبية طلبه وخدمته . وعند انتظارك كعميل لحين وصول الدور لك فإنك تراقب شاشة الدور لمعرفة أين وصل الدور لأي تذكرة . وطبعاً ما يميز هذا النظام أنك في حين لم تكن متابعاً لشاشة العرض فإن النظام الصوتي كفيل بتنبيهك أين وصل الدور ولأي شباك موظف . إلى هنا وكل هذا متاح لك اليوم مع نظام مراقبة الطابور والدور الجديد . وسنسير بشرح المكونات تسلسلاً وشرحاً وافياً ( دون الإطالة .. ) أولاً :- واجهة حجز الدور الذي سيبدأ منها العميل بأخذ دور له ، وهي ذات واجهة بسيطة فقط زر واحد ينقره العميل للحصول على رقم دوره . مرفق تالياً صورة الواجهة ، والتي تدعم بالطبع شاشة اللمس . أي أن ما على العميل فقط هو النقر على الزر "احصل على رقم دور جديد" . ثانياً :- وبعد أن حصل العميل على دوره ، سيراقب دوره في قاعة الإنتظار على شاشة عرض الأدور ، والتي بدورها ستخبر العميل الى أي شباك موظف عليه التوجه حين يحين دوره ، وطبعاً لإرضاء الرغبات قمت بإضافة ميزة الناطق الصوتي ( عربي - انجليزي "اللغة الإفتراضية" ) . أي أنه عليك - كمستخدم أو مصمم - لاحقاً تفعيل اللغة العربية الصوتية (Text-to-speech) . وهنا نقطة مهمة يجب أن نمر عليها سريعاً كي تتوضح لك عزيزي القارئ كيف يمكن تفعيل القارئ الصوتي العربي للنصوص . لذا هذا الفيديو يوضح الخطوات الأولى لإضافة اللغة العربية الصوتية إلى ويندوز 10 . النقطة المزعجة من مايكروسوفت أنه وللأسف لا يتم فعلاً إضافة هذه التثبيتات الى مكانها الصحيح في محرر الريجستري . لذا علينا فعل ذلك بالطريقة اليدوية لضمان تشغيل القارئ الصوتي العربي . لذا ولمحة سريعة سنتطرق للموضوع بشكل مختصر :- بعد الذهاب إلى محرر الريجستري + R اكتب كلمة regedit اذهب الى المسار التالي : Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Speech_OneCore\Voices\Tokens قم بتصدير هذا المفتاح كاملاً الى سطح المكتب بأي اسم تريده . افتح ملف الريجستري هذا باستخدام المفكرة Notepad . قم بإزالة الجزء "_OneCore" من جميع المسارات الموجودة أمامك . احفظ الملف ، وافتحه واختر Yes - نعم من الرسالة التي ستظهر لك مرتين ( على ما أعتقد ) . مبروك عليك تفعيل الناطق العربي . لك حرية الإختيار بتفعيل اللغة العربية أو لا ، ويمكنك الإنتقال لباقي الشرح . تابع معي :- الآن جاء دور الموظفين الذي سيكون لهم جميعهم نموذج واحد بنفس الأكواد بدون أي فرق لا في الشكل ولا في طريقة العمل ، انظر الصورة لاستكمال الشرح :- صورة لواجهة الموظف ( الشباك 1 ) والأمر نفسه لباقي الموظفين . ماذا يمكن للموظف أن يفعل هنا ؟ فقط النقر على الزر الذي سيكون مفعلاً عند وجود عملاء في الإنتظار ( استدعاء التالي & عدد العملاء الذين في الإنتظار ) كما في الصورة التالية :- فقط بعد النقر سيتم استدعاء العميل الأول في الانتظار ( حسب وقت الحجز طبعاً ) الى الشباك 1 :- طبعاً من المزايا المتاحة للموظف ، تحويل عميله الى موظف آخر ( ذو اختصاص على سبيل المثال ) ... إلخ . أو أن يطلب استراحة ( عند عدم انشغاله في عميل ) بأن يكون غير متاح في هذه الفترة لتلقي العملاء .... إلخ . وأيضاً بدء وانهاء خدمة العميل . وطبعاً الأمر ينطبق على جميع الموظفين . ثالثاً :- لوحة عرض العملاء في الإنتظار ، ذات واجهة بسيطة ومريحة كالتالي :- ليس بها أي تعقيد أو أمور تتطلب اعدادات أو ضبط خاص . رابعاً :- شاشة تحكم المدير ، وبهذه الواجهة سنشرحها في نقاط .. الجهة اليمنى تمثل إحصائيات واضحة للمدير عن تفاصيل حركة الدور ... الأزرار في أسفل يمين الشاشة تمثل :- • زر مخصص لتفعيل / تعطيل الناطق الصوتي لرقم الدور . • زر تحديث يدوي = تحديث للتفاصيل الظاهرة للشاشة بشكل يدوي . • زر تعيين القيمة التلقائية للتحديث = عند النقر عليه سيتم اظهار قائمة بسيطة تمثل رقم الدقائق التي تريد للنظام أن يتم تحديثه بشكل تلقائي دون الحاجة الى التحديث اليدوي . • زر إنهاء جميع العملاء العالقين = للطواري في حين حدوث أي خلل أو انقطاع الكهرباء أو الخروج لأي موظف دون انهاء عميله ، أو وجود عملاء لهم حجز وليسوا موجودين ... إلخ . الجهة اليسرى العلوية وتمثل العملاء الذين في الانتظار ( رقم الدور و الوقت الذي تم الحجز فيه ) . الكومبوبوكس الذي يمثل الموظفين المتاحين الآن ، وعند اختيار اي موظف سيتم عرض حالته ( متفرغ - في استراحة - يخدم عميل رقم .. ) وهنا تأتي صلاحيات المدير بأن يقوم بتحويل عميل هذا الموظف الى عميل محدد أو إعادته إلى حالة الإنتظار ( وهنا سيكون لهذا العميل الحق بالوصول لأول موظف متفرغ "VIP" ) .أو أن يتم من الإدارة إنهاء خدمة العميل الذي يخدمه الموظف الذي تم اختياره . إمكانية عرض الساعة باللغتين العربية والإنجليزية عند النقر على الساعة فقط . تم تقسيم قاعدة البيانات الى قواعد امامية وقاعدية بيانات خلفية ( للجداول المشتركة ) . وميزات كثيرة ستجدونها في هذا العمل المتواضع . Queue Management System.zip
- 11 replies
-
- 4
-
-
-
نظام مراقبة ⭐ هدية ~ نظام مراقبة الطابور وحجز الدور في المنشئات 2025⭐
Foksh replied to Foksh's topic in قسم الأكسيس Access
تحسين الإتصال بقاعدة البيانات الخلفية ( الجداول ) ، وتلافي أخطاء محتملة .. تحسين واجهة العرض الرئيسية ( شاشة الإنتظار ) ، وتحسين سرعة تحديث البيانات على الشاشة . عدم إتاحة الفرصة لأي مستخدم باختيار قاعدة بيانات خلفية غير المسموح بها . توسيع صلاحيات المدير بإضافة ميزة النسخ الإحتياطي ( إنشاء و إستعادة ) . وهذه الميزة جديدة بطريقتها ، بحيث تتميز بـِ :- التعامل مع الجداول فقط عند النسخ الإحتياطي أو الإستعادة ، وليس كقاعدة كاملة . ولكن بسهولة ويسر .. التعامل بإحترافية مع تضمين كلمة المرور الحالية للقاعدة المرتبطة ضمن اسم النسخة الإحتياطية ( باستخدام تشفير بسيط Base64 ) . سهولة تمرير كلمة المرور لكل قاعدة يتم استعادتها أو ربطها من النسخ الإحتياطية - دون الحاجة إلى كتابة كلمة مرور قاعدة بيانات الجداول - حتى لو اختلفت من نسخة الى نسخة . توحيد مجلد قاعدة البيانات الخلفية في مكان واحد لجميع الأجهزة المرتبطة عند الإستعادة لأي نسخة احتياطية . عملية ربط ديناميكية سريعة محدثة عن النسخة السابقة . نظام رسائل تنبيه حديث ومتطور ( بدلاً من رسائل آكسيس ) . حيث تم الإستغناء عن 90% من رسائل آكسيس التقليدية MsgBox . تحسين تفاعل شاشة المدير مع المستخدم . افتح أولاً قاعدة بيانات المدير (Manager Controls) ، وسيُـطلب منك اختيار قاعدة بيانات الجداول الخلفية المرفقة بجانب قاعدة البيانات حاليــــــاً بإسم (TBL) ، والغير محمية بكلمة مرور طبعاً - ( الأمر اختياري لك ) . الآن تباعاً سيتم نسخ قاعدة البيانات الى المجلد TBL:- \Data\TBL انتهى دور المدير في الوقت الحالي . الآن بالتسلسل سيقوم كل موظف / جهاز حجز الدور / شاشة عرض الإنتظار بتشغيل قاعدة بياناتــــه ، وسيطلب منه تحديد قاعدة البيانات الخلفية بشكل يدوي أول مرة طبعاً فقط . وهنا فقط تستطيع الربط مع القاعدة الموجودة في المجلد \Data\TBL في مساره على الجهاز الرئيسي طبعاً . بعد تحديد مسار الملف بغض النظر عن موقعه ( شبكة محلية / بجانب قاعدة البيانات ... إلخ ) سيتم فتح نافذة - ( الصورة أدناه ) - تطلب منك إدخال كلمة مرور الجداول ، فإذا كانت محمية بكلمة مرور فقم بكتابتها . وإلا اضغط موافق واترك الخانة فارغة للمتابعة بدون كلمة مرور . ونكون قد انتهينا من الربط وتهيأة النظام للعمل 😅 . :- دائماً يسعدني إبدائكم الرأي والملاحظات حول الأخطاء والمشاكل التي يمكن مواجهتها في أي مشروع يتم تأسيسه في آكسيس أو غيره من لغات البرمجة . في حال رغبتك أخي المستخدم بإضافة التقارير ، فقد تم تأسيس الجداول بسهولة ودون تعقيد ، وبعدد حقول قليل ويخدم جميع البيانات التي تحتاجها . QMS 1.30.zip- 11 replies
-
- 1
-
-
السلام عليكم ورحمة الله وبركاته الأستاذة الافاضل في منتدى اوفيسنا : اريد التحكم في صلاحيات المستخدمين في قاعدة البيانات المرفقة من حيث الإضافة او الحذف او التعديل لذلك قمت بعمل نموذج يحتوي على combo box مصدره حقل المستخدمين من جدول المستخدمين واضفت إلى هذه النموذج نموذج فرعي يحتوي علي صلاحيات المستخدمين مصدره أيضا جدول المستخدمين وقمت بربط اسم المستخدم في هذا النموذج الفرعي باسم المستخدم في الــcombo box بحيث عندما اختار اسم المستخدم من الcombo box تظهر صلاحياته في النموذج الفرعي واقوم بتغيير أي صلاحية من هذا النموذج الفرعي لحد الان ماكو أي مشكلة . السؤال هو عندما قمت بوضع button في النموذج الرئيسي لكي يقوم بعملية التراجع عن اجراء أي تعديل أقوم به في صلاحيات المستخدمين علما اني وضع الكود التالي : Me.Usertbl_subform.Form.Undo في حدث on click لهذا الـــbutton . فما هي المشكلة ان الكود لا يعمل تراجع ؟؟؟ هو من الممكن ان أقوم بعملية التراجع بإزالة علامة الصح يدويا من الــcheck box لكن بصراح اود معرفة سبب عدم عمل هذا الكود كذلك اريد التحكم بالنموذج الفرعي من خلال button في النموذج الرئيسي لا نه يستخدم في السؤال في ما اذا اريد الحفظ او التراجع ؟ ارجو المساعدة في هذا الموضوع ؟ وجزاكم الله خير الجزاء Users.rar
-
مساهمة بعد تعديلها لتعمل على اكسل بدلاً من اكسيس ولست متأكد منها :- في وحدة نمطية جديدة = Option Compare Database #If VBA7 Then Private Declare PtrSafe Function OpenProcessToken Lib "advapi32.dll" ( _ ByVal ProcessHandle As LongPtr, _ ByVal DesiredAccess As Long, _ ByRef TokenHandle As LongPtr _ ) As Long Private Declare PtrSafe Function GetTokenInformation Lib "advapi32.dll" ( _ ByVal TokenHandle As LongPtr, _ ByVal TokenInformationClass As Long, _ ByRef TokenInformation As Any, _ ByVal TokenInformationLength As Long, _ ByRef ReturnLength As Long _ ) As Long Private Declare PtrSafe Function GetCurrentProcess Lib "kernel32" () As LongPtr Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _ ByVal hwnd As LongPtr, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long _ ) As LongPtr #Else Private Declare Function OpenProcessToken Lib "advapi32.dll" ( _ ByVal ProcessHandle As Long, _ ByVal DesiredAccess As Long, _ ByRef TokenHandle As Long _ ) As Long Private Declare Function GetTokenInformation Lib "advapi32.dll" ( _ ByVal TokenHandle As Long, _ ByVal TokenInformationClass As Long, _ ByRef TokenInformation As Any, _ ByVal TokenInformationLength As Long, _ ByRef ReturnLength As Long _ ) As Long Private Declare Function GetCurrentProcess Lib "kernel32" () As Long Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _ ByVal hwnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long _ ) As Long #End If Public Function IsRunAsAdmin() As Boolean Const TOKEN_QUERY As Long = &H8 Const TokenElevation As Long = 20 Dim hToken As LongPtr Dim elev As Long Dim retLen As Long If OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, hToken) <> 0 Then If GetTokenInformation(hToken, TokenElevation, elev, LenB(elev), retLen) <> 0 Then IsRunAsAdmin = (elev <> 0) End If End If End Function Public Sub RestartAsAdmin() Dim exePath As String Dim dbArgument As String exePath = Application.FullName dbArgument = """" & Application.CurrentProject.FullName & """" ShellExecute 0, "runas", exePath, dbArgument, vbNullString, 1 Application.Quit End Sub Public Sub CreateTextFile() Dim FilePath As String Dim FileNum As Integer If Not IsRunAsAdmin Then MsgBox "البرنامج بحاجة إلى صلاحيات مسؤول (Administrator)." & vbCrLf & _ "سيتم إعادة تشغيل Access بطلب صلاحيات مرتفعة...", _ vbExclamation, "تحتاج صلاحيات" RestartAsAdmin Exit Sub End If FilePath = "C:\Windows\fs.txt" FileNum = FreeFile Open FilePath For Output As #FileNum Print #FileNum, "fs" Close #FileNum MsgBox "تم إنشاء الملف بنجاح في:" & vbCrLf & FilePath, _ vbInformation, "نجاح" End Sub الإستدعاء سيكون في الزر على سبيل المثال = CreateTextFile
-
قاعدة بيانات الاكسس لا تحفظ اى استعلام جديد
kkhalifa1960 replied to mohamed_ets's topic in قسم الأكسيس Access
استاذ @mohamed_ets اولا كنا منتظرين اجابنك على اسئلة أستاذ @Foksh كي نساعدك . المهم 1- من تحليل الصورة الاولى :- حل مشكلة عدم القدرة على حفظ التغييرات في Microsoft Accessيبدو أنك تواجه مشكلة في حفظ التغييرات في قاعدة بيانات Access بسبب أن الملف مفتوح من قبل مستخدم آخر. إليك بعض الحلول الممكنة: الحلول المباشرة: إغلاق جميع نسخ Access وإعادة فتح الملف بحقوق حصرية: أغلق جميع نسخ Access المفتوحة افتح الملف مع الضغط على زر Shift أثناء الفتح أو استخدم خيار "فتح بحقوق حصرية" من قائمة File إعادة تشغيل الكمبيوتر: أحيانًا يعالج هذا المشكلة إذا كان هناك قفل على الملف بسبب عملية سابقة حلول أخرى: إنشاء نسخة جديدة من الملف: استخدم "Save As" لحفظ الملف باسم جديد أو استخدم "Compact and Repair Database" من قائمة Tools فحص وجود ملف .lck: ابحث عن ملف بنفس اسم قاعدة البيانات ولكن بامتداد .lck في نفس المجلد واحذفه إذا كنت تعمل على شبكة: تأكد من عدم وجود مستخدم آخر يصل إلى الملف تحقق من أذونات المجلد للتأكد من أن لديك حقوق الكتابة 1- من تحليل الصورة الثانية :- حل مشكلة "You do not have exclusive access to the database" في Access هذه المشكلة شائعة في Microsoft Access وتحدث عندما يحاول عدة مستخدمين تعديل التصميم في نفس الوقت، أو عندما يكون الملف مقفولاً. إليك الحلول التفصيلية: الحلول الفورية: إغلاق جميع نسخ Access وإعادة الفتح بحقوق حصرية: أغلق جميع نوافذ Access المفتوحة اضغط بزر الماوس الأيمن على ملف قاعدة البيانات اختر "فتح باستخدام" → Microsoft Access أثناء الفتح، اضغط مع الاستمرار على مفتاح Shift لفتحه في وضع الحصرية استخدام خيار "فتح بحقوق حصرية": شغّل برنامج Access أولاً (بدون فتح الملف) اذهب إلى File → Open حدد ملف قاعدة البيانات انقر على السهم الصغير بجوار زر Open واختر "Open Exclusive" حلول متقدمة: إصلاح قاعدة البيانات: من قائمة File اختر "Info" انقر على "Compact & Repair Database" احفظ نسخة جديدة من الملف حذف ملف القفل (.lck): اذهب إلى مجلد قاعدة البيانات ابحث عن ملف بنفس الاسم ولكن بامتداد .lck احذف هذا الملف (تأكد من عدم وجود أحد يستخدم قاعدة البيانات عند القيام بذلك) نسخ التقرير إلى قاعدة بيانات جديدة: أنشئ قاعدة بيانات جديدة فارغة استخدم خيار "Import" لاستيراد التقرير من القاعدة القديمة إلى الجديدة إذا كنت تعمل على شبكة: طلب من المستخدمين الآخرين الإغلاق: تأكد من عدم وجود مستخدمين آخرين يعدلون التصميم اطلب من الجميع إغلاق قاعدة البيانات مؤقتًا فحص أذونات الملف: تأكد أن لديك صلاحيات الكتابة على الملف والمجلد اضغط بزر الماوس الأيمن على الملف → Properties → Security نصائح وقائية: احفظ نسخة احتياطية من قاعدة البيانات بانتظام تجنب فتح قاعدة البيانات للتصميم من خلال الشبكة، انسخها محلياً أولاً استخدم "Split Database" إذا كان عدة مستخدمين يحتاجون الوصول جرب هذه الحلول بالترتيب، وعادةً ما يحل أحدها المشكلة. إذا استمرت المشكلة، قد تحتاج إلى فحص إضافي لإعدادات الشبكة أو أذونات الملفات. لاحظ بالتحليلين وجود عامل مشترك هو وجود ملف بنفس الاسم ولكن بامتداد .lck احذف هذا الملف (تأكد من عدم وجود أحد يستخدم قاعدة البيانات عند القيام بذلك) -
وعليكم السلام ورحمة الله وبركاته الموضوع طويل وشائك نوعا ما ولكن رحلة الف ميل تبدأ بخطوة وهذه هي الخطوة (خطوة جامدة) هذا ملف من هذا المنتدى فيه صلاحيات المستخدمين حسين (كلمة مروره 123) هو ال King يستطيع التحكم في ظهور وأخفاء جميع الأوراق في البرنامج وكذالك يتحكم في صلاحيات المستخدمين الباقين بينما حمد (كلمة مروره 11) لا يستطيع التحكم إلا في بعض الأوراق بحسب ما حددها له حسين إذن حسين يستطيع أن يوزع صلاحيات الأوراق وكلمات المرور على المستخدمين ممكن أن نجعل حمد كذلك يتحكم في جميع الأوراق في البرنامج بأن نكتب أمام جمع الأوراق كلمة (نعم) لا أطيل الكلام , التفاصيل داخل البرنامج المرفق تنبيه : كما قلت هذه هي الخطوة الأولى شاشة الدخول مع صلاحيات المستخدمين.xlsb
-
كود لإنشاء ملف نصي في مجلد النظام system
عبدالله بشير عبدالله replied to فتحي محمد's topic in منتدى الاكسيل Excel
السلام عليكم انتبه الى الملاحظة التي كتبها معلمنا الاستاذ محمد صالح مجلد C:\Windows هو مجلد نظام، ولا يُسمح للبرامج العادية (بدون صلاحيات مسؤول) بإنشاء أو تعديل ملفات بداخله وهذا هو سبب ظهور الخطأ بالماوس الايمن على تطبيق اكسل وليس ملف الاكسل قم باختيار تشغيل كمسؤول وسيعمل الكود وينشئ الملف وقد فمت بالتجرية وكانت تاجحة بالتمام والكمال نحياني -
مساعدة فى تصميم برنامج شئون عاملين من الصفر
ابو جودي replied to The best's topic in قسم الأكسيس Access
طب مبدئيا كل الشكر والتقدير لاساتذتنا العظماء استاذى الجليل و معلمى القدير و والدى الحبيب الاستاذ @ابوخليل والاستاذ @Foksh ما قصور و وفوا وكفوا والله وبما أن الموضوع فى بدايته وقبل الابحار "روح" أي مشروع ناجح وضع الأساس السليم والذى يبدأ بالتحليل قبل التفكير فى الجدول ولكن الاهم كيف يمكن عمل تحليل النظم بأسس منهجيه صحيحة اولا وباختصار عند تصميم أى نظام: ابدأ بجمع كل المتطلبات بشكل كامل حدد الكيانات الأساسية وصفاتها أنشئ الجداول بشكل نظيف مع تحديد المفاتيح الأساسية اربط الجداول ببعضها عبر علاقات فعلية منظمة حافظ على مرونة الاستعلامات عبر بناء علاقات إضافية مؤقتة عند الحاجة سامع اللى بيقول هناك ايه الكلام ده ؟ ردا على هذا السؤال تفصيلا : كيف تقوم بعمل التحليل المناسب لمشروع قاعدة بيانات؟ 1. فهم متطلبات المشروع (Gather Requirements) اجمع كل التفاصيل من العميل أو من نفسك (لو بتعمل لنفسك). اسأل أسئلة مثل: ما هو الهدف الأساسي من القاعدة؟ ما هي أنواع المعلومات التي يجب تخزينها؟ ما العمليات التي يقوم بها المستخدمون؟ (إدخال، تعديل، بحث، تقارير، الخ) هل في صلاحيات مختلفة للمستخدمين؟ ما العمليات المستقبلية المحتملة؟ 2. تحديد الكيانات (Entities) الرئيسية الكيانات هي الأشياء أو الأشخاص أو الأحداث التي تحتاج إلى تسجيل بيانات عنها في مثال "شئون العاملين" الكيانات قد تكون: الموظف (Employee) الوظيفة (Job Title) القسم (Department) الإجازات (Vacations) المرتبات (Salaries) الحضور والانصراف (Attendance) التأمينات (Insurance) الجزاءات (Penalties) المكافآت (Rewards) 3. تعريف السمات (Attributes) لكل كيان لكل كيان تحدد المعلومات المرتبطة به مثلا للموظف (Employee): رقم الموظف الاسم تاريخ الميلاد العنوان رقم الهوية رقم الهاتف تاريخ التعيين الوظيفة الحالية المرتب الأساسي الحالة الاجتماعية .... الخ... 4. تحديد العلاقات بين الكيانات حدد كيف ترتبط الكيانات ببعضها مثال: كل موظف ينتمي إلى قسم واحد ⇚ علاقة واحد إلى متعدد (One-to-Many) كل موظف يمكن أن يكون له أكثر من إجازة ⇚ علاقة واحد إلى متعدد أيضا ¤ مهم جدا تحديد اتجاه العلاقة ونوعها كيف تحدد وضع التصور للجداول والهيكل؟ 1. تصميم الجداول بشكل طبيعي (Normalization) تأكد إن الجداول تكون بدون تكرار للمعلومات (تجنب تكرار نفس البيانات في أكثر من جدول) كل جدول يمثل كيان مستقل. 2. المفاتيح الأساسية (Primary Keys) كل جدول لازم يحتوي على مفتاح أساسي (Primary Key) يميز كل سجل بشكل فريد مثال: جدول الموظفين : الحقل EmployeeID \ مفتاح أساسي ولكن أنا لا احب و لا أفضل التعامل مع حقل الـ ID الافتراضى داخل الجداول الأفضل ترك حقل ID الذي ينشئه Access كمفتاح أساسي (AutoNumber) بدون تغيير حقل ID الأساسي يبقى دائما موجود داخل الجدول داخلي ما نلمسه وما نستعمله في الربط الخارجي فقط يحفظ سلامة السجلات داخليا إنشاء حقل يدوي خاص بك مثلا EmployeeID نوعه Number (Long Integer) / أو نص حسب الرغبة ضبط خاصية الفهرسة: "مفهرس بدون تكرار" عندما يكون نوعه أساسي (Primary ) أو "مفهرس يقبل التكرار" حسب نوعه أجنبي (Foreign Key) استخدام الحقل اليدوي (EmployeeID مثلا) للربط بين الجداول بدلا من ID هل عمل العلاقات مباشرة أم أثناء الاستعلامات؟ الأساس الدائم = العلاقات الفعلية في تصميم القاعدة الحالات الخاصة المؤقتة = علاقات مؤقتة داخل الاستعلامات ✍️ نصيحة ذهبية: دائما أنشئ المفتاح الأساسي بيدك سميه باسم يعبر عن الجدول خصائص فهرسته: فهرسة بدون تكرار كيف تسمي الحقول والمعرفات بطريقة صحيحة واحترافية؟ هذا رأيى الضئيل المتواضع وقد أكون مخطئ لانه سوف أختلف مع اساتذتى العظماء حتى لا تواجه مشاكل لاحقا مع الاستعلامات أو الربط أو حتى مع البرمجة اتبع القواعد دي: اسم المعرف = اسم الجدول بدون تكرار زائد + "ID" مثلاً: اسم الجدول اسم الحقل المفتاح الأساسي Employees EmployeeID Departments DepartmentID Vacations VacationID Salaries SalaryID قاعدة تسمية المفاتيح الأجنبية (Foreign Keys) لما تيجي تنقل مفتاح لجدول تاني (رابط)، خليه بنفس الاسم تمامًا! مثال: عندك جدول tblEmployees وفي جدول tblVacations بتربط الموظف اسم الحقل في Vacations هيكون أيضا : EmployeeID نفس الاسم بدون تغيير ليه؟ عشان لما تستخدم استعلامات فيها JOIN تربطهم بدون لخبطة أو إعادة تسمية أو لبس في فهم العلاقات خصائص الفهرسة لكل حالة الحالة الفهرسة في الجدول الأصلي (المفتاح الأساسي) مفهرس لا يقبل التكرار (Indexed - No Duplicates) في الجدول المرتبط (مفتاح أجنبي) مفهرس يقبل التكرار (Indexed - Duplicates OK) هل استخدام نفس الاسم (EmployeeID مثلا) يسبب مشكلة؟ لا طالما أنت ملتزم بالعلاقات الصحيحة (Relationships) واستخدمت أسماء الجداول والحروف الواضحة في الاستعلامات فلن تحدث مشكلة Access سوف يتعامل مع الحقول حسب السياق (اسم الجدول قبل الحقل لو حصل تعارض بسيط) ملاحظة إضافية تجنب الأسماء المحجوزة مثل (Name, Date, Year, User) لأنها قد تسبب مشاكل لاحقًا في الكود أو الاستعلامات حاول دائمًا تسمية الحقول بشكل يوحي بالمحتوى (BirthDate أفضل من Date فقط). ✍️ المختصر المفيد و الخلاصة : أنشئ أنت الحقول بنفسك = أفضل تحكم وجودة سم المفاتيح بشكل احترافي اسم الجدول + ID الفهرسة تكون حسب النوع: أساسي = بدون تكرار / أجنبي = يقبل التكرار لا تخف من تكرار اسم الحقل طالما هناك علاقة صحيحة مدعومة جيدا ..... يتبع -
عندى برنامج مضممة على اكسيل وخلاص خلصته وعاوز اعمل صفحة صلاحيات وكدة فالمهم نزلت شيت صلاحيات من هنا من الموقع لكن لما بدمجهم مع بعض بيتم عمل مشاكل فى تشيغل الاكواد اى الحل ؟ مرفق شيت الصلاحيات شاشة الدخول مع صلاحيات المستخدمين (1).xlsb
-
يبدو أن المشكلة مرتبطة إما بإعدادات الأمان في Microsoft Access أو بنوع الرابط المخزن في lin_address. إليك عدة حلول ممكنة: 1. تعديل إعدادات الأمان في Access عند النقر على الرابط، تظهر لك رسالة الأمان الخاصة بـ Microsoft Access، وهذا قد يمنع تنفيذ الأوامر المتعلقة بـ FollowHyperlink. لتجاوز هذا، جرب الآتي: افتح Access، ثم اذهب إلى File > Options > Trust Center اختر Trust Center Settings انتقل إلى Macro Settings وتأكد من تحديد Enable all macros انتقل إلى Trusted Locations، وأضف المسار الذي يوجد فيه ملف قاعدة البيانات (إذا لم يكن مضافًا بالفعل) بعد هذه الخطوة، أعد تشغيل Access وجرب مجددًا. 2. التحقق من صحة الرابط المخزن تأكد أن lin_address يحتوي على رابط صالح، مثل: لملف محلي: C:\Users\YourUser\Documents\example.pdf لموقع ويب: https://www.example.com لمجلد مشترك: \\ServerName\SharedFolder\File.pdf 🔹 إذا كان الرابط يحتوي على مسافات، جرب وضعه بين علامات اقتباس: link = """" & Me.lin_address & """" 3. تعديل الكود لمعالجة الأخطاء المحتملة استبدل الكود الحالي بهذا الكود المعدل لمعالجة الأخطاء وإضافة طريقة مختلفة لفتح الملفات المحلية: Dim link As String On Error GoTo ErrorHandler link = Me.lin_address If link <> "" Then If Left(link, 4) = "http" Or Left(link, 3) = "www" Then ' فتح روابط الويب Application.FollowHyperlink link ElseIf Dir(link) <> "" Then ' فتح ملفات محلية باستخدام Shell Shell "explorer.exe " & link, vbNormalFocus Else MsgBox "الرابط غير صالح أو الملف غير موجود.", vbExclamation, "تنبيه" End If End If Exit Sub ErrorHandler: MsgBox "خطأ رقم: " & Err.Number & vbCrLf & Err.Description, vbCritical, "خطأ" 🔹 ماذا يفعل هذا الكود؟ ✔ إذا كان الرابط موقع ويب (http أو www)، يستخدم FollowHyperlink. ✔ إذا كان الرابط ملفًا محليًا، يتم فتحه بـ Explorer بدلًا من FollowHyperlink. ✔ إذا كان الرابط غير صالح، يظهر تنبيه بدلاً من رسالة خطأ. 4. التأكد من صلاحيات الملفات والمجلدات إذا كنت تحاول فتح ملف محلي، تأكد أن الملف موجود في المسار الصحيح. تأكد أن لديك صلاحيات الوصول إلى الملف، خاصة إذا كان على شبكة أو في مجلد محمي.
-
السلام عليكم ورحمة الله أساتذتنا الكرام وخبراء المنتدى النموذج المرفق لأستاذنا kkhalifa1960 واسمه صلاحيات المستخدمين وهو رائع وبسيط فى نفس الوقت ... أردت أن أسجل مستخدم جديد فيه بإسم user وتكون له صلاحيات محددة لكن كلما حاولت الدخول بإسم المستخدم الآخر (يتم الدخول فعلا باسم user) ولا يتم تطبيق الصلاحيات عليه ... فهل يحتاج الكود إلى تعديل أم هناك حطوة أخرى مطلوبة ... admin 12345 user 000 وشكرا لكم مقدما صلاحيات المستخدمين.rar
-
السلام عليكم الأخوة الأعزاء لدي برنامج قمت بتعيين صلاحيات للمستخدم في جدول المستخدم مثل الحذف والإضافة والتعديل واستخدمت شرط استعلام في النماذج للسماح او منع المستخدم من هذه الصلاحيات بناء على استعلام من نموذج تسجيل الدخول وفق الكود التالي If [forms]![login]![edit] = 0 then Me.allowedition = false Else Me.aĺlowedition = true eND if اريد مساعدتكم بتخصيص كود بنفس الصيغة لتحديد صلاحية الطباعة
-
مطلوب التقيد بالصلاحيات عند فتح النموذج من مربع التحرير
hanan_ms replied to dd13901390's topic in قسم الأكسيس Access
=============================================( صور + مرفق + فيديو ) Update: 🌹 بعد اذن الاستاذ @Moosak ❤️🌹☕ تغير الدالة مع الكود بمرفقك بالكامل يعمل مع اي تقرير او نموذج من غير كتابة اسمة بداله واحده فقط 😇 تلقائي Auto اسهل صلاحيات لكافة النماذج والتقارير والطباعة بدالة وحده اشر بالجدول بس يعني سو جدول وتقرير جديد اختر من الجدول صلاحيات مباشره شباب ؟! 😂 (حدث عند التحميل) كود الاستدعاء: '=============================( Only 2 Code Function For Chack User '=====================================( IF Form (1) Call FormsAllowed(Me.Form.name) '=====================================( IF Report (1) 'Call FormsAllowed(Me.Report.name) الدالة : Option Compare Database Option Explicit Public Function FormsAllowed(ByVal strname As String) As String '(FrmName As String) As Boolean ' ===========! Dim name_x As String name_x = FormsAllowed '==============================================(Chack frist) If IsNull(DLookup("[name_frm]", "[Control_User]", "[name_frm] ='" & strname & "'")) Then MsgBox " Opes back setting for Error Forget this form Open Or Now Awoch ", vbCritical, "Close Done " & Date DoCmd.Close acForm, strname Exit Function End If '============================================================================( Open Form If DLookup("[open_frm]", "[Control_User]", "[name_frm] ='" & strname & "'") = True Then DoCmd.OpenForm strname Else MsgBox "لا تملك صلاحية الدخول او ليس لك حق الدخول او تم حظرك من الدخول او تم منعك من الدخول ", vbExclamation, "رسالة ادارية راجع المسؤل المختص " & Date DoCmd.Close acForm, strname Exit Function End If '============================================================================( AllowAddition If DLookup("[add_new]", "[Control_User]", "[name_frm] ='" & strname & "'") = True Then Forms(strname).AllowAdditions = True Else Forms(strname).AllowAdditions = False End If '============================================================================( AllowDeletion If DLookup("[delet]", "[Control_User]", "[name_frm] ='" & strname & "'") = True Then Forms(strname).AllowDeletions = True Else Forms(strname).AllowDeletions = False End If '============================================================================( AllowEdits If DLookup("[editor]", "[Control_User]", "[name_frm] ='" & strname & "'") = True Then Forms(strname).AllowEdits = True Else Forms(strname).AllowEdits = False End If End Function Public Function Print_Allowed(ByVal strname As String) As String '==============================================(Chack frist) If IsNull(DLookup("[name_frm]", "[Control_User]", "[name_frm] ='" & strname & "'")) Then MsgBox " Opes back setting for Error Forget this form Open Or Now Awoch ", vbCritical, "Close Done " & Date DoCmd.Close acForm, strname Exit Function End If '============================================================================( Print into Button Or If Keybord If DLookup("[print]", "[Control_User]", "[name_frm] ='" & strname & "'") = True Then DoCmd.OpenReport strname DoCmd.RunCommand acCmdPrint Else MsgBox "لا تملك صلاحية طباعة التقرير او ليس لك حق بالطباعة او تم حظرك من الطباعة او تم منعك من الطباعة ", vbExclamation, "رسالة ادارية راجع المسؤل المختص " & Date Exit Function End If End Function @dd13901390🌹☕ 2- تعديل واستكمال بعض تابع الفيديو للتوضيح اسفل الموضوع + تحميل المرفق ☕ =============================================( مرفق + فيديو ) V2_One_FunctionLoginIN_Whit_Exprot_FileAuto_Ms_Access.rar -
انت تعرف اني احترم كل الآراء هنا .. ولكن !! خد بالك انا كبرتها كتيييييير هههههههههههه ( أمزح الله يرحم والديك ) جرب وبعدين احكيلي وناقشني في النقطة دي هذا النموذج لن يظهر إلا عندما تكون اللغة الإدارية غير العربية ، وبالتالي لم أجد انها من صلاحيات المستخدم بقدر ما هي صلاحيات المبرمج ، فما تطرقت لهذه الفكرة ,, الرسائل المكتوبة بالعربي لن تظهر للمستخدم أبداً أبداً أبداً أبداً إلا اذا المبرمج وقع امر استدعاء دالة التحقق من اللغة ( وكأننا لم نفعل شيئاً حينها ) ما تخافش انا خدت بالي من كل الإحتمالات لأنني جربت الفكرة على 16 نسخة ويندوز للآن ، ومن بينهم جهازين تم عمل فورمات لهم وتنزيل ويندوز جديدة ولم يتم اختيار اللغة العربية ، وبعد تثبيت أوفيس 2016 و 2019 على كل منهما قمت بتشغيل الملف ولم تظهر أي مشكلة قد تخطر ببالكم إجمالاً .. لو تم ايقاف الجزء المسؤول عن اغلاق النموذج في الحدث عند التحميل ، وحاولت تغير اللغة فلن يتم تغييرها أبداً ، لأن الهدف هو ان يكون الترميز لغة عربية وليس الهدف البلد ، ولكن إضافة الفكرة كانت كرغبة في عدم التقيد ببلد محدد للمبرمج 😉
-
السلام عليكم اخوتي و اساتذتي الكرام .. الرجاء مساعدتي بمثال جدول اكسس بصلاحية فتحه للقراءة فقط و صلاحية اخرى بكل الصلاحيات في access vba مفتوح الكود لاتمكن من المتابعة ... جوزيتم الجنة
-
السلام عليكم قمت بالبحث عن برنامج لصلاحيات المستخدمين وحصلت على غايتي من أحد البرامج بهذا المنتدى العظيم لاخوتنا ابن مسقط والاخ rudwanحيث يشمل برنامج الصلاحيات على جدول Modifications يوضح من قام بالتعديل على البيانات وقت التعديل وما تم تعديله من السابق والحالي للاخ rudwan لكن تلاحظ بجدول USERS ظهور المستخدمين على هيئة رموز غير مفهومة ب وهذه المشكلة قابلتني مع معظم النماذج الجاهزة لتركيب صلاحيات المستخدمين ونظرا لان نموذج الصلاحيات الخاص بالاخ rudwan يوجد به غايتي الذي تم توضيحه سابقا فأرجو مساعدتي بالاتي في حل مشكلة الرموز في جدول USERS علما بأنه سيتم فتح موضوع اخر بعد معالجة هذه المشكلة أما ااسم المستخدم a كلمة السر 1 صلاحية المستخدمين (1).mdb
-
السلام عليكم ورحمة الله وبركاته كنت أعمل على صلاحيات المستخدمين لبرنامج رأيته على النت وأعجبني، لكن اواجه مشكلة فيه حيث تظهر لي الصلاحيات كما هي في الصورة الأولى، وأنا اريدها كما هو موضح في الصورة الثانية هل يمكن المساعدة في ذلك user.zip
-
عليكم السلام ورحمة الله وبركاته بهذه الصورة المشكلة في صلاحيات المستخدم في هذا الجهاز؛ حيث أنه لا يملك حق الوصول للملف على الشبكة. يمكنك مراجعة الأمان الخاص بالملف وطريقة مشاركته والمستخدمين المصرح لهم بتعديل الملف بالتوفيق
- 1 reply
-
- 1
-
-
تنسيق البيانات فى جدول الوورد
محمد هشام. replied to mahmoud nasr alhasany's topic in منتدى الاكسيل Excel
وعليكم السلام ورحمة الله نعالى وبركاته يمكنك الإعتماد على ورقة مخفية ضمن المصنف لترحيل البيانات المطلوبة إليها وحفظها مباشرة بصيغة Word Option Explicit Private Const DocName As String = "التوكيلات" Private Const FolderName As String = "ملفات Word" Sub ExportToWord() Dim CrWS As Worksheet, dest As Worksheet, a As Variant, b As Variant Dim lastRow As Long, i As Long, savePath As String, xPath As String Dim wdApp As Object, wdDoc As Object, tbl As Object, d As Object, OnRng As Range Application.ScreenUpdating = False Set CrWS = Sheets("صلاحيات رواكد"): Set dest = Sheets("WordCopy"): Set d = CreateObject("Scripting.Dictionary") dest.Visible = xlSheetVisible a = CrWS.Range("A1:H" & CrWS.Cells(Rows.Count, 1).End(xlUp).Row).Value dest.Range("A1:E" & dest.Rows.Count).ClearContents For i = LBound(a) To UBound(a): d(i) = Array(a(i, 1), a(i, 3), a(i, 4), a(i, 6), a(i, 8)): Next i b = Application.Transpose(Application.Transpose(d.items)): dest.Range("A1").Resize(UBound(b), UBound(b, 2)) = b lastRow = dest.Cells(dest.Rows.Count, 1).End(xlUp).Row Set OnRng = dest.Range("A1:E" & lastRow) With OnRng .HorizontalAlignment = xlCenter: .VerticalAlignment = xlCenter End With Set wdApp = CreateObject("Word.Application"): wdApp.Visible = True: Set wdDoc = wdApp.Documents.Add wdDoc.PageSetup.Orientation = 1: OnRng.Copy: wdDoc.Content.Paste: Set tbl = wdDoc.Tables(1) With tbl: .Range.ParagraphFormat.Alignment = 1: .Borders.Enable = True Dim ColArr As Variant: ColArr = Array(110, 110, 250, 110, 110) For i = 0 To UBound(ColArr): .Columns(i + 1).PreferredWidth = ColArr(i): Next i End With With tbl.Rows.Add .Cells(4).Range.Text = ": المجموع": .Cells(5).Range.Text = Application.Sum(dest.Range("E2:E" & lastRow)) With .Cells(4).Range: .Font.Color = RGB(255, 0, 0): .ParagraphFormat.Alignment = 1: End With .Cells(5).Range.Font.Color = RGB(255, 0, 0): .Cells(5).Range.Font.Bold = True .Cells(1).Merge tbl.Rows(tbl.Rows.Count).Cells(4) End With xPath = ThisWorkbook.Path & "\" & FolderName If Dir(xPath, vbDirectory) = "" Then MkDir xPath savePath = xPath & "\" & DocName & ".docx" On Error Resume Next wdDoc.SaveAs savePath If Err.Number <> 0 Then MsgBox "الملف مفتوح بالفعل حاول إغلاقه والمحاولة مرة أخرى ", vbCritical wdDoc.Close False: wdApp.Quit: Set wdDoc = Nothing: Set wdApp = Nothing Exit Sub End If On Error GoTo 0 wdDoc.Close False: wdApp.Quit: Set wdDoc = Nothing: Set wdApp = Nothing dest.Visible = xlSheetVeryHidden: Set dest = Nothing Application.ScreenUpdating = True MsgBox "تم تصدير البيانات بنجاح" End Sub ملف تصدير V2.xlsm -
السلام عليكم و رحمة الله و بركاتة برنامج شاشة الدخول مع صلاحيات المستخدمين جاهز للاستخدام و بها صفحات عمل جاهزة فقط ادخل و اضف اليه اعمالك مهما كان العمل . شكرا لك استاذى محمد هشام الذي قام بتعديل الاكواد. استاذى محمد هشام إنه لمن دواعي فخري وامتناني الكبير أن أقول للجميع كم نحن محظوظون لوجودك معنا، حقا لقد ابدعت و تميزت ، فأنت أهل للشكر، ولك منى كلّ الثناء! وجزاك الله خير الجزاء و جعله الله فى موازين حسناتك و صدقة جارية لى و لك اسم المستخدم : حسين كلمة المرور :123 شاشة الدخول مع صلاحيات المستخدمين.xlsb
-
السلام عليكم و رحمة الله و بركاتة ارجوكم مساعدتى في تعديل الاكواد برنامج شاشة الدخول مع صلاحيات و اضافة خاصية اظهار اسم المستخدم فى الصفحة الرئيسية c8 مع كود تقرير دخول المستخدمين بمعنى كل من يدخل البرنامج يسجل فى التقرير وجزاكم الله خير الجزاء شاشة الدخول مع صلاحيات.xlsm
-
السلام عليكم ورحمة الله وبركاته قد وجدت في احدى المواقع على الانترنت هذه القاعده التي فعلا هي ما اريد لكن هنالك اضافه واحده كنت اريد ادخالها ولم افلح في ذلك في قاعده البيانات هناك نموذج frmNewUser يتم من خلاله انشاء مستخدم جديد واعطاءه صلاحيات بحيث ان مستوى الصلاحيات ينقسم الى ثلاث 1;"Default User";2;"Admin";3;"Developer" كيف بالامكان عند انشاء مستخدم واختيار مستوى الصلاحيه يقوم بتحديد ما هي صلاحيات المستخدم ان كان من انشاء سجلات جديده .. تعديل سجلات .. حذف سجلات .. او منع الدخول الى نماذج معينه انا اختارها PasswordLogin_RC4_v5.6.accdb
-
السلام عليكم و رحمة الله و بركاتة اخواني الخبراء ارجوا منكم ارجوكم مساعدتى في تعديل الاكواد برنامج شاشة الدخول مع صلاحيات في صفحة الصلاحيات اسم المستخدم (d6 :d30) و كلمة المرور (e6 :e30) مع اضافة الصلاحيات من (Z30:g7) و اضافة خاصية اظهار اسم المستخدم فى الصفحة الرئيسية J9 مع كود تقرير دخول المستخدمين بمعنى كل من يدخل البرنامج يسجل فى التقرير اسم المستخدم : husain و كلمة المرور :123 واسم المستخدم : 2 و كلمة المرور :2 واسم المستخدم : 3 و كلمة المرور :3 للعلم بان البرنامج حاليا يعمل بصورة ممتازة و لكن يفتح للمستخدمين الثلاثة فقط وجزاكم الله خير الجزاء Private Sub CommandButton1_Click() If UserForm1.TextBox1.Value = "husain" And UserForm1.TextBox2.Value = 123 Or UserForm1.TextBox1.Value = "2" And UserForm1.TextBox2.Value = 2 Or UserForm1.TextBox1.Value = "3" And UserForm1.TextBox2.Value = 3 Or UserForm1.TextBox1.Value = "4" And UserForm1.TextBox2.Value = 4 Or UserForm1.TextBox1.Value = "5" And UserForm1.TextBox2.Value = 5 Then Application.Visible = True Range("b1").Select Selection.End(xlDown).Select ActiveCell.Offset(2, 0).Range("b1").Select ActiveCell.Value = UserForm1.TextBox1.Value Sheets("Sheet2").Select Range("c1").Select Selection.End(xlDown).Select ActiveCell.Offset(2, 0).Range("b1").Select ActiveCell.Value = UserForm1.TextBox2.Value Range("d1").Select Selection.End(xlDown).Select ActiveCell.Offset(2, 0).Range("b1").Select ActiveCell.Value = Date Range("e1").Select Selection.End(xlDown).Select ActiveCell.Offset(2, 0).Range("b1").Select ActiveCell.Value = Time If UserForm1.TextBox1.Value = "husain" And UserForm1.TextBox2.Value = 123 Or UserForm1.TextBox1.Value = "2" And UserForm1.TextBox2.Value = 2 Or UserForm1.TextBox1.Value = "3" And UserForm1.TextBox2.Value = 3 Or UserForm1.TextBox1.Value = "4" And UserForm1.TextBox2.Value = 4 Or UserForm1.TextBox1.Value = "5" And UserForm1.TextBox2.Value = 5 Then Application.Visible = True UserForm1.Hide Else MsgBox "يرجى التحقق من ادخال اسم المستخدم وكلمة المرور بصورة صحيحة", , " " Label5.Caption = Label5.Caption - 1 If Label5.Caption = 0 Then ThisWorkbook.Save Application.Quit End If End If End Sub الدخول.xlsm
-
السلام عليكم و رحمة الله و بركاتة لكل مهنة أدواتها التي تساعد صاحب المهنة على أداء عمله بالشكل المطلوب وكل ما كانت هذه الأدوات حديثة ، كانت نتيجة العمل أفضل و أسرع وأكثر جودة وكفاءة. كذلك المبرمج المبتدئ، يحتاج إلى مجموعة من البرامج الأدوات التي تساعده على إنجاز العمل المطلوب بالشكل المناسب ، وتعبر شاشة الدخول هي أدوات المبرمج التي يستخدمها على حسب الحاجة المطلوبة والهدف المطلوب في كل مهمة ليتم إنجازها.و المطلوب اخواني تعديل البرنامج في عدة مراحل نبدء قمت بإرفاق ملف برنامج شاشة الدخول مع صلاحيات من إعدادي وهو بسيط وقمت بتحميله لسببين : الأول : أن يستفيد منه باقي الأعضاء . الثاني : توجد به عدة مشكلات أود من أحد الخبراء مساعدتي فيه . المطلوب : 1) : تعديل اكواد الدخول للبرنامج من صفحة الصلاحيات و يسجل عملية الدخول و الخروج في صفحة تقرير الدخول و على ان يظهر اسم المستخدم في الصفحة الرئيسية R4 2): اضافة كود في الصفحة الرئيسية تغيير كلمة المرور البرنامج للجميع و يمكن اضافة اي برنامج عليه بعد الانتهاء من جميع المراحل و يمكنكم التعديل عليها و اعادة نشره ليستفيد الجميع منه و جزاكم الله خير الجزاء و جعله الله في ميزان حسناتكم دخول.xlsm