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

جعل السجلات تحذف تلقائياً بعد مدة معينة نحددها

مغلق
بدأه ngsgate في 3 سبتمبر 2006 · 8 رد · 647 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

وياليت لو تكرمون بمثال صغيرون.

طفشت من البحث الي ما قدرت اوصل للطريقة.

#2

انا ايضا اريد ان اعرف ياريت حد يقول لنا الطريقة

#3

السلام عليكم

اخواني الكرام

مرفق نموزج

قم بتسجيل اي عدد من السجلات ثم اغلق النموزج

وعند فتح النموزج مرة اخري سيتم حذف السجلات التي مر علي تسجيلها 10 ثواني

الدوال المستخدمة Dcount --- for to next - If Then

وبالله التوفيق

asd.rar

Microsoft Certified DataBase Administrator MCDBA

#4

يا أخي الكريم إذا كان تبغى في SQL-Server أو الأوراكل فبسيطة تعمل وظيفة .

أما الآكسس فلا أعرف إلا عمل تشييك كل عملية معينة في نموذج معين إذا كان تاريخ السجل أصغر من التاريخ الحالي بعشرة أيام يحذفه .

أنك تعمل كود بنفسك .

هذا والله أعلم .

#5

وهذا مثال آخر ... عند فتح النموذج f_del

DEL_REC.rar

mk17481_26bccea871.gif
#6

شكرا لاهتمامكم والرد علي

ahamied

بالنسبة للكود اللي استخدمته

Option Compare Database

Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer)
Responds = Data_ErrContinu
End Sub

Private Sub Form_Current()
If IsNull(Me.DDD) Then
Me.DDD = Now()
End If
End Sub

Private Sub Form_Open(Cancel As Integer)

DoCmd.GoToRecord acDataForm, "Formdel", acFirst
For h = 1 To DCount("*", "Table1") - 1
If (Now() - Me.DDD) * 1444 > 10 Then
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
DoCmd.GoToRecord acDataForm, "Formdel", acNext
On Error GoTo ArabTeam:

End If
Next h

ArabTeam:
SendKeys "{ESC}"
End Sub

يا ليت توضح لي لماذا تم الضرب بالرقم 1444

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

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

:P .

#7

السلام عليكم

اخي الكريم

اولا اعتذر عن الخطأ --- فان السجلات تحذف تلاقائيا عند اعادة فتج النموزج بعد 10 دقائق وليس 10 ثواني

اما عن سؤالك

-كما تفضل الاخ الكريم إبراهيم بخش بان هذا ممكن فى SQL فقط اما الاكسس فلا توجد فيه هذه الخصيصة ان تتم من خلال الجداول فقط.

-الرقم 1444 هو من معاملات الثوابت للتحويل من ارقام الي دقائق حيث 1444 = 1 دقيقة

اما اذا كنت تريد الفترة 7 ايام يمكن استخدام الدالة day ليكون السطر البديل هو

If (Day(Now()) -Day( Me.DDD)) > 7 Then

او يمكن استخدام الدالة Month للاشهر او الدالة year للسنوات

وبالله التوفيق

تم تعديل هذه المشاركة بواسطة ahamied في 6 سبتمبر 2006 في 12:28

Microsoft Certified DataBase Administrator MCDBA

#8

ahamied

مشكور وما قصرت

يعني الله يعين لازم اتعلم SQL

#9

السلام عليكم

اخي الكريم ngsgate

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

لكن بتحاج لغة برمجة للتعامل مع البانات

بالله التوفيق

Microsoft Certified DataBase Administrator MCDBA

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

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