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

أبو أفنان

03 عضو مميز
  • Posts

    154
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    1

مشاركات المكتوبه بواسطه أبو أفنان

  1. 'الشرح

    أتبع بالخطوات التالية :

    '1- انشئ نموذج وضع الوحدة النمطية كلها قص ولصق فى النموذج وذلك عن طريق ( عرض ثم تعليمات برمجية ) .

    الكود حدث عند الفتح

    2 احفظ النموذج .

    3- انشئ جدول وسمه باسم t1 وضع بداخله حقل تاريخ اسمه date1 ولا تضع فيه أي تاريخ

    4 قم بتشغيل النموذج ستجد أنه يفتح عادي بدون مشاكل .

    5- اذهب وافتح الجدول ستجد تاريخ اليوم بداخله .

    6- غير التاريخ إلى قبل تاريخ اليوم بثلاث أو اربع أيام .

    7- قم بتشغيل النموذج مرة أخرى .

    ستظهر لك رسائل البرنامج . وستلاحظ أن الجدول قد تم حذفه

    8.بإضافة المرجع التالي من قائمة المراجع References :

    Microsoft DAO 3.6 Object Library

    Private Sub Form_Open(Cancel As Integer)
    On Error GoTo MyErr:
    
    Dim MyFirst As Date
    Dim MyInDate
    Dim MyTableName As String
    MyInDate = DFirst("[Date1]", "[T1]")
    If Not IsNull(MyInDate) Then
    MyFirst = MyInDate
    Else
    DoCmd.SetWarnings False
    DoCmd.RunSQL ("INSERT INTO T1 ( Date1 ) SELECT Date();")
    DoCmd.SetWarnings True
    MyFirst = Date
    End If
    
    If MyFirst <= Date - 3 Then '[color=green] &Ucirc;&iacute;&Ntilde; &Ccedil;&aacute;&Ntilde;&THORN;&atilde; &atilde;&auml; 3 &Ccedil;&aacute;&igrave; &Ccedil;&iacute; &Uacute;&Iuml;&Iuml; &Ecirc;&Ntilde;&iacute;&Iuml;[/color]
    MsgBox "&atilde;&Ouml;&igrave; &Uacute;&aacute;&igrave; &Ccedil;&aacute;&Ecirc;&Ocirc;&Ucirc;&iacute;&aacute; 3 &Ccedil;&iacute;&Ccedil;&atilde; &aelig;&Oacute;&iacute;&Ecirc;&atilde; &Ccedil;&iacute;&THORN;&Ccedil;&Yacute;&aring;"
    Call TableDelete
    Else
    If MyFirst > Date Then
    MsgBox "&Ecirc;&atilde; &Ccedil;&aacute;&Ecirc;&aacute;&Ccedil;&Uacute;&Egrave; &Egrave;&Ecirc;&Ccedil;&Ntilde;&iacute;&Icirc; &Ccedil;&aacute;&Igrave;&aring;&Ccedil;&Ograve; &aelig;&Oacute;&iacute;&Ecirc;&atilde; &Ccedil;&iacute;&THORN;&Ccedil;&Yacute; &Ecirc;&Ocirc;&Ucirc;&iacute;&aacute;&aring;"
    Call TableDelete
    End If
    End If
    
    Exit Sub
    
    
    
    MyErr:
    If Err.Number = 3078 Then
    MsgBox "&Ecirc;&atilde; &Ecirc;&Uacute;&Oslash;&iacute;&aacute; &Ccedil;&aacute;&Egrave;&Ntilde;&auml;&Ccedil;&atilde;&Igrave;"
       Quit
    '&THORN;&atilde;&Ecirc; &Egrave;&Ecirc;&Uacute;&Oslash;&iacute;&aacute; &Ccedil;&aacute;&Ccedil;&atilde;&Ntilde; &Icirc;&Ntilde;&aelig;&Igrave; &aacute;&Ecirc;&Ntilde;&aelig;&Ccedil; &Ccedil;&aacute;&Oslash;&Ntilde;&iacute;&THORN;&Eacute;
    'Else
    MsgBox Err.Number & vbCrLf & Err.Description
    End If
    
    End Sub
    
    
    Function TableDelete()
    On Error Resume Next
     Dim MyDb As Database
     Dim MyTable As TableDef
    Dim MyTableCount As Integer
    
    Set MyDb = Application.CurrentDb
    MyTableCount = MyDb.TableDefs.Count
    For i = MyTableCount - 1 To o Step -1
    Set MyTable = MyDb.TableDefs(i)
    MyTableName = MyTable.Name
    If Left$(MyTableName, 4) <> "Msys" Then MyDb.TableDefs.Delete (MyTableName)
    Next
    MyDb.Close
    End Function

  2. أحبتي في الله تحية وبعد :

    فهذا درس مبسط في الامان في الاكسس وهو منقول بتصرف ولكن آمل ممن لدية زيادة أن يفيدنا

    يختلف نظام الصلاحيات في Access عن الطريقة العامة التي يتصورها بعض الناس فبالنسبة لقاعدة البيانات يمكن وضع كلمة سر على قاعدة البيانات ولكن تعتمد اكسس على تكنولوجيا اكثر تعقيدا وهي المستخدمين والصلاحيات ، حيث على كل مستخدم

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

    وكل ذلك يمكنك من حماية البيانات المهمة في برنامجك من بعض الافراد الذين لا ترغب في ان يتطلعوا على بعض البيانات

    ولتشغل تلك الخاصية عليك الذهاب الى قائمة "الادوات" ومن ثم "الامان" كما في الرسم التالي

    a1.jpg

    بحيث تمكنك تلك القائمة باجراء ثلاثة انواع من الحماية :

    الاولى منهم هي تعيين كلمة مرور قاعدة البيانات.. ، وهي الحماية البسيطة وتغلق قاعدة البيانات بكلمة سر ، ومن ثم عليك توزيع تلك الكلمة الاشخاص المعنيون باستخدام قاعدة البيانات تلك

    وتستخدم تلك الطريقة في الشركات الصغيرة ، والتي لا تحتاج الى احرائات حماية معقدة لبياناتها

    والطريقة الثانية هي حماية قاعدة بياناتك بحسابات مستخدمين وكلمات مرور ، ونستطيع القيام بذلك عن طريق الخيارات 2 ، 3 ،4 من القائمة السابقة

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

    ولنبدء بحماية قاعدة بيانات ما ، وللتجربة قم بانشاء فهرس فرعي في القرص الصلب و من ثم قم بانشاء قاعدة بيانات ما بواسطة المعالج ، حيث سيصنع لك برنامج اولي

    وسافترض ان اسم قاعدة البيانات هو

    ABC.MDB

    وهي موجودة في المجلد

    c:\db

    والان توجه الى الخيار معالج الامان على مستوى المستخدم... ، والذي سيقوم بدوره بكل العمليات المطلوبة لحماية قاعدة البيانات خطوة بخطوة

    وتلك هي اول الشاشات التي ستصادفك

    a2.jpg

    وتشرح لك بانها ستقوم بحماية قاعدة البيانات الخاصة بك ، وكل ما عليك هو اختيار التالي

    وبدورها ستظهر لك الشاشة التالية

    a3.jpg

    وتلك الشاشة تساعدك في اعداد ملف الحماية الخاص بقاعدة البيانات تلك والذي نوعه في معظم الاحيان MDW

    ويحفظ اكسس حسابات المستخدمين واسماء مجموعات العمل وبعض الصلاحيات بذلك الملف ويفضل ان تحفظ ذلك الملف في الفهرس الفرعي الذي ستحفظ به قاعدة البيانات ، وكما ترى من الرسم فلقد اخترت حفظه في C:\db\abc.mdw مع العلم ان الملف abc.mdw لم يكن موجودا عندما قمت بالنقر على الزر استعراض.. ، فلقد اخترت المجلد وكتبت اسم الملف ، حيث ان المعالج سيقوم بانشائه في نهاية تلك العملية

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

    اذن ستصنع لك تلك الشاشة ملف لحماية قاعدة بياناتك ، وتذكر بانه لن تستطيع فتح قاعدة البيانات بعد ذلك بدون ملف الحماية

    وبعد النقر على التالي ستظهر لك الشاشة التالية

    a4.jpg

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

    ستظهر لك شاشة حماية الكود الخاص بقاعدة البيانات التالية

    a5.jpg

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

    بعد كتابة كلمة السر انقر على زر التالي

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

    a6.jpg

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

    بعد ان تحدد المجموعات التي ترغب بها ، لنقر على الزر التالي

    ستظهر لك الشاشة التاية والتي تحدد الصلاحيات الخاصة بمجموعة معينة في اكسس وهي مجموعة كافة المستخدمين

    a7.jpg

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

    يفضل ابقاء الشاشة كما هي والنقر على زر التالي

    حيث ستظهر لك الشاشة التالية والتي تطلب منك انشاء حسابات المستخدمين

    a8.jpg

    وفي مثالنا هنا ، فانا لدي مستخدم واحد فقط ، تستطيع القيام بانشاء حسايات للمستخدمين فيما بعد ، انقر التالي لظهور الشاشة التالية

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

    a9.jpg

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

    a10.jpg

    تستطيع الان الضغط على الزر انهاء ، ليتم حماية قاعدة بياناتك

    وعند النظر الى النتيجة ستجد ان المعالج كون لك أربعة ملفات وهما قاعدة البيانات الاساسية

    abc.mdb

    نسخة احتياطية من قاعدة البيانات

    abc.bak

    ملف الحماية الذي يحتوي على حسابات المستخدمين

    abc.mdw

    ومؤشر على الشاشة يؤشر الى قاعدة البيانات المؤمنة وحقيقةً انه يحتوي على التالي :

    "D:\Program Files\Microsoft Office\Office\MSACCESS.EXE" "C:\db\abc.mdb" /WRKGRP

    "C:\db\abc.mdw"

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

    تذكر دائما بان اكسس يحتوي على مجموعتين دائمتين احدهما "مستخدمون" حيث انها تحتوي على كل المستخدمين ، والثانية "مسؤولون" وتحتوي على مدراء قاعدة البيانات

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

    تذكر ايضا بان أكسس يحتوي على حساب بالاسم "مسؤول" وهو اشتراك لا يمكن حذفه ، وان قمت باعطائه صلاحيات فقد يتمكن الجميع ايضا من الوصول الى قاعدة بياناتك ، لذلك عندما تفتح المجموعات ستجد بان ذلك الحساب اضيف الى مجموعة المستخدمين وهكذا انتهت صلاحياته

    ان اردت اضافة اية مستخدمين جدد فتستطيع القيام بذلك من القائمة التي طبعتها اول الرسالة من اذونات المستخدمين والمجموعات... ومن ثم تستطيع تعديل صلاحياتهم من حسابات المستخدمين والمجموعات... وساشرح ذلك بصورة افضل في الرسالة القادمة

    الان ان اردت ان تضع قاعدة البيانات تلك على شبكة كومبيوتر مثلا ، فلا تنسى نسخ المؤشر ووضعه على اجهزة المستخدمين ....

    أنتهى وبالله التوفق

    تحياتي

    aaa2.jpg

  3. أخي

    أفتح الجدول وأضف حقل جديد وسمه مثلاً الصورة وضعه كائنole

    ثم في النموذج أفتح على التصميم وضع الحدث التالي عند النقر على الصورة أو النقر المزدوج

       On Error GoTo Officena
       ' ccاسم كائن صورة  هو
       Me.cc.Action = acOLEInsertObjDlg
    ExitProcedure:
       Exit Sub
    Officena:
      Select Case Err.Number
             Case 2001   'هذا الإجراء يقوم بإلغاء العملية السابقة
                  Resume ExitProcedure
             Case Else
                  MsgBox "خطأ رقم " & Err.Number & ":  " & "الرجاء ابلاغ المبرمج بالمشكلة", vbOKOnly + vbInformation, "Officena"
                  Resume ExitProcedure
      End Select

    على أعتبار أن اسم الكائن في النموذج cc

×
×
  • اضف...

Important Information