المشاركات

عرض المشاركات من سبتمبر, ٢٠١٦

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

صورة
التحكم بدرجة شفافية النموذج في مايكروسوفت اكسس قد يحتاج المبرمج الى اضافة بعض اللمسات الفنية من حيث درجة الشفافية للنموذج، ومن هنا جائت الفكرة لهذا الموضوع. لعمل ذلك يتم  وضع الكود التالي  في وحدة نمطية جديدة ( انشاء دالة جديدة )  VBA Option Compare Database Option Explicit  Public Const GWL_EXSTYLE = -20  Public Const LWA_COLORKEY = 1  Public Const LWA_ALPHA = 2  Public Const WS_EX_LAYERED = &H80000  Public tpVal As Integer  Public Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long  Public Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long  Public Declare PtrSafe Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal cKey As Long, ByVal bAlpha As Long, ByVal dwFlags As Long) As Long Sub Trasp(hwnd As Long,...

بناء وتعميم داله جديدة في اكسس

صورة
انشاء وتعميم داله جديدة في اكسس لماذا نحتاج انشاء دالة خاصة بالمستخدم وتعميمها توجد الكثير من العمليات الحسابية سواء البسيطة او المعقدة غير مضمنه في الدوال الجاهزة في مايكروسوفت اكسس، وفي معظم الاحيان يقوم المبرمج بانشاء  المعادلات ويطبقها في البرنامج بدون الحاجة الى تعميمها وتحويلها الى دالة والسبب ان هذة المعادلة لا يتم استخدامها الا مرات محدودة. ولكن في بعض الاحيان قد نحتاج تطبيق معادلة معينة لاحتساب قيمة ما بشكل مكرر وبكثرة في البرنامج وهنا يصبح من غير المنطقي كتابة المعادلة في كل مرة، سواء من حيث الوقت المستغرق في كتابة المعادلة او من حيث ان التكرارات او من حيث حجم المعادلة ومدى تعقيدها ، ولمعالجة هذا الموضوع جاء موضوع انشاء وتعميم الدوال في اكسس. ولفهم الموضوع اكثر فان في قاعدة بيانات خاصة بالطلاب فاننا سنحتاج الى احتساب عمر الطالب في اكثر من مكان سواء في الاستعلامات او النماذج او التقارير وبالتالي وبدلا من كتابة معادلة احتساب العمر في كل مرة نحتاجها نقوم بانشاء وتعميم دالة لاحتساب العمر وبعد ذلك نبدأ باستخدام هذة الدالة عندما نحتاجها واذا طرأ اي تعديل في ...

التحكم بصلاحيات المستخدمين في مايكروسوفت اكسس - شرح عام

صورة
تحديد الصلاحيات لكل مستخدم بشكل منفصل في اكسس عندما يتم تصميم برنامج سيستخدمة اكثر من شخص فلا بد من ان يكون لكل مستخدم مستوى صلاحية مختلف عن الاخر، ولتحديد الصلاحيات لكل مستخدم بشكل منفصل توجد اكثر من طريقة واليكم هذة الطريقة والتي اعتبرها من الطرق العملية جدا: 1- انشاء جدول للمستخدمين يحتوي على اسم المستخدم وكلمة المرور (ونوعهما نص قصير)  بالاضافة الى انواع الصلاحيات، وهنا يجب ان يتم فصل كل صلاحية بحقل مستقل ويكون نوع البيانات في هذه  الحقول (نعم / لا) كما في الصورة التالية  2- انشاء نموذج للدخول الى قاعدة البيانات وليكن باسم Login عندما يقوم المستخدم بادخال اسم وكلمة مرور صحيحين يقوم البرنامج بفتح لوحة التحكم او النموذج الرئيسي للعمل للمزيد يمكن الرجوع الى موضوع انشاء نموذج للدخول الى قاعدة البيانات ( ا نقر هنا )  3- انشاء النماذج التي سيتم العمل عليها ووضع الصلاحيات لها (وانا افضل ان يتم انشاء لوحة تحكم) كما يلي سيفتح هذا النموذج بعد الضغط على موافق في نموذج الدخول (بعد ان تكون معلومات الدخول صحيحة) وفي هذا النموذج نبدأ با...

مقدمة الى البرمجة باستخدام VBA

صورة
مقدمة الى البرمجة باستخدام VBA  (للمبتدئين) ان كتابة الكود في VBA ليست من الامور الصعبة وخصوصا اذا كان الكود مقتصرا على تشغيل الوظائف الاساسية وبالتالي ليس من الصعب تعلم الكود لتعلم كتابة الكود لا بد من التمييز بين اشياء اساسية ومن اهمها: 1- كيفية تسمية المتغيرات بشكل عام عند اعطاء المتغير اسم يجب ان لا يكون رقم او رمز ويجب ان يبدأ بحرف وان لا يكون في الاسم مسافات 2- يجب التعرف على الكلمات المحجوزة في لغة البرمجة VBA توجد بعض الكلمات المحجوزة للغة البرمجة نفسها فمثلا لا يجوز ان نسمي المتغير باسم Double لانها كلمة محجوزة ولا يجوز تسمية المتغير باسم Date لانها ايضا محجوزة ( قائمة بالكلمات المحجوزة ) 3- يجب التعرف على مجموعة الاوامر التي يجب كتابتها لتنفيذ شيء معين مثلا لكتابة الشرط نستخدم IF ولفتح نموذج نستخدم Docmd ..... الخ. 4- يجب التعرف على المكان الذي نضع في الكود ( الحدث) يختلف وقت تنفيذ الكود حسب الغرض، فمثلا قد نضع كود ونريد ان يتم تنفيذه عند فتح النموذج ، وقد نضع كود اخر يتم تنفيذة كل 1 ثانية، وربما نستخدم كود يتم تنفيذة عند اغلاق النموذج ...

الكلمات المحجوزة في لغة البرمجة VBA

VBA Keywords Reserved Keywords الكلمات التالية لا يجوز استخدامها في تعريف المتغيرات او الدوال في مايكروسوفت اكسس كونها تعتبر كلمات محجوزة، حيث ان هذة الكلمات والرموز تعتبر من الكلمات التي تشغل لغة البرمجة نفسها وبالتالي فانه لا يجوز استخدامها في تعريف المؤشرات او الدوال الخاصة بالمستخدم AddHandler AddressOf Alias And AndAlso As Boolean ByRef Byte ByVal Call Case Catch CBool CByte CChar CDate CDec CDbl Char CInt Class CLng CObj Const Continue CSByte CShort CSng CStr CType CUInt CULng CUShort Date Decimal Declare Default Delegate Dim DirectCast Do Double Each Else ElseIf End EndIf Enum Erase Error Event Exit FALSE Finally For Friend Function Get ...