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

أبو أفنان

03 عضو مميز
  • Posts

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

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

  • Days Won

    1

كل منشورات العضو أبو أفنان

  1. أخي تحية طيبة لك ولجميع الاعضاء الكرام هنا إجابة سؤالك http://www.officena.net/ib/index.php?showtopic=1459
  2. أكتب المعيار التالي [اسم الحقل في النموذج]![اسم النموذج]![forms]= تحياتي
  3. تفضل http://www.s22s.com/up/upload.php وآخر http://www.arab7.com/ تحية بإمكانك البحث في قوقل وتجد كثير من المواقع
  4. 'الشرح أتبع بالخطوات التالية : '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
  5. لعمل فرز تصاعدي Me.OrderByOn = True Me.OrderBy = "[id] ASC" ولعمل فرز تنازلي Me.OrderByOn = True Me.OrderBy = "[id] DESC" ضع الكود السابق عند حدث النقر لزر الأمر لعمل فرز تصاعدي عن طريق الحقل المسمى id تحياتي
  6. أحبتي في الله تحية وبعد : فهذا درس مبسط في الامان في الاكسس وهو منقول بتصرف ولكن آمل ممن لدية زيادة أن يفيدنا يختلف نظام الصلاحيات في Access عن الطريقة العامة التي يتصورها بعض الناس فبالنسبة لقاعدة البيانات يمكن وضع كلمة سر على قاعدة البيانات ولكن تعتمد اكسس على تكنولوجيا اكثر تعقيدا وهي المستخدمين والصلاحيات ، حيث على كل مستخدم احدد المميزات الجيدة في مايكروسوفت اكسس هي امكانية وضع حماية وصلاحيات على قواعد بياناتها المختلفة ، حيث تمكنك من فتح حسابات لمستخدمي قاعدة بيانات معينة فتستطيع انشاء حساب لكل مستخدم على حدة وتحديد الصلاحيات لذلك الحساب ، كما تمكنك من تقسيم المستخدمين الى مجموعات وتحديد صلاحيات لكل مجموعة وكل ذلك يمكنك من حماية البيانات المهمة في برنامجك من بعض الافراد الذين لا ترغب في ان يتطلعوا على بعض البيانات ولتشغل تلك الخاصية عليك الذهاب الى قائمة "الادوات" ومن ثم "الامان" كما في الرسم التالي بحيث تمكنك تلك القائمة باجراء ثلاثة انواع من الحماية : الاولى منهم هي تعيين كلمة مرور قاعدة البيانات.. ، وهي الحماية البسيطة وتغلق قاعدة البيانات بكلمة سر ، ومن ثم عليك توزيع تلك الكلمة الاشخاص المعنيون باستخدام قاعدة البيانات تلك وتستخدم تلك الطريقة في الشركات الصغيرة ، والتي لا تحتاج الى احرائات حماية معقدة لبياناتها والطريقة الثانية هي حماية قاعدة بياناتك بحسابات مستخدمين وكلمات مرور ، ونستطيع القيام بذلك عن طريق الخيارات 2 ، 3 ،4 من القائمة السابقة والطريقة الثالثة هي تشفير قاعدة البيانات ، وتستخدم غالبا مع احد الطرق السابقة ، بحيث تشفر محتويات قاعدة البيانات ، فلو وصل شخص ما الي الملف المحتوي على البيانات وجرب فتحه ببرنامج غير أكسس ، برنامج قرائة نصوص مثلا ، فقد يستطيع ان يرى بعض البيانات ، حتى ولو مبعثرة ، اما عند تشفير البيانات ، فستظهر له بيانات مشفرة في حالة فتح قاعدة البيانات ببرنامج خلاف أكسس ولنبدء بحماية قاعدة بيانات ما ، وللتجربة قم بانشاء فهرس فرعي في القرص الصلب و من ثم قم بانشاء قاعدة بيانات ما بواسطة المعالج ، حيث سيصنع لك برنامج اولي وسافترض ان اسم قاعدة البيانات هو ABC.MDB وهي موجودة في المجلد c:\db والان توجه الى الخيار معالج الامان على مستوى المستخدم... ، والذي سيقوم بدوره بكل العمليات المطلوبة لحماية قاعدة البيانات خطوة بخطوة وتلك هي اول الشاشات التي ستصادفك وتشرح لك بانها ستقوم بحماية قاعدة البيانات الخاصة بك ، وكل ما عليك هو اختيار التالي وبدورها ستظهر لك الشاشة التالية وتلك الشاشة تساعدك في اعداد ملف الحماية الخاص بقاعدة البيانات تلك والذي نوعه في معظم الاحيان MDW ويحفظ اكسس حسابات المستخدمين واسماء مجموعات العمل وبعض الصلاحيات بذلك الملف ويفضل ان تحفظ ذلك الملف في الفهرس الفرعي الذي ستحفظ به قاعدة البيانات ، وكما ترى من الرسم فلقد اخترت حفظه في C:\db\abc.mdw مع العلم ان الملف abc.mdw لم يكن موجودا عندما قمت بالنقر على الزر استعراض.. ، فلقد اخترت المجلد وكتبت اسم الملف ، حيث ان المعالج سيقوم بانشائه في نهاية تلك العملية وما اريد ان انبه اليه في تلك الشاشة هو انك تستطيع تعميم الملف على كل برنامج الاكسس باختيارك الخيار اريد جعل هذا الملف ملف معلومات مجموعة العمل الافتراضي ، حيث بذلك ستستخدم كل قواعد البيانات الجديدة التي ستنشئها فيما بعد ملف للحماية ذلك ، وتلك خطوة لا انصح بها ، فانا افضل لكل قاعدة بيانات ملف حماية خاص بها ، مع ان ذلك الخيار جيد للمؤسسات الصغيرة التي تتعامل مع مجموعة قواعد بيانات فقط اذن ستصنع لك تلك الشاشة ملف لحماية قاعدة بياناتك ، وتذكر بانه لن تستطيع فتح قاعدة البيانات بعد ذلك بدون ملف الحماية وبعد النقر على التالي ستظهر لك الشاشة التالية وتلك الشاشة تستشيرك ان اردت ابقاء جزء من الكائنات في قاعدة بياناتك غير مؤمن ، اي عام والكل يستطيع الوصول اليه ، وفي معظم الاحيان لا يوجد شخص يرغب بذلك ، لذلك انقر على الزر التالي ستظهر لك شاشة حماية الكود الخاص بقاعدة البيانات التالية الحماية على الكود في قاعدة البيانات تتم عن طريق كلمة سر ، ولذك حتى ان مكنت مستخدم من المستخدمين لبرنامجك القيام بكل شيئ في البرنامج ، فستمنعه بواسطة كلمة السر الخاصة بالكود بان يصل اليه ويعبث به ، وتعتبر تلك مميزة رائعة بعد كتابة كلمة السر انقر على زر التالي تلك هي المجموعات الافتراضية التي تنصحك أكسس باستخدامها ، وتستطيع اختيار ما يناسبك منها لتضعة في ملف الحماية الخاص بقاعدة البيانات صراحةً تلك المجموعات قد تظهر غير مفهومة في البداية ولكنها مريحة جدا ، فتخيل انك اردت ان يقوم احد المستخدمين بعمل النسخ الاحتياطية لقاعدة البيانات ، فبدل من ان تقوم بتحديد الصلاحيات له على كل نموذج وجدول وتقرير على حده ، فانت تستطيع ببساطة اضافته الى مجموعة عوامل تشغيل النسخ الاحتياطي ، وبذلك هو سيرث كل الصلاحيات الخاصة بذلك ، طبعا انت قادر على تعديل الصلاحيات على كل مجموعة بعد ذلك ، وحتى اضافة او حذف بعض المجموعات بعد ان تحدد المجموعات التي ترغب بها ، لنقر على الزر التالي ستظهر لك الشاشة التاية والتي تحدد الصلاحيات الخاصة بمجموعة معينة في اكسس وهي مجموعة كافة المستخدمين تذكر دائما ، بان كل الحسابات الخاصة بمستخدمين قاعدة البيانات تلك هم اعضاء في تلك المجموعة ، فلو اردت ان يتمكن الجميع من الوصول الى شاشة او جدول معين ، فتستطيع ان تختار ذلك الجدول هنا ، وتذكر بان كل المستخدمين الحاليين والجدد الذين ستضيفهم الى قاعدة البيانات تلك سيتمكنوا من الوصول الى ذلك الجدول او الشاشة ، حتى ولو منعت بعضهم من ذلك عن طريق الصلاحيات الخاصة بالمستخدم فيما بعد يفضل ابقاء الشاشة كما هي والنقر على زر التالي حيث ستظهر لك الشاشة التالية والتي تطلب منك انشاء حسابات المستخدمين وفي مثالنا هنا ، فانا لدي مستخدم واحد فقط ، تستطيع القيام بانشاء حسايات للمستخدمين فيما بعد ، انقر التالي لظهور الشاشة التالية تساعدك تلك الشاشة في تخصيص المستخدمين الى المجموعات المختلفة ، ولكنك تستطيع القيام بذلك لاحقا ، ولكنني اريد ان الفت انتباهك بانه على مستخدم واحد على الاقل ان يبقى ضمن مجموعة المدراء ، والا فلن تستطيع فتح قاعدة البيانات من جديد ، واجراء التعديلات على الصلاحيات فيها انقر على الزر التالي لتظهر لك الشاشة الاخيرة والتي تنبهك باجراء نسخة احتياطية من قاعدة بياناتك ، ففي حال حدث وان اردت التراجع عن نظام الصلاحيات ، فستبقى لديك نسخة لذلك تستطيع الان الضغط على الزر انهاء ، ليتم حماية قاعدة بياناتك وعند النظر الى النتيجة ستجد ان المعالج كون لك أربعة ملفات وهما قاعدة البيانات الاساسية abc.mdb نسخة احتياطية من قاعدة البيانات abc.bak ملف الحماية الذي يحتوي على حسابات المستخدمين abc.mdw ومؤشر على الشاشة يؤشر الى قاعدة البيانات المؤمنة وحقيقةً انه يحتوي على التالي : "D:\Program Files\Microsoft Office\Office\MSACCESS.EXE" "C:\db\abc.mdb" /WRKGRP "C:\db\abc.mdw" فبدونه لن تستطيع فتح قواعد البيانات ن وفي حالة نقل قاعدة البيانات الى مكان جديد في القرص الصلب فعليك ان تقوم بالتعديلات في السطر السابق ايضا تذكر دائما بان اكسس يحتوي على مجموعتين دائمتين احدهما "مستخدمون" حيث انها تحتوي على كل المستخدمين ، والثانية "مسؤولون" وتحتوي على مدراء قاعدة البيانات وفي مثالنا السابق قد حذفنا كل الصلاحيات عن المجموعة الاولى لنحمي قاعدة بياناتنا تذكر ايضا بان أكسس يحتوي على حساب بالاسم "مسؤول" وهو اشتراك لا يمكن حذفه ، وان قمت باعطائه صلاحيات فقد يتمكن الجميع ايضا من الوصول الى قاعدة بياناتك ، لذلك عندما تفتح المجموعات ستجد بان ذلك الحساب اضيف الى مجموعة المستخدمين وهكذا انتهت صلاحياته ان اردت اضافة اية مستخدمين جدد فتستطيع القيام بذلك من القائمة التي طبعتها اول الرسالة من اذونات المستخدمين والمجموعات... ومن ثم تستطيع تعديل صلاحياتهم من حسابات المستخدمين والمجموعات... وساشرح ذلك بصورة افضل في الرسالة القادمة الان ان اردت ان تضع قاعدة البيانات تلك على شبكة كومبيوتر مثلا ، فلا تنسى نسخ المؤشر ووضعه على اجهزة المستخدمين .... أنتهى وبالله التوفق تحياتي
  7. أعد النظر في خصائص النموذج إجابة السؤال الثاني " لا يوجد بيانات"MsgBox Cancel = True حدث عند عدم وجود بيانات
  8. أجعل في الاستعلام حتى حقل العمر المعيار التالي between 25 and 40 ثم أجعل الفرز تصاعدي تحياتي
  9. هو كما قال أخي أبو يعلى وسبب المشكلة أن النموذج منبثق أجعل النموذج غير منبثق تجد هذا في خصائص النموذج
  10. مرفق مثال يوضح ما طلبت تحياتي http://www.officena.net/ib/index.php?showtopic=232
  11. أفتح أي وحدة نمطية من قايمة tools أختر البند الأخير 2. ثم أفتح protection 3. ضع علامة صح أمام lock project 4. أكتب كلمة المرور وتأكيدها في الاسفل
  12. بالنسبة للسؤال الأول موجود مثال أعتقد أنه لأستاذنا محمد طاهر في هذا المنتدي أبحث عنه وسوف أبحث عنه أيضاً لك تحياتي
  13. أخي أفتح الجدول وأضف حقل جديد وسمه مثلاً الصورة وضعه كائن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
  14. أخي الكريم هو كما ذكرت لك وعملت مثال لترى تحياتي db1.rar
  15. http://www.officena.net/ib/index.php?showtopic=759&hl=صورة http://www.officena.net/ib/index.php?showt...566&hl=كائن+ole
×
×
  • اضف...

Important Information