المشاركات

عدم السماح للمستخدم من عرض وتعديل البيانات القديمة في نماذج اكسس والسماح بادخال السجلات الجديدة فقط

صورة
عدم السماح للمستخدم من عرض وتعديل البيانات القديمة في نماذج اكسس والسماح بادخال السجلات الجديدة فقط 1- باستخدام خصائص النموذج من خصائص النموذج > القائمة (Data) يتم تحويل القيمة المقابلة ل Data Entry الى Yes 2- باستخدام الكود لو اردنا جعل المستخدم يدخل البيانات الجديدة فقط في الفترة التي تسبق 01\01\2016 و السماح له باستعراض البيانات واضافة البيانات في الفترة ما بعد هذا التاريخ، سنقوم بوضع الكود التالي في حدث عند الفتح VBA If Now() < 1 / 1 / 2016 Then DataEntry = True End If

منع المستخدم من اضافة سجلات جديدة او تعديل او حذف سجلات في نموذج اكسس

صورة
منع المستخدم من اضافة سجلات جديدة او تعديل او حذف سجلات في نموذج اكسس  قد يحتاج المبرمج لسبب او لاخر منع المستخدمين من اضافة سجلات جديد او تعديل او حذف السجلات، ولتحقيق ذلك يوجد عدة طرق وهنا سنتطرق الى طريقتين: 1- المنع باستخدام خصائص النموذج ونستخدم هذة الطريقة اذا اردنا منع هذة الخصائص بشكل نهائي  ويتم ذلك من خلال الدخول الى خصائص النموذج ومن ثم الى القائمة (Data) ويتم تخيير القيم الى NO الموجودة امام ما يلي: Allow Additions = السماح باضافة سجل جديد Allow Deletions= السماح بحذف سجل Allow Edits= السماح بتعديل سجل 2- المنع باستخدام الكود وفي هذة الطريقة يتم المنع عند تحقق شرط معين وبالتالي فان المنع يكون مؤقت ( مثلا اذا كانت المستخدم لا توجد له صلاحيات معينة فان الكود يقوم بمنع الاضافة او التعديل او الحذف) حسب المثال التالي عند فتح النموذج اذا كان تاريخ اليوم اكبر من 01\01\2016 فانه سيتم ايقاف صلاحية اضافة سجل وصلاحية تعديل سجل VBA Private Sub Form_Open(Cancel As Integer ) If Now() > 1 / 1 / 2016 Then     Me.AllowAddit...

انشاء نموذج للدخول باسم مستخدم وكلمة مرور الى برنامج اكسس

صورة
انشاء نموذج للدخول باسم مستخدم وكلمة مرور الى برنامج اكسس عندما يكون البرنامج متاح لاكثر من شخص للعمل علية فلا بد من حماية البرنامج من المستخدمين غير المصرح لهم من خلال اضافة نموذج للدخول الى قاعدة الببيانات، ولانشاء نموذج الدخول الى البرنامج نتبع الخطوات التالية: انشاء جدول للمستخدمين يتم فيه تخزين اسماء المستخدمين وكلمات مرورهم ويحتوي على حقل لاسم المستخدم وحقل لكلمة المرور انشاء نموذج للدخول ويحتوي على مربعي نص غير مستندة الى مصدر بيانات، وزري امر واحد للالغاء والثاني للدخول  اضافة الكود التالي في حدث عند النقر في زر موافق   VBA   If pas = DLookup("userpass", "tusers", "usernam='" & [usr] & "'") Then DoCmd.OpenForm "Form1" Else MsgBox "يوجد خطأ في اسم المستخدم او كلمة المرور" End If

فتح نموذج بشكل تلقائي عند فتح قاعدة بيانات اكسس

صورة
فتح نموذج بشكل تلقائي عند فتح قاعدة بيانات اكسس لتحديد نموذج يفتح بشكل تلقائي عند فتح قاعدة البيانات : نفتح القائمة File نختار Options نختار Current Database من القائمة Display Form نختار اسم النموذج الذي نريد ان يفتح مع بدئ البرنامج

استخدام دالة MsgBox في اكسس (للمبتدئين)

صورة
استخدام دالة  MsgBox في اكسس (للمبتدئين) تستخدم هذة الدالة  لاظهار رسالة معينة للمستخدم الصيغة : MsgBox    prompt , buttons  , title , helpfile , context   حيث ان  Prompt : نص الرسالة التي نريدها ان تظهر للمستخدم buttons : الازرار التي ستظهر في الرسالة مثل موافق او الغاء او نعم ... الخ (حقل اختياري يمكن ان نتجاهله وسيقوم الاكسس باضافة زر "موافق" الى الرسالة) title : عنوان الرسالة (حقل اختياري يمكن ان نتجاهله) helpfile  + context : ملف المساعدة الذي من الممكن ان يرتبط بهذة الرسالة (حقل اختياري يمكن ان نتجاهله) مثال : MsgBox " Welcome to my Program ", , " hello "   النتيجة  

تثبيت مكان نموذج الاكسس في الشاشة عند فتحة

صورة
تثبيت مكان نموذج الاكسس في الشاشة عند فتحة لتثبيت مكان النموذج في الشاشة عند فتحة يجب ان يكون النموذج منبثق (Pop Up = Yes) ويجب ان تكون خاصية التوسيط التلقائي غير مفعلة (Auto Center = No) ومن ثم عرض النموذج ونقلة الى المكان المطلوب واغلاقة اثناء العرض . الخطوات: 1- تحويل النموذج الى منبثق  2- الغاء خاصية التوسيط التلقائي  3- عرض النموذج ونقلة الى الموقع المطلوب  4- اغلاق النموذج  ملاحضة: ان فتح النموذج في عرض التصميم سيؤدي الى الغاء المكان الحالي ويتطلب اعادة الخطوات اعلاة فيديو توضيحي

The search key was not found in any record رسالة خطأ في اكسس

رسالة خطأ في اكسس عند ضغط واصلاح قاعدة البيانات او عند تحليل الاداء error message when you compact a database or Analyze Performance نص رسالة الخطأ: "The search key was not found in any record" حسب موقع مايكروسوفت فان هذة المشكلة قد تم حلها في الاصدارات ما بعد اكسس 2000 ، ولكن المشكلة حدثت معي باستخدام اكسس 2013 عند قيامي بتحليل الاداء (Analyze Performance) . الحل: بعد البحث مطولا وجدت بعض الحلول التي تدور حول وجود فراغات في اسماء الاعمدة ولكن في قاعدة البياات الخاصة بي لا توجد فراغات ,  بدأت بتجريب الحلول اولا باول حيث قمت بتصدير الاستعلام الذي يسبب المشكلة الى قاعدة بيانات جديدة وتم تحليلة ولم يعطي اي مشكلة وبعد المحاولات تم حل المشكلة بما يلي: 1- تم انشاء قاعدة بيانات جديدة وتم استيراد جميع الاستعلامات اليها (من قاعدة البيانات التي يوجد بها خلل) 2- تم عمل ضغط واصلاح للقاعدة الجديدة 3- تم حذف جميع الاستعلامات من قاعدة البيانات الاولى (التي يوجد بها خلل) 4- تم عمل ضغط واصلاح للقاعدة القديمة 5- تم استيراد الاستعلامات من القاعدة الجديدة الى الق...