الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

*حماية* رسالة تنبيه لحفظ البيانات في وقت محدد وإخفاء الجداول بالكود

مغلق
بدأه مصلح الحريصي في 9 ديسمبر 2001 · 15 رد · 4,061 مشاهدة · في قسم الأرشيف و المواضيع المميزه
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

اخوكم محتاج لحلول سريعة للأتي:

أ_ رسالة تذكر المستخدم بضرورة حفظ البيانات في أحد الأقراص تظهر هذه الرسالة في وقت يحدده المستخدم مثل0

رسالة تظهر كل (يوم الساعة 2.30 بعد الظهر ) تحتوي على الأتي : يجب حفظ البيانات المدخلة لهذ اليوم0

ب _ شفرة برمجية لإخفاء أي جدول من إطار قاعدة البيانات غير الطريقة المعتادة في الكائنات المخفية في قائمة خيارات وتظهر بيانات الجدول في نموذج ولا يظهر الجدول إلا بكلمة مرور خاصة به0

ج _ كيف يتم استخدام الوقت Timer في أكسيس مثل الفيجول بيسك بالضبط أي تظهر الأرقام في مربع نص على شكل ثواني فقط (من 1 إلى 60 )

د _ شفرة على قاعة البيانات عند نسخها أو نقلها تظهر رسالة تطلب إدخال كلمة مرور كلمة مرور

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

:D :D :)

#2

الأخ 5060

وعليكم السلام ورحمة الله وبركاته

أ- أنشئ نموذج جديد وفي حدث عند عداد الوقت ضع الكود التالي :

If Time() = "02:30:00 م" Then
MsgBox "يجب حفظ البيانات المدخلة لهذ اليوم0"
End If

وفي الفاصل الزمني لعداد الوقت ضع 60000 ( كل 1000 تساوي ا ثانية) يعني هنا أنه سيتأكد من الوقت كل واحد دقيقة .

احفظ النموذج باسم مثلا نموذج التنبيه .

الآن أنشئ ماكرو جديد وفي إجراء اختر OpenForm وفي الأسفل في اسم النموذج اختر نموذج التنبيه ، وفي وضع الإطار اختر مخفي .

ثم احفظ الماكرو باسم AutoExec الان أعد تشغيل القاعدة .

ب- سبق الكلام عن إخفاء الجداول وكذلك وضع كلمة سرية فابحث في المواضيع وستجد إن شاء الله بغيتك .

ج- هل تقصد إنشاء ساعة رقمية أم ماذا ؟

د- النسخ والنقل الخارجي لايوجد حسب علمي ولكن يمكن استخدام بعض البرامج التي تشفر المجلدات فلا تفتح إلا بكلمة سرية .

ولك تحياتي

#3

الأخ ابو حمود

بارك الله فيك وزادك علما0

بالنسبة لموضوع إخفاء الجداول فلم أجد هذا الموضوع فقد بحثت كثيراً0

بالنسبة للـ Timer فأود بأن أصنع أحداث على الوقت مثل حركة النصوص والصور ووووو الخ: إن كان ذلك ممكناً 0

وما تقدموا من خير تجدوه عند الله

#4

موضوع إخفاء الجداول على الرابط :

http://www.arabteam2000.com/vb/showthread....%C7%CE%DD%C7%C1

أما جعل كلمة مرور خاصة فانظر هذا الرابط ففيه موضوع شيق للأخ ابوهاني عن كلمة السر :

http://www.arabteam2000.com/vb/showthread....ht=%C7%E1%D3%D1

وبالنسبة لحدث المؤقت أظهر صفحة الخائص للنموذج ثم في صفحة التبويب حدث تجد في الأسفل عند عداد الوقت انقر مرتين تظهر كلمة [إجراء حدث] انقر على المربع الصغير على اليسار تفتح لك الوحدة النمطية اكتب الإجراءات المطلوبة وأما تحديد وقت الحدث فأسفل من الحدث تجد الفاصل الزمني لعداد الوقت اكتب اي رقم مناسب مع ملاحظة أن الثانية تساوي 1000 .

ولك تحياتي

#5

الأخ ابو حمود

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

ولا املك لإ ان اشكر جميع القائمين على هذا المنتدى والأعضاء جزيل الشكر فهم بحق يستاهلون ذلك0 فهنا ظهر التميز والإبداع

على فكرة عبارات الشكر ليست مجاملة حتى احصل على ما اريد من معلومات فأنا واثق بان لمعلومات التي اريدها سأجدها من دون ذلك ولكنكم فعلاً تستحقون 0

وفق الله الجميع وسدد خطاهم0

#6

وفقك الله وزادك الله علماً .

والمطلوب من كل الأخوة -وهو الأساس القائم عليه هذا المنتدى- بلا استثناء المشاركة وتبادل الخبرات ونشر الفوائد وكما تحب أن ينفعك الآخرون ويساعدونك في حل مشكلتك فهم لديهم نفس الشعور وبالتعاون وبذل الجهد للغير يتم هذا التعاون المبارك إن شاء الله .

والكلام السابق للجميع وليس موجهاً لشخص بعينه .

وللجميع التحية

#7

أود لو يتكرم الأخ ابو حمود مشكوراً

بقليلاً من الشرح لطريقة الأكواد الخاصة بالجداول حيث وأنه لا توجد للجداول أحداث فهل:

1 _ يتم كتابة الأكواد في وحدة نمطية ويتم إستدعاء تلك الأكواد بواسطة زر أمر على نموذج أو

2 _ وضع الأكواد على أزرار أمر على نموذج0

أود الإضاح كرماً0

**************************************************

#8

الأخ

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

ولك تحياتي

#9

الإستاذ ابو حمود

السلام عليكم ورحمة الله وبركاته

كتب كود التالي لإخفاء الجدول

_______________________________________________

Dim obj As AccessObject, dbs As Object

Set dbs = Application.CurrentData

For Each obj In dbs.AllTables

SetHiddenAttribute acTable, obj.Name, True

Next obj

_______________________________________________

إلا انها تظهر رسالة خطأ تحمل الرقم 2016 ومضمونها لا يمكن تعديل سمات جدول النظام0

كذلك كود إظهار الجدول

Dim dbs As Database, tdf As TableDef

Set dbs = CurrentDb

For Each tdf In dbs.TableDefs

tdf.Attributes = tdf.Attributes - dbHiddenObject

Next tdf

Set dbs = Nothing

يظهر السطر التالي مضلل بالأصفر

dbs As Database

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

أيضاً رسالة التنبية لا تعمل

والسلام عليكم ورحمة الله

#10

الأخ 5060

اكتب هذا السطر بين For وNext وامسح السطر الموجود بينهما :

If Left(obj.Name, 4) <> "MSys" Then SetHiddenAttribute acTable, obj.Name, True

وللإظهار انسخ نفس الكود واستبدل True في آخر السطر بـ False

ولاحظ أن الكود يخفي الجداول المحلية والمرتبطة .

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

الكود التالي لإخفاء الجداول ويمنع الإظهار بطريقة مربع الحوار خيارات :

Dim db As Database
Dim obj As AccessObject, dbs As Object
Dim tdf As TableDef

Set dbs = Application.CurrentData
Set db = CurrentDb

For Each obj In dbs.AllTables
Set tdf = db.TableDefs(obj.Name)
If Left(tdf.Name, 4) <> "msys" And tdf.Attributes <> 1073741824 Then
tdf.Attributes = tdf.Attributes + dbHiddenObject
End If
Next

Set tbl = Nothing
db.Close
Set db = Nothing

الكود التالي لإظهار الجداول بعد إخفائها بالطريقة السابقة :

' إظهار الطريقة الثانية

Dim dbs As Database, tdf As TableDef

    Set dbs = CurrentDb
    For Each tdf In dbs.TableDefs
    If Left(tdf.Name, 4) <> "msys" And tdf.Attributes <> 1073741824 _
    And tdf.Attributes = 1 Then
            tdf.Attributes = tdf.Attributes - dbHiddenObject
    End If
    Next tdf
    Set dbs = Nothing

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

أما التنبيه فصف لي ماعملته .

ولك تحياتي

#11

الأخوة الأعزاء

السلام عليكم ورحمة الله وبركاته

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

هل البرنامج لم يصل ؟

ام هل هناك ما يمنع ؟

حفظ الله الجميع

***********************************************

#12

هذا مثال على الأكواد السابقة :

http://mypage.ayna.com/h_h123/HidTable.zip

ولك تحياتي

#13

الاستاذ ابو حمود

شكراً على الرد السريع والمثال فهو بحق رائع ولكن الأكواد تخفي جميع الجداول هل بإمكاني إخفاء جدول واحد فقط أحدده بنفسي لأن بعض الجداول لا أريد ان تختفي0

ولك شكري وتقديري

[movel]زادكم الله علم ونور في الدينا والأخرة[/movel]

#14

5060

الأخ الكريم لو وضحت طلبك من الأول لكان أسهل في وضعه في المثال لذلك سأغير في الكود فقط :

كود الزر الأيمن العلوي :

Private Sub إخفاء_مع_إظهار_بالخيارات_Click()
Dim obj As AccessObject, dbs As Object

Set dbs = Application.CurrentData
For Each obj In dbs.AllTables
If Left(obj.Name, 4) <> "MSys" Then
If obj.Name = "اسم الجدول" Then SetHiddenAttribute acTable, obj.Name, True
End If
Next obj
Call عرض_صفحة_الجداول
End Sub

كود الزر الأيسر العلوي :

Private Sub إظهار_مع_إخفائها_بالخيارات_Click()
Dim obj As AccessObject, dbs As Object

Set dbs = Application.CurrentData
For Each obj In dbs.AllTables
If Left(obj.Name, 4) <> "MSys" Then
If obj.Name = "اسم الجدول" Then SetHiddenAttribute acTable, obj.Name, False
End If
Next obj
Call عرض_صفحة_الجداول
End Sub

كود الزر الأيمن السفلي :

Private Sub إخفاء_مع_عدم_إظهارها_بالخيارات_Click()
Dim db As Database
Dim obj As AccessObject, dbs As Object
Dim tdf As TableDef

Set dbs = Application.CurrentData
Set db = CurrentDb

For Each obj In dbs.AllTables
Set tdf = db.TableDefs(obj.Name)
If Left(tdf.Name, 4) <> "msys" And tdf.Attributes <> 1073741824 Then
If tdf.Name = "اسم الجدول" Then tdf.Attributes = tdf.Attributes + dbHiddenObject
End If
Next

Set tbl = Nothing
db.Close
Set db = Nothing
Call عرض_صفحة_الجداول
End Sub

كود الزر الأيسر السفلي :

Private Sub إظهار_مع_عدم_إظهارها_بالخيارات_Click()
Dim dbs As Database, tdf As TableDef

    Set dbs = CurrentDb
    For Each tdf In dbs.TableDefs
    If Left(tdf.Name, 4) <> "msys" And tdf.Attributes <> 1073741824 _
    And tdf.Attributes = 1 Then
    If tdf.Name = "اسم الجدول" Then tdf.Attributes = tdf.Attributes - dbHiddenObject
    End If
    Next tdf
    Set dbs = Nothing
Call عرض_صفحة_الجداول
End Sub

غير عبارة اسم الجدول في الكود باسم الجدول لديك .

ولك تحياتي

#15

الأخوة الكرام

السلام عليكم ورحمة الله وبركاته

أود أن أشكر الجميع وأخص بالشكر الأخ ابو حمود فكان له نصيب الأسد في الرد وهو أهل لذلك0

الأخ ابو حمود الرجاء عدم المؤاخذة في عدم الإيضاح عن الطريقة الصحيحة فالقصور منا ومنكم العذر 0

بالنسبة لهذا الموضوع بفضل الله عز وجل ثم بخبراتكم تم التوصل لما نريد عن طريق الأكواد ولأمثلة التي وصلتني منكم ولا نملك إلا الشكر والعرفان 0 بارك الله فيك0

#16

مثال للاخ حارث

http://www14.brinkster.com/mtarafa/forms/H...ll22-Harith.zip

هذا الموضوع مغلق.

مواضيع مشابهة